在同一台机器上生成多个matlab副本
我面临着一个巨大的问题。我用嵌入的Matlab函数构建了一个复杂的C应用程序,我使用Matlab引擎(engOpen()等…)调用它。发生以下情况:在同一台机器上生成多个matlab副本,matlab,parallel-processing,matlab-engine,Matlab,Parallel Processing,Matlab Engine,我面临着一个巨大的问题。我用嵌入的Matlab函数构建了一个复杂的C应用程序,我使用Matlab引擎(engOpen()等…)调用它。发生以下情况: 我在一台机器上生成此应用程序的多个实例,每个核心一个 然而。。。然后,应用程序的速度减慢到停止。事实上,在我的16核机器上,应用程序的速度大约降低了16倍 现在我意识到这是因为每台机器只启动了一个sngle matlab引擎,我的16个实例都共享同一个matlab副本 我试着用MatlabGUI复制这一点,但问题是一样的。我在GUI中运行一个程序
- 我在一台机器上生成此应用程序的多个实例,每个核心一个
- 然而。。。然后,应用程序的速度减慢到停止。事实上,在我的16核机器上,应用程序的速度大约降低了16倍
- 现在我意识到这是因为每台机器只启动了一个sngle matlab引擎,我的16个实例都共享同一个matlab副本李>
- 我试着用MatlabGUI复制这一点,但问题是一样的。我在GUI中运行一个程序需要14秒,然后我在两个GUI中同时运行它,需要28秒
.Single
选项,该选项为您打开的每个com客户端启动一个matlab实例
备选方案包括:
-
< LI>生成函数的C++代码。< /LI>
- 创建一个.NET库。(东北建筑商)
- 通过命令行运行matlab