fft#
-
nvmath.
device. fft(*, compiler=None, **kwargs)[source]# 创建一个
FFTOptions
对象,该对象封装了一个已编译且可直接使用的 FFT 设备函数。- 参数:
size (int) – 要计算的 FFT 的大小。
precision (str) – 计算精度,指定为 numpy 浮点数据类型,目前支持
numpy.float16
、numpy.float32
和numpy.float64
。fft_type (str) – 指定 FFT 操作类型的字符串,可以是
'c2c'
,'c2r'
或'r2c'
。compiler (str) – 指定设备代码编译器的字符串,目前支持
None
(默认) 和'Numba'
code_type (CodeType) – 目标 GPU 代码和计算能力。如果编译器指定为
'Numba'
,则为可选参数。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 (在) –
'complex_layout'
,目前支持'natural'
、'packed'
和'full'
。'real_mode'
,目前支持'normal'
和'folded'
。
另请参阅
FFTOptions
的属性提供了与 CUDA C++ cuFFTDx API 的 1:1 映射。 有关更多详细信息,请参阅 cuFFTDx 文档。示例
示例可以在 nvmath/examples/device 目录中找到。