boost-mpi

    0

    1답변

    부스트 mpi를 사용하여 더 복잡한 데이터 유형을 전달하려고합니다. http://theboostcpplibraries.com/boost.mpi-simple-data-exchange 먼저이 튜토리얼의 예제 47.5에서 작동하는 char 배열로 문자열을 보내려고합니다. 코드는 다음과 같습니다이 #include <boost/mpi.hpp> #include <i

    1

    1답변

    루트 프로세스에서 값을 브로드 캐스트하고 다른 모든 프로세스에서 값을 수신하려고합니다. 필자는 다음 두 가지 형식으로 구현했습니다. if (world.rank() == 0) { value = "Hello, World!"; broadcast(world, value, 0); } else { world.recv(boo

    0

    1답변

    다음 코드는이 오류 메시지가 있습니다 : 가 의 인스턴스를 던지는 후 호출 종료 '부스트 :: exception_detail :: clone_impl' 은 무엇() : MPI_Test는 : MPI_ERR_TRUNCATE : 메시지가를 잘립니다 이 문제는 this post에서 논의되는 boost :: mpi의 버그와 관련이있을 수 있습니다. 나는 그 오류의

    0

    1답변

    아래 코드에서 프로브하는 동안 정확한 도착 수를 얻을 수 없습니다. 동일한 기능이 표준 MPI 기능으로 테스트되고 정답이 얻어집니다. Boost 버전이 올바른 결과를 내지 않는 이유는 무엇입니까? 부스트 버전 : #include <iostream> #include <boost/mpi.hpp> using namespace boost; using nam

    1

    1답변

    내가 엉망입니다. all_gather은 프리미티브 (예 : int)에서 작동하지만 간단한 STL 컨테이너에서도 실패합니다. valgrind는 컨테이너가 할당되지 않았거나 초기화되지 않았다고 주장하지만 올바르게 보이지 않습니다. 요약 : 나는 스레딩 멀티 OpenMP를 선택한 다음에 스레드에 다시 몇 가지 않습니다. 연속적으로, 나는 boost :: mpi

    0

    1답변

    부스트 MPI에서 빈 벡터를 보내면 어떻게됩니까? 예를 들어, 나는 다음과 같은 코드를 사용하여 전송하는 경우 : vector<int> empty_vector; vector<int> other_vector(1,1); if (world.rank()==0) world.isend(1,10,empty_vector); if (world.rank()=

    0

    2답변

    잠재적으로 차단 부스트 mpi "send"가 실제로 차단되어 교착 상태가 발생하는 경우를 찾으려고합니다. #include <boost/mpi.hpp> #include <iostream> int main(int argc, char *argv[]) { boost::mpi::environment env{argc, argv}; boost:

    3

    1답변

    boost :: mpi :: broadcast를 사용하여 기본 클래스 포인터를 통해 모든 노드에 파생 클래스를 보내려고합니다. 이렇게하려면 boost :: serialization 라이브러리를 사용하여 클래스를 serialize합니다. 그러나 내 코드는 컴파일되지 않으며 "class boost :: mpi :: packed_skeleton_iarchive

    1

    1답변

    두 개의 일치하는 비 차단 send 및 recv 작업에서 하나의 요청 개체 만 검사하는 것으로 충분합니다. 이렇게하면 내 프로그램에서 요청 개체를 처리하는 노력이 줄어들 수 있습니다. 여기 부스트 MPI와 작은 예 : #include <boost/mpi.hpp> int main(int argc, char* argv[]) { // initiali

    0

    1답변

    2 개의 프로세스가 있습니다. 하나의 프로세스가 내부 인터럽트가 프로세스를 중단 할 때까지 다른 프로세스로 패킷을 스트리밍합니다 (보내는 프로세스). 이 채널에 메시지를받을 때까지 다른 프로세스가 수신 할 수있는 메커니즘을 원합니다. 메시지로 정지 명령을 전송하는 것 외에 다른 방법을 사용할 수 있습니까? 인터럽트가 보낸 프로세스를 죽일 수있는 시나리오가