Multicore - Parallel processing on multiple cores

版本 1.39.0.0 (44.6 KB) 作者: Markus Buehren
This package provides parallel processing on multiple cores/machines.
20.9K 次下载
更新时间 2014/7/21

查看许可证

This package provides parallel processing on multiple cores on a single machine or on multiple machines that have access to a common directory.
If you have multiple function calls that are independent of each other, and you can reformulate your code as

for k = 1:numel(parameterCell)
resultCell{k} = myfun(parameterCell{k});
end

then, replacing the loop by

resultCell = startmulticoremaster(@myfun, parameterCell);

allows you to evaluate your loop in parallel. All you need to do is to start as many additional Matlab sessions/processes as you want slaves to work, and to run

startmulticoreslave

in those additional Matlab sessions.

Everything is programmed in plain and platform-independent Matlab - no toolboxes are used, no compilation of mex-files is necessary.

Please get started with 1. the documentation in file multicore.html, 2. the help lines of function startmulticoremaster.m and 3. the demo function multicoredemo.m.

Discuss with other users here: http://groups.yahoo.com/group/multicore_for_matlab

I have spent many hours to develop this package. If you would like to let me know that you appreciate my work, you can do so by leaving a donation: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=GPUZTN4K63NRY

Keywords: Parallel processing, distributed computing, multiple cores.

引用格式

Markus Buehren (2024). Multicore - Parallel processing on multiple cores (https://www.mathworks.com/matlabcentral/fileexchange/13775-multicore-parallel-processing-on-multiple-cores), MATLAB Central File Exchange. 检索来源 .

MATLAB 版本兼容性
创建方式 R2007b
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Big Data Processing 的更多信息
致谢

启发作品: gapolyfitn, Batch Job

Community Treasure Hunt

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

Start Hunting!
版本 已发布 发行说明
1.39.0.0

Performance improvement especially for projects using many slave processes.

1.37.0.0

Added parfor-loop to demo.

1.35.0.0

Performance improvement - especially when using a large number of slaves

1.33.0.0

New features:
1. Slave settings can be set via command line argument.
2. Slave Matlab process can be quit after a given time in seconds.

1.32.0.0

Bugfix: calling startmulticoremaster.m without settings works now.

1.31.0.0

Typo fixed.

1.30.0.0

Typo fixed.

1.29.0.0

Overhead resulting from expanding the function handle cell reduced.

1.28.0.0

Description changed again.

1.27.0.0

Links in help lines corrected.

1.26.0.0

Description modified to make it more concise.

1.24.0.0

Only E-mail changed in html document.

1.23.0.0

Bugfix.

1.22.0.0

Small changes to documentation and gethostname.m

1.21.0.0

Structure being passed to post-processing function changed (still undocumented feature)

1.20.0.0

Estimation of time left changed, post-processing function introduced.

1.19.0.0

Bug fixed.

1.18.0.0

File displayerrorstruct.m was missing.

1.16.0.0

Call to "clear functions" now in master and slaves, bug fixed.

1.15.0.0

In each multicore run, "clear functions" is now called once to ensure that changes to m-files take effect.

1.14.0.0

Two bugs fixed, one regarding the waitbar, one regarding the semaphore mechanism.

1.13.0.0

Using system-dependent file separators in paths again. Waitbar shows progress during parameter file generation now.

1.12.0.0

Added estimation of time left in waitbar.

1.11.0.0

Added an optional waitbar.

1.10.0.0

If a slave is killed during working on a job, the master will now generate the parameter file of that job again instead of working on the file himself. This will increase performance in certain situations.

1.9.0.0

File regexptokens.m added.
Dicussion group created: http://groups.yahoo.com/group/multicore_for_matlab

1.8.0.0

Another change to the semaphore mechanism.

1.7.0.0

I have nearly re-written both master and slave in order to make the package even more robust and to reduce the overhead for inter-process communication.

1.5.0.0

Introduced parameter EVALSATONCE which causes the multicore package to do several function evaluations after each other before saving/loading and thus reducing the communication overhead. Demo function MULTICOREDEMO heavily commented.

1.4.0.0

Semaphore mechanism improved.

1.3.0.0

Forgot to include file chompsep.m

1.2.0.0

Semaphore stuff improved.

1.1.0.0

Subfunction datenum2 was not needed.

1.0.0.0

A subfunction that is only executed on certain systems was missing.