图片缩略图

一种基于并行计算工具箱的CUDA加速光束传播方法[BPM]求解器

version 1.1.0.0 (5.89 KB) by 帕特里克·卡诺
使用并行计算工具箱中的CUDA功能的波束传播方法求解器。
4.5
2评级

6下载

更新2010年10月23日

视图版本历史

查看许可协议

并行计算工具箱版本5.0为MATLAB 2010b包括一个NVIDIA CUDA使用的初始能力。这个条目提供了一个简单的傍轴光束传播方法[BPM]求解器,它利用了新增的GPU能力。还提供了一个脚本,使用标准MATLAB傅里叶变换和GPU实现的变换运行BPM。对于较小的矩阵,标准的MATLAB方法似乎更快,而对于大于512x512元素的较大矩阵,CUDA方法的速度是前者的两倍多。

一个努力已经使程序,使它将运行在计算机上没有并行计算工具箱或NVIDIA GPU。然而,只有这两个组件才能与标准MATLAB进行比较。

文件:

脚本ScrTimeBPM.m
包含一个如何运行主要函数CUDAparaxbpm.m的示例。
额外的文件
FunPlotSim.m
FunEfieldinit.m
FunRefractIdx.m
初始化字段,更新折射率剖面,并创建绘图。

引用:
1)www.tatmou.com/discovery/matlab-gpu.html
2) A. Weideman,线性色散波方程,http://dip.sun.ac.za/~weideman/research/waves.html
3)光波导基础,冈本出版社,2000。

引用作为

帕特里克·卡诺(2021)。一种基于并行计算工具箱的CUDA加速光束传播方法[BPM]求解器(//www.tatmou.com/matlabcentral/fileexchange/29114-a-cuda-accelerated-beam-propagation-method-bpm-solver-using-the-parallel-computing-toolbox), MATLAB中央文件交换。检索

意见及评分(3.

约翰Melonakos

感谢发布这段代码,非常酷的算法。我们已经让它与夹克一起运行,并在这里发布了结果和修改的代码:http://blog.accelereyes.com/blog/2010/11/05/beam_propagation_methods/

享受吧!

帕特里克·卡诺

你好大卫,
谢谢你的意见。我和我的同事对GPU加速很感兴趣。我对MATLAB 2010b并行计算工具箱中包含CUDA功能很感兴趣。
使用MATLAB+CUDA的动机主要是我自己的好奇心。光束传播方程的选择仅仅是基于我过去的经验。

在MathWorks网站上,
rn www.mathworks.de /帮助/工具箱/ distcomp / / bsloyak - 1. - html
我不相信2009b版本足以运行CUDA附加功能。

支持GPU功能的函数列表,如fft2,可以在这里找到:金宝app
www.mathworks.cn/help/toolbox/distcomp/bsic4fr - 1. - html

最后,使用fft2公司网站的一个相关例子如下:
= /products/demos/下载188bet金宝搏shipping/distcomp/paralleldemo_gpu_fft2.html www.tatmou.com/products/parallel-computing/demos.html ?文件

我很高兴听到我们有共同利益。
帕特里克

大卫Romero-Antequera

你好,帕特里克。我正在研究同一学科(某种程度上),这真是太巧了。然而,我没有最新的并行计算工具箱(PCTB),我想做一些问题。你选择使用CUDA而不是标准的并行计算(多核)是因为什么原因吗?在PCTB的新版本中FFT2是否并行化了(据我所知,我的版本只并行化了1D FFT)?顺便说一下,我用的是2009b。谢谢!

MATLAB版本兼容性
创建R2010b
与任何版本兼容
平台的兼容性
窗户 macOS Linux

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!