我打算写一些东西来利用我家里的许多设备。
基本上我的目标是使用笔记本电脑来执行计算,并使用我的主台式电脑来增加更多的力量(并更快地完成任务)。我从事细胞模拟和化学相互作用的工作,所以对我来说,利用我在家中可用的所有东西会很棒。
我主要使用 OSX,所以我需要一些可以与该操作系统一起使用的东西。我可以用 Objective-C、C 和 C++ 编写代码。
我知道 GCD、OpenCL 和 MPI,但我不确定该走哪条路。
我计划不使用我的桌面的全部功能,而只使用一些可用的内核(这样我就可以继续在桌面上工作,做其他资源不那么密集的任务)。我特别喜欢使用显卡的能力(它是 ATI 卡,所以没有 CUDA),因为我所做的主要是电子表格、文字和 Xcode 编码,而显卡资源在那种情况下基本上没有使用。
在前面提到的 3 个中,是否有一组特定的库或 API 可以让我有选择地路由任务,并在另一台机器上使用资源,而不会将控制权完全交给编译器?我听说 GCD 很棒,但它对块的执行位置的控制非常有限,而 MPI 则处于光谱的另一端……OpenCL 似乎处于中间位置。
在深入研究其中一种技术之前,我想知道哪一种最适合我的需求;我确信其他一些研究人员已经成功地使用并行计算来实现我想要实现的目标。
提前致谢。