我想进入多核编程(不是语言特定的),并想知道可以推荐哪些硬件来探索这个领域.我的目标是升级现有的桌面.
如果可能的话,我建议购买一台双插槽机器,最好配备四核芯片.你当然可以得到一个单插槽机器,但双插槽可以让你开始看到随着核心数量越来越高,NUMA内存的一些影响将会加剧.
你为什么在乎?目前,多核开发人员面临两个巨大的问题:
编程模型 并行编程很难,并且(目前)没有解决这个问题.四核系统将让您开始使用真正的并发和所有流行的范例(线程,UPC,MPI,OpenMP等).
内存 每当你开始拥有多个线程时,就会出现争用资源的问题,内存墙也越来越大.一个在arstechnica最近的一篇文章概述了在桑迪亚国家实验室的一些(非常初步的)研究显示有多么糟糕,如果目前的趋势继续下去,这可能成为.多核机器将不得不保持所有食物,这将要求人们非常熟悉他们的记忆系统.双插槽为混合添加NUMA(至少在AMD机器上),这应该让你开始走这条艰难的道路.
如果您对有关多插槽机器性能不一致的更多信息感兴趣,您可能还会查看有关该主题的技术报告.
此外,其他人建议使用支持CUDA的GPU系统,我认为这也是进入多线程编程的好方法.它比我上面提到的东西低,但是如果可以的话,可以在你的机器上扔一个.新的Portland Group编译器具有使用CUDA优化循环的临时支持,因此即使您不想自己学习CUDA,也可以使用GPU.