cupy.fft._cache.PlanCache#
- class cupy.fft._cache.PlanCache(Py_ssize_t size=16, Py_ssize_t memsize=-1, int dev=-1)[源代码]#
一个用于 cuFFT 计划的、基于线程、基于设备、最少最近使用 (LRU) 的缓存。
- 参数:
注意
通过将
size
设置为0
(通过调用set_size()
) 或将memsize
设置为0
(通过调用set_memsize()
),可以禁用缓存,并且任何操作都将无效 (no-op)。要重新启用它,只需设置一个非零的size
和/或memsize
。用户可以实例化此类,但不建议这样做。相反,我们期望通过
get_plan_cache()
方法获取缓存句柄的以下标准用法模式:from cupy.cuda import Device from cupy.fft.config import get_plan_cache # get the cache for device n with Device(n): cache = get_plan_cache() cache.set_size(0) # disable the cache
特别是,设备
n
的缓存应在设备n
的上下文中进行操作。此类是线程安全的,因为它默认是按线程创建的。启动新线程时,直到调用
get_plan_cache()
或手动调用构造函数时,才会初始化新的缓存。对于多 GPU 计划,该计划将被添加到每个参与的 GPU 的缓存中。移除时(由任何一个缓存),该计划将从每个参与的 GPU 的缓存中移除。
此缓存支持迭代器协议,并返回一个 2 元组:
(key, node)
,从最近使用的计划开始。
方法
- __getitem__(key, /)#
返回 self[key]。
- __setitem__(key, value, /)#
将 self[key] 设置为 value。
- __iter__()#
实现 iter(self)。
- clear(self)#
- get(self, tuple key, default=None)#
- get_curr_memsize(self) Py_ssize_t #
- get_curr_size(self) Py_ssize_t #
- get_memsize(self) Py_ssize_t #
- get_size(self) Py_ssize_t #
- set_memsize(self, Py_ssize_t memsize)#
- set_size(self, Py_ssize_t size)#
- show_info(self)#
- __eq__(value, /)#
返回 self==value。
- __ne__(value, /)#
返回 self!=value。
- __lt__(value, /)#
返回 self<value。
- __le__(value, /)#
返回 self<=value。
- __gt__(value, /)#
返回 self>value。
- __ge__(value, /)#
返回 self>=value。