Multi-Threading w/ MEX: Adding Two Vectors
In order to optimize certain pieces of a simulation, I tried to build out a multi-threaded algorithm for solving certain linear algebra problems that I couldn't find good solutions to in various libraries or that couldn't be vectorized in proper MATLAB code.
Since I found a lot of the tutorials available online very confusing, once I figured things out I thought it would be handy to share what I learned. With thanks to Yair Altman and his multi-threading example from 2018 that included all of the information I needed to finally figure things out:
https://undocumentedmatlab.com/blog/multi-threaded-mex
To add non-Windows compatibility, you can add in pthreads by following along with Yair's example.
This needs to be compiled with the command, "mex -R2018a madd.cpp"
Cite As
oreoman (2024). Multi-Threading w/ MEX: Adding Two Vectors (https://www.mathworks.com/matlabcentral/fileexchange/70406-multi-threading-w-mex-adding-two-vectors), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Acknowledgements
Inspired by: max_in_place - example of multi-threaded MEX function
Inspired: Simpler MEX Multi-Threading w/ a Persistent Thread Pool
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Version | Published | Release Notes | |
---|---|---|---|
1.0.0 |