2009-06-08 4 views
1

여러 컴퓨터 및/또는 각 컴퓨터의 여러 코어에서 계산을 분배하는 패키지에 대해 알고 있습니까? 계산 코드는 C++이며 패키지는 데이터> 2GB를 처리하고 Windows x64 시스템에서 작업 할 수 있어야합니다. 셰어웨어는 좋지만 요구 사항은 아닙니다.계산 분배 용 패키지

답변

0

MPI 라이브러리가 있고 DVM system이 MPI에서 작동합니다. 이들은 다양한 작업을 병렬 처리하기 위해 널리 사용되는 일반적인 도구입니다.

1

당신은 적합한 솔루션을 계산 및 데이터 당신이 처리하고자하는, 당신이 달성하고자하는 병렬 처리의 단위, 그리고 얼마나 많은 노력이 투자하고자하는의 종류에 따라 달라 OpenMP

+0

이것이 내가 찾고있는 것입니다! – AnnaR

2

보고 할 수 있습니다 그 안에.

가장 간단한 방법은 병렬 처리를 지원하는 적합한 솔버/라이브러리 (예 : scalapack)를 사용하는 것입니다. 또는 자신 만의 솔버를 굴리려는 경우 OpenMP 또는 자동 병렬 처리를 제공하는 컴파일러 (예 : 인텔 C/C++ 컴파일러)를 사용하여 현재 코드에서 일부 병렬 처리를 압축 할 수 있습니다. 이 모든 것들이 코드를 대규모로 재구성하지 않고도 합리적인 성능 향상을 제공합니다.

스펙트럼의 반대쪽에는 MPI 옵션이 있습니다. 알고리즘이 병렬 처리되면 성능이 크게 향상 될 수 있습니다. 그러나 리엔지니어링의 공정한 비트가 필요합니다.

또 다른 방법은 스레딩 경로로 이동하는 것입니다. 라이브러리에는 악몽이 적다는 도구가 있습니다. 이것들을 살펴볼 가치가 있습니다 : Boost C++ Parallel programming libraryThreading Building Block