Question

My .Net application is making use of Matlab Component Runtime (MCR) for some heavy number crunching libraries. One thing that I wonder is that, can the MCR take advantage of the multicore feature of modern processors?

This question is important for me, because if the MCR has already multicore support, I don't have to use PLINQ or other techniques to do parallel computation myself. In fact, it may be better for me not to, because another layer of parallelism on top of one may waste some overheads in creating threads.

Was it helpful?

Solution

From MATLAB support, what looks like potentially relevant information:

If Multi-threading is enabled at the time you build your distributable application or component with MATLAB Compiler, MATLAB Builder JA, MATLAB Builder EX or MATLAB Builder NE, the setting, along with all of your MATLAB preferences settings, will be enabled in your compiled application.

I suppose you could also test if it's true by writing a little timed application of which you know the execution time in multithreading enable vs. disable settings.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top