여러 컴퓨터에서 mpi 실행

montekristo_07

여러 개의 프로세스가있는 단일 시스템에서 mpi 프로그램을 실행할 수 있지만 여러 시스템에서는 실행할 수 없습니다. 호스트의 프로세스 수를 다음과 같이 지정하는 "컴퓨터"파일이 있습니다.

localhost:6
another_host:4

아래에 세 가지 예를 들었습니다.

// When I run the program on only localhost, everything is OK.
mpirun -n 10 ./myMpiProg parameter1 parameter2

// In this case, everything is OK, too.
mpirun -f machinesFile -n 10 ./myMpiProg parameter1 parameter2

// This is also OK
mpirun -n 8 ./myMpiProg parameter1 parameter2

다음과 같이 컴퓨터 파일을 변경했을 때 :

localhost:6
another_host:2

...

// But this does not work.
mpirun -f machinesFile -n 8 ./myMpiProg parameter1 parameter2

분산 환경에서 프로그램을 실행할 때 아래와 같은 오류가 발생합니다. 더 흥미로운 점은 항상 8 개 프로세스, 12 개 프로세스와 같은 일부 배포에서 발생합니다. 그리고 그것은 10 개의 프로세스로 발생하지 않습니다.

terminate called after throwing an instance of 'std::length_error' what():  vector::reserve

그렇다면 단일 시스템에서 mpi 프로그램을 실행하는 것과 여러 시스템에서 실행하는 것 사이에 차이점이 있습니까?

montekristo_07

우연히 문제를 발견했지만 여전히 이유를 모릅니다. isend 요청을 벡터에 저장하면 모든 것이 정상입니다. 하지만 저장하지 않으면 오류가 나타납니다. 때로는 std :: length :: error이고 때로는 아래와 같이 더 길기도합니다.

제가 언급 할 수있는 코드는 https://stackoverflow.com/a/33375285/2979477 에서 찾을 수 있습니다 . 이 줄을 변경하면 :

mpiSendRequest.push_back(world.isend(neighbors[j], 100, *p));

같이:

world.isend(neighbors[j], 100, *p);

오류가 나타납니다. 이해가 안되지만 합리적인 설명이있을 수 있습니다.

에러 메시지:

terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::mpi::exception> >'
what():  MPI_Alloc_mem: Unable to allocate memory for MPI_Alloc_mem, error stack:
MPI_Alloc_mem(115): MPI_Alloc_mem(size=1600614252, MPI_INFO_NULL, baseptr=0x7fffbb499e90) failed
MPI_Alloc_mem(96).: Unable to allocate memory for MPI_Alloc_mem
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::mpi::exception> >'
what():  MPI_Alloc_mem: Unable to allocate memory for MPI_Alloc_mem, error stack:
MPI_Alloc_mem(115): MPI_Alloc_mem(size=1699946540, MPI_INFO_NULL, baseptr=0x7fffdad0ee10) failed
MPI_Alloc_mem(96).: Unable to allocate memory for MPI_Alloc_mem
[proxy:0:1@mpi_notebook] HYD_pmcd_pmip_control_cmd_cb (./pm/pmiserv/pmip_cb.c:928): assert (!closed) failed
[proxy:0:1@mpi_notebook] HYDT_dmxu_poll_wait_for_event (./tools/demux/demux_poll.c:77): callback returned error status
[proxy:0:1@mpi_notebook] main (./pm/pmiserv/pmip.c:226): demux engine error waiting for event

=====================================================================================
=   BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
=   EXIT CODE: 134
=   CLEANING UP REMAINING PROCESSES
=   YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
=====================================================================================
APPLICATION TERMINATED WITH THE EXIT STRING: Aborted (signal 6)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

여러 컴퓨터에서 gearman Worker PHP 코드 실행

분류에서Dev

여러 컴퓨터에서 동일한 Python 블록을 실행하는 방법

분류에서Dev

여러 컴퓨터에서 R을 어떻게 실행합니까?

분류에서Dev

Windows 10에 드라이버를 설치하여 여러 컴퓨터에서 실행할 수 있습니까?

분류에서Dev

하나의 컴퓨터에서 여러 http 서버를 실행할 수 있습니까?

분류에서Dev

동일한 컴퓨터에서 여러 독립 실행 형 루비 스크립트 유지

분류에서Dev

동일한 컴퓨터에서 여러 독립 실행 형 루비 스크립트 유지

분류에서Dev

단일 컴퓨터에서 여러 Ubuntu 버전을 실행하려면 어떻게해야합니까?

분류에서Dev

paramiko를 사용하여 원격 컴퓨터에서 git 명령 실행

분류에서Dev

여러 컴퓨팅 노드에서 동일한 Java 프로그램 실행

분류에서Dev

Invoke-WmiMethod를 사용하여 원격 컴퓨터에서 특정 사용자로 실행 파일 실행

분류에서Dev

Windows 컴퓨터에서 Linux 컴퓨터로 ls 명령 실행

분류에서Dev

다른 컴퓨터에서 독립 실행 형 모드의 Wildfly 8 클러스터

분류에서Dev

MPI 클러스터 시작 실패

분류에서Dev

렌더 팜과 같은 여러 컴퓨터에서 C # 작업 병렬 라이브러리를 실행하는 방법은 무엇입니까?

분류에서Dev

다른 OS를 실행하는 서버에 고성능 컴퓨팅 클러스터 설정

분류에서Dev

두 클러스터 노드에서 MPI 프로그램을 실행할 때 발생하는 문제

분류에서Dev

PSExec을 사용하여 가상 컴퓨터에서 WScript 파일을 실행할 때 GetObject () 429 오류

분류에서Dev

단일 코어 컴퓨터 에서처럼 프로세스를 실행하여 버그를 찾습니다.

분류에서Dev

로컬 환경 변수를 사용하여 SSH로 원격 컴퓨터에서 셸 스크립트 실행

분류에서Dev

ssh를 사용하여 다른 컴퓨터에서 로컬 스크립트 실행

분류에서Dev

셸 스크립트를 사용하여 원격 컴퓨터에서 Linux 명령을 실행하는 방법

분류에서Dev

CSV 파일을 사용하여 원격 컴퓨터에서 실행되는 명령을 매개 변수화

분류에서Dev

같은 컴퓨터에서 동시에 여러 사용자 X 세션을 실행하는 방법은 무엇입니까?

분류에서Dev

여러 SSH를 통해 원격 컴퓨터에서 인수에 공백이있는 로컬 스크립트를 실행하는 방법은 무엇입니까?

분류에서Dev

여러 다른 컴퓨터 대상에 대해 실행되도록 Powershell 스크립트 수정

분류에서Dev

여러 컴퓨터의 Windows 시스템 PATH에 단일 Python 실행 파일을 추가 하시겠습니까?

분류에서Dev

여러 컴퓨터에서 0x1로 예약 된 작업이 실패 함

분류에서Dev

이전 컴퓨터가 죽고 'slmgr'명령을 실행하여 이전 컴퓨터에서 라이선스를 비활성화 할 수 없을 때 Windows 소매 라이선스를 새 컴퓨터로 전송

Related 관련 기사

  1. 1

    여러 컴퓨터에서 gearman Worker PHP 코드 실행

  2. 2

    여러 컴퓨터에서 동일한 Python 블록을 실행하는 방법

  3. 3

    여러 컴퓨터에서 R을 어떻게 실행합니까?

  4. 4

    Windows 10에 드라이버를 설치하여 여러 컴퓨터에서 실행할 수 있습니까?

  5. 5

    하나의 컴퓨터에서 여러 http 서버를 실행할 수 있습니까?

  6. 6

    동일한 컴퓨터에서 여러 독립 실행 형 루비 스크립트 유지

  7. 7

    동일한 컴퓨터에서 여러 독립 실행 형 루비 스크립트 유지

  8. 8

    단일 컴퓨터에서 여러 Ubuntu 버전을 실행하려면 어떻게해야합니까?

  9. 9

    paramiko를 사용하여 원격 컴퓨터에서 git 명령 실행

  10. 10

    여러 컴퓨팅 노드에서 동일한 Java 프로그램 실행

  11. 11

    Invoke-WmiMethod를 사용하여 원격 컴퓨터에서 특정 사용자로 실행 파일 실행

  12. 12

    Windows 컴퓨터에서 Linux 컴퓨터로 ls 명령 실행

  13. 13

    다른 컴퓨터에서 독립 실행 형 모드의 Wildfly 8 클러스터

  14. 14

    MPI 클러스터 시작 실패

  15. 15

    렌더 팜과 같은 여러 컴퓨터에서 C # 작업 병렬 라이브러리를 실행하는 방법은 무엇입니까?

  16. 16

    다른 OS를 실행하는 서버에 고성능 컴퓨팅 클러스터 설정

  17. 17

    두 클러스터 노드에서 MPI 프로그램을 실행할 때 발생하는 문제

  18. 18

    PSExec을 사용하여 가상 컴퓨터에서 WScript 파일을 실행할 때 GetObject () 429 오류

  19. 19

    단일 코어 컴퓨터 에서처럼 프로세스를 실행하여 버그를 찾습니다.

  20. 20

    로컬 환경 변수를 사용하여 SSH로 원격 컴퓨터에서 셸 스크립트 실행

  21. 21

    ssh를 사용하여 다른 컴퓨터에서 로컬 스크립트 실행

  22. 22

    셸 스크립트를 사용하여 원격 컴퓨터에서 Linux 명령을 실행하는 방법

  23. 23

    CSV 파일을 사용하여 원격 컴퓨터에서 실행되는 명령을 매개 변수화

  24. 24

    같은 컴퓨터에서 동시에 여러 사용자 X 세션을 실행하는 방법은 무엇입니까?

  25. 25

    여러 SSH를 통해 원격 컴퓨터에서 인수에 공백이있는 로컬 스크립트를 실행하는 방법은 무엇입니까?

  26. 26

    여러 다른 컴퓨터 대상에 대해 실행되도록 Powershell 스크립트 수정

  27. 27

    여러 컴퓨터의 Windows 시스템 PATH에 단일 Python 실행 파일을 추가 하시겠습니까?

  28. 28

    여러 컴퓨터에서 0x1로 예약 된 작업이 실패 함

  29. 29

    이전 컴퓨터가 죽고 'slmgr'명령을 실행하여 이전 컴퓨터에서 라이선스를 비활성화 할 수 없을 때 Windows 소매 라이선스를 새 컴퓨터로 전송

뜨겁다태그

보관