VkFFT-Vulkan快速傅立叶变换库

2020-09-28 07:06:10

VkFFT是一个用于Vulkan项目的高效GPU加速多维快速傅立叶变换库。VkFFT旨在为社区提供NVIDIA的cuFFT库的开源替代方案,同时实现更好的性能。VkFFT是用C语言编写的。

我想找一份对我的技能可能感兴趣的博士职位/工作。通过电子邮件联系我:[email protected]|[email protected]

如果您尝试了提供的VkFFT和cuFFT基准脚本,如果您通过电子邮件或GitHub问题将结果发送给我,我将非常感激。

支持较大的FFT维度大小。电流限制:C2C-(2^24,2^15,2^15),C2R/R2C-(2^14,2^15,2^15),寄存器过度使用。(稍后将增加)。Y轴和z轴由于Vulkan maxComputeWorkGroupCount而被封顶,稍后将增加。在>;2通过BIG FFT算法测试后,X轴大小也将得到改进。

所有转换都就地执行,不会造成性能损失。通过选择不同的输入/输出缓冲区来支持错位转换。

不能换位。注:数据在四阶段FFT算法之后不会重新洗牌(对于大序列)。卷积并不重要-它们返回到输入顺序。

复数到复数(C2C)、实数到复数(R2C)和复数到实数(C2R)转换。R2C和C2R经过优化,运行速度最高可比C2C快2倍(仅限2D和3D情况)。

使用对称或非对称内核的1x1、2x2、3x3卷积(仅适用于NVIDIA上最后一维的一次上传最后大小-1k。将在下一次更新中更改)