Today I Learned
1. Facts
- MPI로 프로세스 두개가 서로 ping pong하는것을 구현했습니다.
- 여러 프로세스가 전체 중에 각자 할당된 부분만 합을 구하고 마지막에 하나의 프로세스에서 부분합의 총합을 구하도록 했습니다.
2. Feelings
- MPI ping pong latency를 구하는데 배열 크기가 커질 수록 지연시간이 오히려 줄어들었습니다. latency를 잘못 구한것 같습니다. blokcing방식으로 구현하였는데 데드락이 발생하지 않도록 하였습니다. 다음에는 non-blocking방식으로 구현해보고 싶습니다.
- 여러 프로세스가 각자 할당된 부분만 합을 구하고 이것을 한 프로세스에게 보내는 작업이 재미있었습니다. blocking방식으로 loop안에서 각 프로세스가 결과를 보내는것이 완료되면 다음 프로세스가 보내도록 하였습니다. 마지막 rank의 연산 개수만 더 많기 때문에 연산시간과 보내는시간을 합친 시간으로 인한 지연시간이 크게는 없지만 각 프로세스가 각자 연산결과를 보내는 즉시 보내는것이 조금이라도 더 빠를 수 있기 때문에 non-blockng방식으로 만들어보고 싶습니다. 그 이후에 blocking방식과 non-blocking의 시간 차이를 비교해보고 싶습니다.
3. Findings
- 여러 프로세스가 동시에 각자의 작업을 할 수 있는것을 알게 되었고 직접 실습했습니다.
4. Affirmation
- MPI ping pong 시간차이를 구하는것을 수정해야겠습니다.
'TIL' 카테고리의 다른 글
2021-05-20 TIL (0) | 2021.05.20 |
---|---|
2021-05-19 TIL (0) | 2021.05.19 |
2021-05-17 TIL (0) | 2021.05.17 |
2021-05-16 TIL (0) | 2021.05.16 |
2021-05-15 TIL (0) | 2021.05.15 |
댓글