2012-04-24 4 views
2

클러스터의 여러 프로세스간에 큰 배열을 배포하는 mpi 프로그램이 있습니다.OpenMPI CUDA 및 CUDPP

각 프로세스는 배열 요소의 자체 합계를 계산하고 그 결과를 호스트에 반환합니다.

각 프로세스의 배열 요소에 대해 병렬 접두어 스캔을 실행하고 싶습니다.

CUDPP로 가능할 수도 있습니다. ?

누구나 openmpi와 cudpp를 함께 사용 했습니까?

답변

1

같은 응용 프로그램에서 CUDPP와 MPI를 결합 할 이유가 없습니다. 그것들은 직각이다.

포트란을 사용하는 경우 Thrust's 스캔 구현을 고려해 볼 수 있습니다. 지침은 this blog post을 참조하십시오.

+2

그리고 CUDPP의 저자 중 한 명인 대신 [Thrust] (http://thrust.github.com)를 사용하는 것이 좋습니다. MPI 등급에서 큰 접두어 합계를 원할 경우 MPI 코드를 구현하여 각 순위에 대한 합계를 스캔 한 다음 각 순위 내에서 요소 별 결과를 오프셋해야합니다. – harrism

+0

좋은 지적입니다. 저는 Fortran (CUDPP 용 ISO 바인딩 포함)을 가정하고 있습니다. 추력은 물론 C++을 필요로하지만, 그렇다면 그것은 고성능 프리미티브를 사용하는 정말 우아한 방법입니다. – Tom

+0

@harrism : 감사합니다. 답변에 추가하고 Fortran에서 Thrust를 호출하는 Massimiliano의 블로그 게시물에 연결했습니다. – Tom