FFTOptions#

class nvmath.device.FFTOptions(
size,
precision,
fft_type,
code_type,
execution,
*,
direction=None,
ffts_per_block=None,
elements_per_thread=None,
real_fft_options=None,
)[source]#

一个封装了部分 FFT 设备函数的类。可以查询部分设备函数,以获取某些旋钮(例如 leading_dimensionblock_dim)的可用或最佳值。在通过 create() 最终确定之前,它不包含已编译的、可直接使用的设备函数。

参数:
  • size (int) – 要计算的 FFT 的大小。

  • precision (str) – 指定为 numpy 浮点 dtype 的计算精度,目前支持 numpy.float16numpy.float32numpy.float64

  • fft_type (str) – 指定 FFT 操作类型的字符串,可以是 'c2c''c2r''r2c'

  • code_type (CodeType) – 目标 GPU 代码和计算能力。

  • execution (str) – 指定执行方法的字符串,可以是 'Block''Thread'

  • direction (str) – 指定 FFT 方向的字符串,可以是 'forward''inverse'。如果未提供,则在指定复数到实数 FFT 时将为 'forward',在指定实数到复数 FFT 时将为 'inverse'

  • ffts_per_block (int) – CUDA 块计算的 FFT 数量,可选。默认值为 1。或者,如果提供 'suggested',则会设置为建议值

  • elements_per_thread (int) – 每个线程的元素数量,可选。默认值为 1。或者,如果提供 'suggested',则会设置为建议值。

  • real_fft_options (dict) – 指定实数 FFT 操作选项的字典,可选。用户可以指定以下选项

  • dictionary (in the) –

    • 'complex_layout',当前支持 'natural''packed''full'

    • 'real_mode',当前支持 'normal''folded

注意

该类不应通过其构造函数直接使用。建议用户使用 fft() 创建对象。

另请参阅

此类属性与 CUDA C++ cuFFTDx API 具有 1:1 的映射关系。有关更多详细信息,请参阅 cuFFTDx 文档

方法

__init__(
size,
precision,
fft_type,
code_type,
execution,
*,
direction=None,
ffts_per_block=None,
elements_per_thread=None,
real_fft_options=None,
)[source]#
create(**kwargs)[source]#
valid(*knobs)[source]#

属性

code_type#
direction#
elements_per_thread#
execution#
fft_type#
ffts_per_block#
precision#
real_fft_options#
size#