<story><title>VkFFT – Vulkan Fast Fourier Transform Library</title><url>https://github.com/DTolm/VkFFT</url></story><parent_chain><item><author>slavik81</author><text>What are the common applications for these sorts of GPU-accelerated FFTs? We mostly just solved problems analytically in undergrad, and the little bit of naive coding we did seemed pretty fast. I feel like this must be used for problems I would have learned about in grad school, if I had continued in electrical engineering.</text></item></parent_chain><comment><author>DTolm</author><text>I have used VkFFT to create GPU version of a magnetic simulation software Spirit (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;DTolm&amp;#x2F;spirit&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;DTolm&amp;#x2F;spirit&lt;/a&gt;).
Except for FFT it also has a lot of general linear algebra routines, like efficient GPU reduce&amp;#x2F;scan and system solvers, like CG, LBFGS, VP, Runge-Kutta and Depondt. This version of Spirit is faster than CUDA based software that has been out and updated for ~6 years due to the fact that I have full control over all the code I use. You might want to check the discussions on reddit for this project: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.reddit.com&amp;#x2F;r&amp;#x2F;MachineLearning&amp;#x2F;comments&amp;#x2F;ilcw2f&amp;#x2F;p_vulkan_as_an_alternative_to_cuda_in_scientific&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.reddit.com&amp;#x2F;r&amp;#x2F;MachineLearning&amp;#x2F;comments&amp;#x2F;ilcw2f&amp;#x2F;p_v...&lt;/a&gt; and &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.reddit.com&amp;#x2F;r&amp;#x2F;programming&amp;#x2F;comments&amp;#x2F;il9sar&amp;#x2F;vulkan_as_an_alternative_to_cuda_in_scientific&amp;#x2F;&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.reddit.com&amp;#x2F;r&amp;#x2F;programming&amp;#x2F;comments&amp;#x2F;il9sar&amp;#x2F;vulkan_...&lt;/a&gt;</text></comment>
<story><title>VkFFT – Vulkan Fast Fourier Transform Library</title><url>https://github.com/DTolm/VkFFT</url></story><parent_chain><item><author>slavik81</author><text>What are the common applications for these sorts of GPU-accelerated FFTs? We mostly just solved problems analytically in undergrad, and the little bit of naive coding we did seemed pretty fast. I feel like this must be used for problems I would have learned about in grad school, if I had continued in electrical engineering.</text></item></parent_chain><comment><author>Reelin</author><text>Likely any HPC application that has an FFT somewhere in its pipeline and is otherwise amenable to being run on a GPU.&lt;p&gt;Fluid flow, heat transfer, and other such physical phenomena that you might want to simulate.&lt;p&gt;Phase correlation in image processing is another example. (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Phase_correlation&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Phase_correlation&lt;/a&gt;)&lt;p&gt;MD simulations rely on FFT but I&amp;#x27;m not sure how much is typically (or can be) done on the GPU. For example, NAMD employs cuFFT on the GPU in some cases. (&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;aip.scitation.org&amp;#x2F;doi&amp;#x2F;10.1063&amp;#x2F;5.0014475&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;aip.scitation.org&amp;#x2F;doi&amp;#x2F;10.1063&amp;#x2F;5.0014475&lt;/a&gt;)</text></comment>