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 (2026). Multi-Threading w/ MEX: Adding Two Vectors (https://au.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
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.0.0 |
