Integrating ODES on GPU?

21 次查看(过去 30 天)
Hi there: I am having a tough time integrating odes on my GPU in MATLAB. I have tried MATLAB ode solvers which, of course, didn't work. I tried a simple Euler solver to execute through 'arrayfun' which didn't worked either. It looks like a lot of functionality is not yet supported for computation on GPUs. Please help me out if I am not aware of something or if there is an easy way out. I am running MATLAB R2011b on Windows 8. Thanks, Shiv
  5 个评论
Carlos Ricagno
Carlos Ricagno 2015-10-29
I have the same problem, parfor is a good option, but i need more power, If somebody knows how to implement ode in gpu would be great,
Tuan  Pham
Tuan Pham 2017-3-8
I am also in need of an ode in gpu and was wondering if any resources are available in MATLAB?

请先登录,再进行评论。

采纳的回答

Geng
Geng 2012-12-27
Higher matlab versions includes more functions, but still too few to solve an ODE or a PDE. Arrayfun is a good tool with unexpected flaws. The best way to implement an ODE solver on GPU with matlab is matlab-with-CUDA. First you write the parallel parts in CUDA (.cu file) and compell out a '.ptx' file using whatever method. Then with the .cu and .ptx file, you can obtain a matlab parallel function. You will get more from the Parallel Computing Toolbox introduction document of matlab.
  1 个评论
Shiv Tewari
Shiv Tewari 2012-12-30
Thanks Geng. I am also heading to the same solution. - Shiv

请先登录,再进行评论。

更多回答(1 个)

majid
majid 2019-1-6
Have you made any progress Shiv?! I could not find any material regarding CUDA and ODE for Matlab! Any help is appreciated.
  3 个评论
Hamid Osooli
Hamid Osooli 2020-7-26
Try this one
https://github.com/astroHaoPeng/ode45gpu
Gonzalo Villegas Curulla
Dear Hamid,
Please inspect the error message below when running Test_02_RTBP.m in your github repo:
"
Error using gpuArray/arrayfun
Unable to resolve the function handle.
Error in Test_02_RTBP (line 36)
[TGPU,YGPU1,YGPU2,YGPU3,YGPU4,YGPU5,YGPU6,FLAG] =
arrayfun(@ode45GPU_simple,tspan(1),tspan(end),y0GPU(:,1),y0GPU(:,2),y0GPU(:,3),y0GPU(:,4),y0GPU(:,5),y0GPU(:,6),AbsTol,RelTol,0.001,mu,e);
"

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by