cupy.fft._cache.PlanCache#
- class cupy.fft._cache.PlanCache(Py_ssize_t size=16, Py_ssize_t memsize=-1, int dev=-1)[源代码]#
一个针对每个线程、每个设备的,最近最少使用(LRU)的 cuFFT 计划缓存。
- 参数:
备注
通过将
size设置为0(通过调用set_size())或memsize设置为0(通过调用set_memsize()),缓存将被禁用,任何操作都将无效。要重新启用它,只需设置一个非零的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 元组:
(键, 节点),从最近使用的计划开始。
方法
- __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。