1

目标独立于操作系统的并行在C环++

我试图让在C环多线程++,像

std::vector<int> X; 
for_parallel (int& i : X) 
{ 
    // The code in here will be run in parallel for each 'i' 
} 

我的困惑

我得到因为似乎有很多可能的方法来做这样的事情,有些似乎是系统特定的。例如Parallel Patterns Library是由微软构建的,所以我希望它最终只能在Windows上工作。我仍然试图在我的Mac OS上通过自制软件安装它,但是我失败了,所以我想它确实只能在Windows上运行。我正在寻求一些帮助来弄清楚我应该使用什么方法。

问题

我打算跑我在Mac OS X和Linux的代码,所以我需要一个解决方案,将两个操作系统上工作(或者说是很容易修改和重新编译)。你能否建议一个能帮助我的软件包(并最终提供一个这样的“for_parallel”循环的简单例子)?

+1

你看过OpenMP吗? –

回答

1

OpenMP或Intel TBB。他们可以跨平台工作并具有并行功能。

1

我会认真考虑c++11,它非常便携,请看std::thread参考。

我在win32/win64,linux和macOS上使用过这个库 - 你可能无法获得更多的便携性。

相关问题