回答
你明白,卷积通常是通过使用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. 使用英特尔MKL的3D卷积
- 2. Golang中的卷积
- 3. C中边缘检测的卷积
- 4. C CUDA卷积bug(s)
- 5. 转置卷积(反卷积)算法
- 6. 搜索库的基于3D fft的卷积
- 7. Tensorflow中的Dialated卷积
- 8. python中的2D卷积
- 9. Matlab的卷积码
- 10. 卷积在Python
- 11. Tensorflow:在卷积
- 12. 3D卷积神经网络输入形状
- 13. 卷积去卷积对给出了略有不同的维度
- 14. Keras中的卷积层中的权重
- 15. 与caffe解卷积
- 16. 卷积神经网络中并行和顺序卷积之间的区别
- 17. 这是在普通卷积神经网络中进行的基本卷积吗?
- 18. numpy的点积(3D倍2D)
- 19. 两个pdf的卷积
- 20. FFT卷积 - 3x3的内核
- 21. 1卷积可以分成2个卷积吗?
- 22. 在matlab中查找3d峰的体积
- 23. 修正Tensorflow中的去卷积层
- 24. TensorFlow中的自定义空间卷积
- 25. 频域中的图像卷积(MATLAB)
- 26. python中的概率函数卷积
- 27. fft/ifft在Matlab中的解卷积
- 28. Tensorflow中的卷积与Conv2d函数
- 29. 为什么卷积滤波器在卷积神经网络中翻转?
- 30. python - 分别为每个通道3d数组与2d内核的卷积
对于小型内核,在有硬件支持的情况下(例如,用于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