상세 컨텐츠

본문 제목

병렬프로그래밍 - 논블록킹

공부

by myeongjaechoi 2024. 5. 13. 09:49

본문

함수 원형

  • buf : 송신 버퍼의 시작 주소
  • count : 송신 버퍼에서 송신될 element 수(정수)
  • datatype : 송신 버퍼 내의 각 element의 데이터 타입(MPI_Datatype)
  • dest : 수신 프로세스의 rank(정수)
  • tag : 메시지 식별 번호(정수)
    • 보내는 사람과 받는 사람의 tag는 일치해야 됨
    • 사용자가 임의의 정수로 사용
  • comm : 커뮤니케이터
  • request : 호출된 논블록킹 통신 함수를 식별하기 위해 사용되는 핸들

반환값

  • 함수 호출 성공 : MPI 에러 코드(정수 상수)인 MPI_SUCCESS 반환
  • 함수 호출 실패 : MPI_ERR_로 시작되는 MPI 에러 코드 반환

 

 

함수 원형

  • buf : 수신 버퍼의 시작 주소
  • count : 수신 버퍼에서 송신될 element 수(정수)
  • datatype : 수신 버퍼 내의 각 element의 데이터 타입(MPI_Datatype)
  • source : 송신 프로세스의 rank(정수)
  • tag : 메시지 식별 번호(정수)
    • 보내는 사람과 받는 사람의 tag는 일치해야 됨
    • 사용자가 임의의 정수로 사용
  • comm : 커뮤니케이터
  • request : 호출된 논블록킹 통신 함수를 식별하기 위해 사용되는 핸들

반환값

  • 함수 호출 성공 : MPI 에러 코드(정수 상수)인 MPI_SUCCESS 반환
  • 함수 호출 실패 : MPI_ERR_로 시작되는 MPI 에러 코드 반환

통신 완료 확인

  • MPI_Wait 함수 - int MPI_Wait(MPI_Request * request, MPI_Status * status)
    • request : 호출된 논블록킹 통신 함수를 식별하기 위해 사용되는 핸들 (MPI_Request)
    • status :MPI_Irecv 함수에 의해 수신된 메시지의 정보 및 MPI_Isend 함수에 대한 에러코드(MPI_Status)
    • 통신이 완료될 때까지 기다림
  • MPI_Test 함수 - int MPI_Test(MPI_Request * request, int *flag, MPI_Status * status)
    • request : 호출된 논블록킹 통신 함수를 식별하기 위해 사용되는 핸들 (MPI_Request)
    • flag : 통신이 완료되면 참(0이 아닌 정수), 아니면 거짓(0)을 리턴(logical)
    • status :MPI_Irecv 함수에 의해 수신된 메시지의 정보 및 MPI_Isend 함수에 대한 에러코드(MPI_Status)
    • 통신이 성공적으로 수행되었는지 확인
  • 일반적으로 MPI_Wait 함수를 더 많이 사용함

 

 

'공부' 카테고리의 다른 글

인공지능 - 인공신경망  (0) 2024.05.28
운영체제 - 가상 메모리 관리  (0) 2024.05.21
운영체제 - 가상 메모리  (0) 2024.05.08
인공지능 - 불확실성  (0) 2024.05.07
운영체제 - 물리 메모리 관리  (0) 2024.05.01

관련글 더보기