Why do I not notice any multithreading when calling IMDILATE and IMERODE on my 64-bit Linux machine?

1 view (last 30 days)
The problem is that MATLAB appears to only be using one of the processors at a time (the computer has 8 core processors, so 7 are running idle). The process switches between the processors, but only ever uses one at a time.
I turned on multithreading under the Preferences menu and restarted Matlab, but that did not help.
The functions in my code using a lot of processing time are primarily IMERODE and IMDILATE operating on UINT8 matrices.
I believe in this instance that the Intel Performance Primitives Library (PPL) would help, but this does not seem to be installed; see output below. Do you think that this is the problem or could it be something else?
[TF B] = ippl
This yields:
TF =
0
B =
'Library libippcv.so could not be loaded.'
'Library libipps.so could not be loaded.'
'Library libippi.so could not be loaded.'
'Library libippac.so could not be loaded.'

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 20 Feb 2023
Edited: MathWorks Support Team on 16 Apr 2023
We have not supported using Intel IPP routines on 64-bit Linux until very recently, and MATLAB 7.5 (R2007b) is not one of the releases for which this was supported. That explains the output you notice from the IPPL command.
Intel IPP binaries are shipped with the Image Processing Toolbox; they do not come with the OS. Therefore, if your release of MATLAB (R2007b) needs the associated libraries, they should be already included in the released product and you would not need to contact your IT support team for this. From the information given, it appears that the libraries are missing because, while functions like IPPL.m may ship with all platforms, multithreading on your platform (RHEL 64-bit) was not supported for release (R2007b).
IMDILATE and IMERODE are not currently multithreaded and they do not use the Intel IPP library. The only function in IPT that is partially multithreaded is IMFILTER. The Intel IPP library filtering routines do not support everything that IMFILTER can do, such as three-dimensional filtering, so the IPP routines are only called in some situations.
Multithreading on MATLAB has so far been extended to a number of functions that are embarrasingly parallel in nature, such as the ones documented at this URL:
Therefore, multithreading only affects the MATLAB functions listed at the above link. The Image Processing Toolbox algorithms will also benefit from some multithreading insofar as they rely on these functions.

More Answers (0)

MathWorks Support

Categories

Find more on Read, Write, and Modify Image in Help Center and File Exchange

Products


Release

R2007b

Community Treasure Hunt

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

Start Hunting!