누군가 open mpi로이 valgrind 출력을 설명 할 수 있습니까?

Vadim Shmelev

OpenMPI를 사용하는 응용 프로그램이 있으며 Windows 및 Linux에서 실행합니다. Windows 용 버전은 정상적으로 작동하지만 Linux에서 실행하면 메모리 할당 오류가 발생합니다. 더 많은 계산이 필요한 특정 앱 인수에 대해 문제가 발생합니다. 메모리 누수를 제거하기 위해 Valgrind를 사용하여 Linux 버전 앱을 확인하고 출력을 얻었습니다 . 결국, 나는 출력에 대한 정보를 검색하려고 시도했고 스택 오버플로 및 GitHub (링크를 첨부 할만한 평판이 충분하지 않음)에서 일부 게시물을 찾았습니다. 결국 openMPI를 2.0.2로 업데이트하고 앱을 다시 확인했습니다. 새로운 출력 . OpenMPI에서 메모리 누수가 발생합니까? 아니면 뭔가 잘못하고 있습니까?

출력의 일부 :

==16210== 4 bytes in 1 blocks are definitely lost in loss record 5 of 327
==16210==    at 0x4C2DBB6: malloc (vg_replace_malloc.c:299)
==16210==    by 0x5657A59: strdup (strdup.c:42)
==16210==    by 0x51128E6: opal_basename (in /home/vshmelev/OMPI_2.0.2/lib/libopen-pal.so.20.2.0)
==16210==    by 0x7DDECA9: ???
==16210==    by 0x7DDEDD4: ???
==16210==    by 0x6FBFF84: ???
==16210==    by 0x4E4EA9E: orte_init (in /home/vshmelev/OMPI_2.0.2/lib/libopen-rte.so.20.1.0)
==16210==    by 0x4041FD: orterun (orterun.c:818)
==16210==    by 0x4034E5: main (main.c:13)

OpenMPI 버전 : Open MPI : 2.0.2
Valgrind 버전 : valgrind-3.12.0
가상 mashine 특성 : Ubuntu 16.04 LTS x64

MPICH를 사용하는 경우 Valgrind 출력은 다음과 같습니다.

==87863== HEAP SUMMARY:
==87863==     in use at exit: 131,120 bytes in 2 blocks
==87863==   total heap usage: 2,577 allocs, 2,575 frees, 279,908 bytes allocated
==87863== 
==87863== 131,120 bytes in 2 blocks are still reachable in loss record 1 of 1
==87863==    at 0x4C2DBB6: malloc (vg_replace_malloc.c:299)
==87863==    by 0x425803: alloc_fwd_hash (sock.c:332)
==87863==    by 0x425803: HYDU_sock_forward_stdio (sock.c:376)
==87863==    by 0x432A99: HYDT_bscu_stdio_cb (bscu_cb.c:19)
==87863==    by 0x42D9BF: HYDT_dmxu_poll_wait_for_event (demux_poll.c:75)
==87863==    by 0x42889F: HYDT_bscu_wait_for_completion (bscu_wait.c:60)
==87863==    by 0x42863C: HYDT_bsci_wait_for_completion (bsci_wait.c:21)
==87863==    by 0x40B123: HYD_pmci_wait_for_completion (pmiserv_pmci.c:217)
==87863==    by 0x4035C5: main (mpiexec.c:343)
==87863== 
==87863== LEAK SUMMARY:
==87863==    definitely lost: 0 bytes in 0 blocks
==87863==    indirectly lost: 0 bytes in 0 blocks
==87863==      possibly lost: 0 bytes in 0 blocks
==87863==    still reachable: 131,120 bytes in 2 blocks
==87863==         suppressed: 0 bytes in 0 blocks
==87863== 
==87863== For counts of detected and suppressed errors, rerun with: -v
==87863== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) 
Sourav

이러한 출력은 애플리케이션 코드가 아니라 MPI 라이브러리의 일부 메모리 누수를 가리 킵니다. 무시해도됩니다.

보다 구체적으로, 이러한 누출은 발사대에서 발생합니다. ORTEMPI 프로세스를 시작하고 관리하는 OpenMPI의 런타임 환경입니다. HydraMPICH의 실행기 및 프로세스 관리자입니다.

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

누군가이 바이올린의 출력을 설명 할 수 있습니까?

분류에서Dev

누군가이 변화하는 'du'출력을 설명 할 수 있습니까?

분류에서Dev

누군가이 교대 / 긴 땜질 출력을 설명 할 수 있습니까?

분류에서Dev

누군가 내 cmd 출력을 설명 할 수 있습니까?

분류에서Dev

누군가이 C ++ 줄을 설명 할 수 있습니까?

분류에서Dev

누군가이 C ++ 프로그램의 출력을 설명 할 수 있습니까?

분류에서Dev

왜 이것이 segfaulting입니까? 누군가 valgrind 오류를 설명 할 수 있습니까?

분류에서Dev

누군가이 이상한 자바 스크립트 날짜 출력을 설명 할 수 있습니까?

분류에서Dev

누군가 openssl cli와 C ++ DES 출력의 차이점을 설명 할 수 있습니까?

분류에서Dev

누군가 나에게이 코드의 출력을 설명 할 수 있습니까?

분류에서Dev

파이썬. 누군가 나에게 다음 출력을 설명 할 수 있습니까?

분류에서Dev

누군가이 typescript 메서드 서명을 설명 할 수 있습니까?

분류에서Dev

누군가이 명령의 기능을 설명 할 수 있습니까?

분류에서Dev

누군가가 datepicker 에서이 코드 줄을 설명 할 수 있습니까?

분류에서Dev

누군가이 코드에서이 줄을 설명 할 수 있습니까?

분류에서Dev

누군가이 find 메서드 동작을 설명 할 수 있습니까?

분류에서Dev

누군가이 JS 기능을 나에게 설명 할 수 있습니까?

분류에서Dev

누군가이 "Longest Common Subsequence"알고리즘을 설명 할 수 있습니까?

분류에서Dev

누군가이 코드의 기능을 설명 할 수 있습니까?

분류에서Dev

누군가이 반올림 동작을 설명 할 수 있습니까?

분류에서Dev

누군가이 사전 동작을 설명 할 수 있습니까?

분류에서Dev

누군가이 maven-jar-plugin 구성을 설명 할 수 있습니까?

분류에서Dev

누군가이 Array.prototype.find () polyfill을 설명 할 수 있습니까?

분류에서Dev

누군가 이것을 설명 할 수 있습니까? thing variable = new thing () ;?

분류에서Dev

누군가이 Batch 라인을 나에게 설명 할 수 있습니까?

분류에서Dev

LLVM IR-누군가이 동작을 설명 할 수 있습니까?

분류에서Dev

누군가 나를 위해이 SQL을 설명 할 수 있습니까?

분류에서Dev

누군가 정규식 /(.*)\.(.*)/을 설명 할 수 있습니까?

분류에서Dev

누군가 "$ {files [@]}"의 기능을 설명 할 수 있습니까?

Related 관련 기사

  1. 1

    누군가이 바이올린의 출력을 설명 할 수 있습니까?

  2. 2

    누군가이 변화하는 'du'출력을 설명 할 수 있습니까?

  3. 3

    누군가이 교대 / 긴 땜질 출력을 설명 할 수 있습니까?

  4. 4

    누군가 내 cmd 출력을 설명 할 수 있습니까?

  5. 5

    누군가이 C ++ 줄을 설명 할 수 있습니까?

  6. 6

    누군가이 C ++ 프로그램의 출력을 설명 할 수 있습니까?

  7. 7

    왜 이것이 segfaulting입니까? 누군가 valgrind 오류를 설명 할 수 있습니까?

  8. 8

    누군가이 이상한 자바 스크립트 날짜 출력을 설명 할 수 있습니까?

  9. 9

    누군가 openssl cli와 C ++ DES 출력의 차이점을 설명 할 수 있습니까?

  10. 10

    누군가 나에게이 코드의 출력을 설명 할 수 있습니까?

  11. 11

    파이썬. 누군가 나에게 다음 출력을 설명 할 수 있습니까?

  12. 12

    누군가이 typescript 메서드 서명을 설명 할 수 있습니까?

  13. 13

    누군가이 명령의 기능을 설명 할 수 있습니까?

  14. 14

    누군가가 datepicker 에서이 코드 줄을 설명 할 수 있습니까?

  15. 15

    누군가이 코드에서이 줄을 설명 할 수 있습니까?

  16. 16

    누군가이 find 메서드 동작을 설명 할 수 있습니까?

  17. 17

    누군가이 JS 기능을 나에게 설명 할 수 있습니까?

  18. 18

    누군가이 "Longest Common Subsequence"알고리즘을 설명 할 수 있습니까?

  19. 19

    누군가이 코드의 기능을 설명 할 수 있습니까?

  20. 20

    누군가이 반올림 동작을 설명 할 수 있습니까?

  21. 21

    누군가이 사전 동작을 설명 할 수 있습니까?

  22. 22

    누군가이 maven-jar-plugin 구성을 설명 할 수 있습니까?

  23. 23

    누군가이 Array.prototype.find () polyfill을 설명 할 수 있습니까?

  24. 24

    누군가 이것을 설명 할 수 있습니까? thing variable = new thing () ;?

  25. 25

    누군가이 Batch 라인을 나에게 설명 할 수 있습니까?

  26. 26

    LLVM IR-누군가이 동작을 설명 할 수 있습니까?

  27. 27

    누군가 나를 위해이 SQL을 설명 할 수 있습니까?

  28. 28

    누군가 정규식 /(.*)\.(.*)/을 설명 할 수 있습니까?

  29. 29

    누군가 "$ {files [@]}"의 기능을 설명 할 수 있습니까?

뜨겁다태그

보관