mex, mwblas, and multithreading: controlling the number of threads
3 次查看(过去 30 天)
显示 更早的评论
Hello,
Since maxNumCompThreads is going to be removed, does anyone know of another way to limit the number of cores utilized when calling the MathWorks BLAS library from a mex function?
Right now, I can use maxNumCompThreads(N) to limit my CPU usage to N cores on a shared machine when using ssyrk or dgemm or other useful BLAS functions. I've searched and searched and it doesn't seem like there is going to be a good way to do this without maxNumCompThreads. Are there any options besides "1 thread" and "all threads"?
Thanks, DH
0 个评论
回答(1 个)
Kaustubha Govind
2011-10-6
From what I understand, the choice needs to be made at MATLAB startup. Starting MATLAB with the -singleCompThread option will force all operations to run in a single thread.
3 个评论
Kaustubha Govind
2011-10-6
From the documentation, it doesn't look like it. But, I'll let others weigh in. (Maybe you can use an OS-level control to restrict the number of threads for your MATLAB process?)
Jan
2011-10-6
The maxNumCompThreads function has been very useful for limitting the used resources, although some situations cannot be caugth by such a simple mechanism, e.g. if the BLAS functions are called from several threads of a PARFOR loop.
It is very sad, that its support will be finished.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Startup and Shutdown 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!