- 开机
开启集群前首先把所有集群的电脑打开并把电脑的网络防火墙软件等关掉,这些电脑必须安装统一版本的Matlab,在此以Matlab 2016a为例进行说明。
- 每台电脑开启集群配置文件
集群配置文件在matlab安装目录下,具体位置为:
C:\Program Files\MATLAB\R2016a\toolbox\distcomp\bin
在该目录下首先打开addMatlabToWindowsFirewall.bat文件(右键管理员权限运行)
然后再打开admincenter.bat(右键管理员权限运行)
要是电脑多的话最好把这两个文件的快捷方式发送到桌面以便后面每次方便运行。
- 集群联机
集群的每台机器都添加一下所有IP:
实际上若只有一个Matlab Job Scheduler (MJS),仅在一台主机上添加所有主机即可,其它主机仅需添加本机IP。每台机器添加所有IP的好处还有每台电脑都能看到IP地址及对应电脑名称,方便多台电脑的调试。联机成功后如下图所示:
之后,建立Matlab Job Scheduler (MJS),点击MJS一栏左边的Start,开始建立MJS:
需要注意的是,MJS可以建立在不同的主机上,可以在任何一个机子上设置其它电脑为MJS主机。MJS实际上相当于可以建立多个"分管集群",一台电脑可以受几个不同的MJS控制。最后,建立Workers,在Workers一栏点左侧的Start:
在这里可以具体定义每个MJS分配哪几个电脑的多少个核心。这里每个选项要仔细设置,一旦完成定义workers再修改会很麻烦,需要destroy掉所有的workers然后重新定义。需要注意的是,若一个电脑同时归两个MJS管,需要确保内存充足,因为每个workers空载也是要占内存的。
- Matlab Parallel Pool设置
首先打开左下角的Parallel preferences
然后打开Cluster Profile Manager
然后依次点Discover Clusters和On your network:
再在搜索到的MJS中选一个即可
最后打开Parallel Pool就可以享受集群火箭速度了
上一张结合29台4核电脑116核集群:
PS:
在我这个版本的集群中有可能出现Destroy掉workers后电脑蓝屏,不知道这是不是个Matlab中的bug。如果出现掉线情况,在本电脑上重启一遍程序或直接重启电脑,然后重复一遍步骤1,2,会自动连入集群;或者可以尝试右键Start mdce。