본문 바로가기

포트란9

포트란으로 MPI 배우기 ■ 알아두면 좋은 기본 개념들 새롭게 배우는 내용, 등을 계속해서 포스트 할 예정이다. 1. Concurrency vs. Parallelism 2. Data parallelism vs. Task parallelism 3. MPI란? ■ Fortran 으로 배우는 MPI 기초 아래 목록은 링크1, 링크2를 재구성하였으며, Fortran을 이용해 MPI를 사용하는데 필요한 기본적인 설명을 다루고 있다. 포트란에 대한 이해 및 병렬컴퓨팅에 대한 이해가 필요하다고 생각된다. 하지만 숙련자가 아니더라도 필요한 개념들이 함께 설명되어 있으므로 어려움은 없을 것으로 생각된다. 1. 블로킹 통신, 예제(수치적분)로 배우기 2. 논블로킹 통신, 예제(수치적분)로 배우기 3. 집합 통신, 예제(수치적분)로 배우기 4. 집.. 2020. 3. 19.
3. 인텔포트란 최적화 옵션 정리 본 게시글은 원본1를 따라해 가며 이해한 내용들이 기록되어 있다. 코드 최적화 관련 글 목록 ■ 인텔포트란 최적화 옵션 목록 위에 연결된 링크는 intel developer zone의 Intel® Fortran Compiler 19.1 Developer Guide and Reference(Submitted December 16, 2019)이다. 컴파일러가 계속해서 유지보수가 되고 있는 상태이기 때문에, 계속해서 포트란을 쓰는 사람이라면 업데이트 사항에 관심을 가지고 확인해야한다. (난 왜 아직도 쓰고 있는지...) 어찌됐든, 최적화 옵션은 그렇게 많지 않으니 공부할 맛이 난다. 물론 더 고급 옵션이 있으나, 본 게시물에서는 다루지 않으며, 필요 시 링크를 참고하길 바란다. No 옵션 간단한 설명 1 fa.. 2020. 3. 12.
1. 효율적인 배열데이터 참조 본 게시글은 원본1, 원본2 를 따라가며 이해한 내용들을 기록한 문서이다. 코드 최적화 관련 글 목록 ■ 과학계산에서의 코드 최적화 Fortran 및 C는 과학계산용 프로그램을 작성할때 자주 사용되는 언어이다. 계산속도를 높이기 위해서는 데이터의 저장방법이나, 반복계산 등의 세부 사항을 이해하고 최적화 시켜야한다. 몇 가지 일반적인 효율성 문제를 해결할수 있지만, Donald E. Knuth (1974)의 말을 항상 명심해야 한다. We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. 프로그램을 최적화도 적기에 해야한는 말이다. 섣불리 했다가 오히려.. 2020. 3. 12.