类 | |
类 | rmm::mr::aligned_resource_adaptor< Upstream > |
将 Upstream 内存资源适配为按指定对齐大小分配内存的资源。 更多... | |
类 | rmm::mr::failure_callback_resource_adaptor< Upstream, ExceptionType > |
当分配操作抛出指定异常类型时调用回调函数的设备内存资源。 更多... | |
类 | rmm::mr::limiting_resource_adaptor< Upstream > |
使用 Upstream 分配内存并限制总分配量的资源。 更多... | |
类 | rmm::mr::logging_resource_adaptor< Upstream > |
使用 Upstream 分配内存并记录请求的分配/释放信息的资源。 更多... | |
类 | rmm::mr::owning_wrapper< Resource, Upstreams > |
维护上游资源生命周期的资源适配器。 更多... | |
类 | rmm::mr::prefetch_resource_adaptor< Upstream > |
预取所有内存分配的资源。 更多... | |
类 | rmm::mr::statistics_resource_adaptor< Upstream > |
使用 Upstream 分配内存并跟踪内存分配统计信息的资源。 更多... | |
类 | rmm::mr::thread_safe_resource_adaptor< Upstream > |
将 Upstream 内存资源适配器适配为线程安全的资源。 更多... | |
类 | rmm::mr::thrust_allocator< T > |
一个与 Thrust 容器和算法兼容的 allocator ,使用 device_async_resource_ref 进行内存分配和释放。 更多... | |
类 | rmm::mr::tracking_resource_adaptor< Upstream > |
使用 Upstream 分配内存并跟踪分配的资源。 更多... | |
类型定义 | |
使用 | rmm::mr::failure_callback_t = std::function< bool(std::size_t, void *)> |
由 failure_callback_resource_adaptor 使用的回调函数类型。 更多... | |
函数 | |
template<template< typename... > class Resource, typename... Upstreams, typename... Args> | |
auto | rmm::mr::make_owning_wrapper (std::tuple< std::shared_ptr< Upstreams >... > upstreams, Args &&... args) |
构造一个类型为 Resource 的资源,该资源被包裹在 ```` owning_wrapper``` 中,使用 upstreams 作为上游资源,args 作为 Resource 构造函数的附加参数。 更多... | |
template<template< typename > class Resource, typename Upstream , typename... Args> | |
auto | rmm::mr::make_owning_wrapper (std::shared_ptr< Upstream > upstream, Args &&... args) |
当 Resource 只有一个上游资源时,为 ```` owning_wrapper``` 提供的额外便利工厂函数。 更多... | |
使用 rmm::mr::failure_callback_t = typedef std::function<bool(std::size_t, void*)> |
由 failure_callback_resource_adaptor 使用的回调函数类型。
当内存分配抛出指定异常类型时,资源适配器会调用此函数。函数决定资源适配器是应尝试再次分配内存还是重新抛出异常。
回调函数签名如下: bool failure_callback_t(std::size_t bytes, void* callback_arg)
回调函数接收两个参数:bytes
是失败的内存分配大小,arg
是传递给 failure_callback_resource_adaptor 构造函数的额外参数。回调函数返回一个布尔值,其中 true 表示重试内存分配,false 表示重新抛出异常。
auto rmm::mr::make_owning_wrapper | ( | std::shared_ptr< Upstream > | upstream, |
Args &&... | args | ||
) |
当 Resource
只有一个上游资源时,为 ```` owning_wrapper``` 提供的额外便利工厂函数。
当资源只有一个上游时,构建包含该上游资源的 std::tuple
可能会不方便。此工厂函数允许仅将单个上游指定为 std::shared_ptr
。
Resource | 要构造的包裹资源的类型 |
Upstream | 单个上游资源的类型 |
Args | `Resource` 构造函数中使用的参数类型 |
upstream | 指向该上游资源的 std::shared_ptr |
args | 要转发给包裹资源构造函数的参数包 |
Resource<Upstream>
和 upstream
。auto rmm::mr::make_owning_wrapper | ( | std::tuple< std::shared_ptr< Upstreams >... > | upstreams, |
Args &&... | args | ||
) |
构造一个类型为 Resource
的资源,该资源被包裹在 ```` owning_wrapper``` 中,使用 upstreams
作为上游资源,args
作为 Resource
构造函数的附加参数。
Resource | 指定要构造的包裹资源类型的模板模板参数 |
Upstreams | 上游资源的类型 |
Args | `Resource` 构造函数中使用的参数类型 |
upstreams | 包裹资源使用的上游资源的 std::shared_ptr 元组,顺序与 Resource 构造函数期望的顺序相同。 |
args | 要转发给包裹资源构造函数的参数包 |
Resource<Upstreams...>
和 upstreams
。