2012-02-15 3 views
1

저는 MPI를 사용하여이 문제를 병렬 처리해야하는 프로젝트를 진행하고 있습니다. 그래서 기본 아이디어는 각 프로세스가 포인트를 공유하고, 테스트가 (점이 원 안에 있는지) MPI_Reduce를 호출하는 것입니다. 그런 다음 루트는 축소 된 결과를 얻고 최종 답을 제공합니다.Monte Carlo 및 MPI_Reduce를 사용하여 pi 계산

혼란스러워하는 것이 무엇을 줄여야하는지입니다. 각 프로세스가 pi를 계산해야한다면 pi를 사용하여 reduce를 호출하고 root는 감소 된 pi 값의 평균을 취합니다. 또는 각 프로세스 호출이 히트 수 (원 안의 성공한 점)와 함께 감소해야합니까? 그러면 루트가이 결과를 사용하여 pi를 계산합니까? 희망이 분명했다. 감사.

답변

2

저는 분명히 후자를 할 것입니다. 각 프로세스가 히트 수를 반환하고 루트 함수가이 결과를 사용하여 pi를 계산하게하십시오. 이런 식으로, 당신이 이것을 연속적으로 계산한다면 당신은 당신과 같은 과정을 진행할 것입니다.

+0

의견을 보내 주셔서 감사합니다. – Cemre