目前,我有一个访问一个DLL MILP内MATLAB计算,从我的理解最MILP求解器是单线程的,和我不知道如何/如果接触到的MILP求解器的多个同步调用的发挥。 执行计算排队彼此的后面,所有工艺跨单线程还是有传播负载的一些方法?
我想了解这个组合来自附近同时呼叫一个调用100如何有效扩展。 它是否成为由硬件或软件的限制?
目前,我有一个访问一个DLL MILP内MATLAB计算,从我的理解最MILP求解器是单线程的,和我不知道如何/如果接触到的MILP求解器的多个同步调用的发挥。 执行计算排队彼此的后面,所有工艺跨单线程还是有传播负载的一些方法?
我想了解这个组合来自附近同时呼叫一个调用100如何有效扩展。 它是否成为由硬件或软件的限制?
据我所知, MATLAB引擎不是线程安全的。 如果应用程序是多线程的,你必须确保只有一个线程访问引擎API在任何时候。 这并不是说,内置的MATLAB函数本身都是单线程(线性代数,FFT等。在内部多线程其实很多操作),我只是说说的,你用MATLAB通信的引擎接口,是不是线程安全的...
当然,这不使用多进程并行执行阻止你。 刚开始你的程序的多个实例每解决一个独立的线性规划问题。 这是这种东西的并行计算工具箱在依赖(通过运行本地后台工作人员,甚至远程工作人员与分布式计算工具箱 )。