我正在使用Matlab运行Fortran可执行文件,使用system()命令。
通常,我使用可执行文件运行多次运行。
有没有办法在指定的核心中运行8个可执行文件?
甚至在Matlab中运行同步实例?即这相当于打开了许多cmd窗口。
非常感谢。
答案 0 :(得分:0)
猜测你是在Windows上,你可以坚持system()
并适当修改你的系统调用,如下所述:
答案 1 :(得分:0)
在Microsoft Windows上,您可以使用start
命令以所需的处理器亲和性运行程序(这些是逻辑内核,因此在我的具有超线程的四核机器上,我看到8个CPU)。这被指定为十六进制表示法的二进制掩码。例子:
>> system('start /affinity 1 notepad') % (0001) CPU0
>> system('start /affinity 2 notepad') % (0010) CPU1
>> system('start /affinity 4 notepad') % (0100) CPU2
>> system('start /affinity 7 notepad') % (0111) CPU0+CPU1+CPU2
请注意,默认情况下,start
将运行程序并立即返回。如果您希望它在完成之前一直闲逛,您可以使用start /wait ...
代替