2009-06-08 48 views
1

您是否知道用於在多臺計算機和/或每臺計算機上的多個核心上分配計算的任何軟件包?計算代碼使用C++,該軟件包需要能夠處理大於2GB的數據並在Windows x64機器上運行。共享軟件會很好,但不是一個要求。用於分配計算的軟件包

回答

0

有一個MPI庫和DVM system在MPI之上工作。這些是廣泛用於並行化各種任務的通用工具。

1

你可能想看看OpenMP

+0

我認爲這正是我正在尋找的! – AnnaR 2009-06-08 11:23:24

2

一個合適的解決方案將取決於計算和數據你願意,你處理,並行你希望實現的粒度,多少努力,你是願意投資的類型在裏面。

最簡單的方法就是使用支持並行性的合適求解器/庫(例如 scalapack)。或者,如果您希望推出自己的求解器,可以使用OpenMP或提供自動並行處理的編譯器(例如Intel C/C++編譯器)從當前代碼中擠出一些並行處理。所有這些都可以在不需要大規模重組代碼的情況下提供合理的性能提升。

在光譜的另一端,您有MPI選項。如果你的算法並行,它可以爲你提供最大的性能提升。然而,它需要一點點的重新設計。

另一種方法是沿着穿線路線走下去。有圖書館裏有一個工具可以減少噩夢。這些值得一看:Boost C++ Parallel programming libraryThreading Building Block

相關問題