some questions about matlab coder

2 次查看(过去 30 天)
Hi
I am doing my senior project on 5G simulations in matlab. We are doing the QAM using precoder and some modulation functions. We want to convert the code we have into C or C++. We used the matlabe code gen and we converted to C. We were surprised by how slow the C code is compared to matlab. It takes 260 sec for C to run one trial while only 90 sec on matlab. One of the thing we did is set the code gen to use dynamic allocation instead of static. I am looking for some recommendation or suggestions on how to produce a fast enough C code. Is that possible or we have to write the code fro scratch. Thanks
  3 个评论
Ryan Livingston
Ryan Livingston 2018-4-27
编辑:Ryan Livingston 2018-4-27
MATLAB Coder added the ability for the generated code to call LAPACK in R2016a:
and FFTW in R2017b:
Using these will give you optimized linear algebra and FFT routines respectively.

请先登录,再进行评论。

回答(3 个)

Ji Lee
Ji Lee 2018-4-25
Reducing the usage of dynamic memory allocation is one of the general optimization strategies one can start with when trying to improve the performance of generated code. We do have a useful documentation section that describes various optimizations and patterns. I've linked it below. Included in the first several topics linked from this section is a discussion on variable sizing and dynamic memory allocations.

matlabcoder
matlabcoder 2018-4-30
Thank you all for the information, but I wonder why Mathworks doesn't push updates to include the features mentioned in Ryan comment.

matlabcoder
matlabcoder 2018-5-1
The question is, is it possible to get the C code to run faster than the Matlab code, or it is possible that we have to write the whole code in C from scratch.

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by