What are the approaches availble to speed up the Simulink model performance using GPU?

1 view (last 30 days)
I am working with a simulink model whose performance has to be increased significantly. The simulink model consists of multiple matlab function blocks for each functionality. Most of the functionalities is based on Signal processing with large complex matrices and with a sample time less than 1ms. There are some complex computations like reshape, repmat, repeatelement, exponential.
  1. I started with using Parallel computing Toolbox (parfor, codistributed Arrays etc) inside the MATLAB function blocks. Unfortunately the overhead caused due to the paralllel processing is more than the actual computation time, the performance reduced .
  2. I tried converting the MATLAB function blocks to simulink Basic blocks, this improved the performance by 50% but still not sufficient enough. The exponential function was found to be a big bottleneck in the Simulation.
  3. Multicore programming using concurrent execution. I converted the entire model into referenced blocks (Which was really difficult and was almost impossible because of Multi rate processing due to upsampler). Even after finding a Workaround for a logic without the upsampler, I was not able to allocate Tasks. There was an error saying the base rate is less than 1ms. (See the error here)
  4. GPU computing: I tried GPU computing using gpuArrays, gpu exponential, GPU awgn channel in the MATLAB function blocks. Since code Generation is not possible for this, the performance was worse than the normal model.
  5. GPU coder: I have not tried this, waiting for the license.
My model is needed to run on the Desktop target. Please suggest me if there are any other approaches, anything that can run on Dekstop target which makes my model run faster and efficiently. Major bottleneck is exponential, reshape, sweep of large complex matrices and awgn external code.

Answers (0)

Categories

Find more on General Applications in Help Center and File Exchange

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!