【发布时间】:2013-10-24 17:19:06
【问题描述】:
我有一个 Matlab 程序,它从磁盘上的物理文件中读取大量数据并执行如下密集计算:
data = load('myfile.dat');
results = intensiveCompute(data);
计算是在 GPU 上完成的,需要很长时间。我想做的是能够在计算运行时从下一个文件加载数据(因为加载文件也是一个瓶颈)。从我目前收集的信息来看,使用 Mex 是可行的(例如 _beginthread 等......)。但是,如果可能的话,最好留在 Matlab 环境中。也许有一些方法可以在 Matlab 中产生一个线程来读取数据,另一个来执行计算。非常感谢任何帮助。
【问题讨论】:
-
不会
parfor给你这种行为吗? -
也许我遗漏了一些东西,但是您将如何使用 parfor 并行执行 2 个不同的任务?顺便说一句,我已经将 chappjc 的解决方案标记为答案,但如果有一些巧妙的方法可以使用 parfor,那就太好了。
标签: multithreading matlab parallel-processing