开始使用并行编程

Tal*_*esh 12 parallel-processing concurrency cuda fft opencl

所以它看起来像多核,所有相关的复杂功能都存在.我正在计划一个肯定会受益于并行性的软件项目.问题是我编写并发软件的经验很少.我在大学学习并很好地理解了概念和理论,但是从学校开始就没有掌握在多个处理器上运行软件的有用经验.

所以我的问题是,开始使用多处理器编程的最佳方法是什么? 我熟悉C/C++中的Linux开发和Mac OS X上的Obj-C,几乎没有Windows经验.此外,我计划的软件项目将需要FFT并且可能需要对大量数据进行浮点比较.

有OpenCL,OpenMP,MPI,POSIX线程等......我应该从哪些技术开始?

以下是我正在考虑的几个堆栈选项,但不确定他们是否会让我尝试实现我的目标:

  • 我是否应该使用Snow Leopard并尝试让OpenCL Obj-C程序在笔记本电脑上的ATI X1600 GPU上运行?要么
  • 我是否应该购买Playstation并尝试编写C代码以抛出其六个可用的Cell SPE内核?要么
  • 我应该建立一个带有Nvidia卡的Linux机箱并尝试使用CUDA吗?

在此先感谢您的帮助.

War*_*ung 2

你应该学习一些 Erlang。为了伟大的利益。