所以它看起来像多核及其所有相关的复杂功能都在这里。我正在计划一个软件项目,它肯定会从并行性中受益。问题是我没有经验编写并发软件。我在大学学习了它,很好地理解了这些概念和理论,但是从零开始学习建立软件在多处理器上运行的有用经验。并行编程入门
所以我的问题是,开始使用多处理器编程的最佳方法是什么? 我主要熟悉Mac OS X上的C/C++和Obj-C中的Linux开发,几乎没有Windows体验。此外,我计划的软件项目将需要FFT和大量数据的浮点比较。
有OpenCL,OpenMP,MPI,POSIX线程等等......我应该从哪些技术开始?
这里是我正在考虑几个堆栈的选择,但不知道他们会让我的实验中对我的目标而努力:
- 我应该得到雪豹,并尝试 得到的OpenCL的OBJ-C程序在我的 笔记本电脑上的ATI X1600 GPU上执行 执行?或
- 我是否应该得到一个 Playstation,并尝试将C代码编写为 ,并在其六个可用的Cell SPE内核中投掷? 或
- 我应该用Nvidia卡构建一个Linux机箱 ,并尝试使用CUDA工作 ?
在此先感谢您的帮助。
在Windows下安装VS2010或2012,启动它,进入F#交互式并输入'Array.map((+)3)[| 1..10 |]'。你已经写了一个串行F#程序。然后输入'Array.Parallel.map((+)3)[| 1..10 |]'。你是并行编程。 – 2013-05-12 18:38:59