回答
你明白,卷積通常是通過使用FFT做了什麼?例如,請參見http://en.wikipedia.org/wiki/Convolution
因此您需要一個fft庫。
Fastest method to compute convolution建議http://www.fftw.org/(對於傳統的CPU)。
對CUDA,使用CUFFT - http://www.gsic.titech.ac.jp/~ccwww/tebiki/tesla_e/tesla6_e.html
您註冊開發者?如果是這樣,你應該下載3.0 SDK,並檢查FDTD3d示例顯示一個三維卷積應用於顯式有限差分應用程序。在2.3 SDK中有一個名爲3dfd的樣本,它相似(現在已被替換)。
如果你的脈衝響應很短,使用這種方法而不是FFT可能更有效。
您可以在http://www.nvidia.com/object/cuda_get.html上註冊,點擊「現在申請」。或者,您可以查看當前SDK中的3dfd示例,這些概念保持不變。 – Tom 2009-12-24 09:49:29
英特爾有一個很好的例子 - 使用SSE + OpenMP及其串行版本。該代碼主要是爲了描述串行和並行方法,但是以一種很好的方式完成。 http://software.intel.com/en-us/articles/16bit-3d-convolution-sse4openmp-implementation-on-penryn-cpu/
- 1. C++ STL卷積
- 2. 解卷積C++
- 3. 使用英特爾MKL的3D卷積
- 4. 卷積在OpenCV中C++
- 5. 卷積神經網絡和3D圖像
- 6. Golang中的卷積
- 7. C中邊緣檢測的卷積
- 8. C CUDA卷積bug(s)
- 9. 轉置卷積(反捲積)算法
- 10. 搜索庫的基於3D fft的卷積
- 11. python中的2D卷積
- 12. Tensorflow中的Dialated卷積
- 13. 密度的卷積
- 14. Matlab的卷積碼
- 15. 卷積在MATLAB
- 16. 卷積在Python
- 17. 卷積核
- 18. Tensorflow:在卷積
- 19. 如何在CUDA中執行零卷積以進行卷積
- 20. 3D卷積神經網絡輸入形狀
- 21. C++圖像內核環繞卷積
- 22. 空間卷積與頻率卷積圖像的逆濾波器
- 23. 卷積去卷積對給出了略有不同的維度
- 24. Keras中的卷積層中的權重
- 25. java圖像卷積
- 26. CUDA 2D卷積核
- 27. 與caffe解卷積
- 28. DenseNet沒有卷積?
- 29. 這是在普通卷積神經網絡中進行的基本卷積嗎?
- 30. 卷積神經網絡中並行和順序卷積之間的區別
對於小型內核,在有硬件支持的情況下(例如,用於4x4或8x8內核的GPU),使用矩陣卷積有時會更快。對於大內核來說,傅立葉肯定是個大男人。 – Crashworks 2009-12-23 01:00:20
FWIW,cufft文檔的原始文件位於:http://www.nvidia.com/object/cuda_develop.html – 2009-12-23 01:03:05