From: Holger on
Hi!

I am currently trying to optimize parameters of a pretty complex Simulink model (fuel cell hybrid car). The parallel computation capabilities of Matlab's Evolutionary Algorithm Toolbox are unfortunately not sufficient for me since the fitness evaluation of one simulation takes about 30sec. With a population size of >1000, it is just too expensive. That's why I wrote my own GA code in C.

I have access to GPU computing (NVidia Tesla). However, I am fairly new to that field. I converted my Simulink model to C code using RealTime Workshop. Are there any CUDA experts out here who know if and how I can convert this code to CUDA? And if so, is it possible to use the entire code as a kernel? Ideally, I want to evaluate at least 1000 simulations at the same time on my GPU? Possible?

Thank you for your help,
Holger
From: John Melonakos on
"Holger " <volker.schwarzer(a)gmail.com> wrote in message <i2l85d$7ih$1(a)fred.mathworks.com>...
> Hi!
>
> I am currently trying to optimize parameters of a pretty complex Simulink model (fuel cell hybrid car). The parallel computation capabilities of Matlab's Evolutionary Algorithm Toolbox are unfortunately not sufficient for me since the fitness evaluation of one simulation takes about 30sec. With a population size of >1000, it is just too expensive. That's why I wrote my own GA code in C.
>
> I have access to GPU computing (NVidia Tesla). However, I am fairly new to that field. I converted my Simulink model to C code using RealTime Workshop. Are there any CUDA experts out here who know if and how I can convert this code to CUDA? And if so, is it possible to use the entire code as a kernel? Ideally, I want to evaluate at least 1000 simulations at the same time on my GPU? Possible?
>
> Thank you for your help,
> Holger

Hi Holger,

Great question. At AccelerEyes, some support of Simulink with Jacket does exist. The user can use Embedded MATLAB to write Simulink code that runs Jacket. A few Jacket programmers have been successful in GPU-enabling Simulink blocks using the Embedded MATLAB approach. Any given Simulink block can be GPU-enabled, but the key limitation is that you cannot pass GPU variables between Simulink blocks. AccelerEyes does not officially support Simulink as a part of our standard offering and therefore is not doing any specific testing, feature enhancements, or performance tests with Simulink at the present time. We are willing to work with customers that would like to leverage Jacket with Simulink but again this is not a primary design center at the moment for the company.

To stay up-to-date with this, check out: http://wiki.accelereyes.com/wiki/index.php/FAQ#Can_I_use_Jacket_with_Simulink.3F

Best,

John Melonakos