GN⁺: Fortran - 고성능 병렬 프로그래밍 언어
(fortran-lang.org)- 1957년에 만들어진 과학 계산용 언어 Fortran이 계속 발전중. 최근 버전은 Fortran 2018이고, 2023이 릴리즈 될 예정
- 고성능: 과학/기술 계산용으로 설계
- 정적/강 타입 언어. 배우고 사용하기 쉬움
- Natively Parallel한 언어
- 직관적인 배열 같은 구문으로 CPU간에 데이터를 통신
- 단일 CPU, 공유메모리 멀티코어, 분산 메모리 HPC, 클라우드 시스템 등에서 거의 동일한 코드를 실행
- Coarray, Team, Event, Collective Soubroutine 등으로 문제에 적합한 병렬 프로그래밍 패턴 표현 가능
GN⁺ 의 요약 내용
- Fortran은 과학 및 공학에서 계산 집약적인 응용 프로그램을 위해 설계된 고성능 병렬 프로그래밍 언어
- 성숙하고 검증된 컴파일러와 라이브러리를 갖추고 있어 빠른 코드 실행이 가능
- Fortran은 정적이고 강력한 타입을 갖추어 프로그래밍 오류를 조기에 발견하고 효율적인 이진 코드를 생성
- 큰 배열에 대한 수학 및 산술 연산을 표현하기 위한 간단한 구문을 갖추어 배우고 사용하기가 놀랍게 쉬움
- Fortran은 명령형, 절차적, 배열 지향, 객체 지향 또는 함수형과 같은 다양한 프로그래밍 스타일을 허용
- CPU 간 데이터 통신을 위한 직관적인 구문을 갖춘 병렬 언어
- Fortran은 수치적 날씨 예측, 계산 유체 역학, 응용 수학, 통계 및 금융과 같은 영역에서 널리 사용
- 큰 숫자 배열에 대한 빠른 산술 계산을 수행해야 한다면, Fortran은 최적의 도구
파이썬 코드와 비교해보니 이런 느낌이군요 https://fortran-lang.org/en/learn/rosetta_stone.html
이상하게 링크가 깨졌군요 -0- 원래 링크하려던 주소는 https://fortran-lang.org/learn/rosetta_stone/ 입니다
교수님: (타르볼을 이메일로 쏘며) 자네, 이 포트란 코드 좀 파이썬으로 포팅 해오게, 내일 아침까지.
이런 경우 말고 포트란에 입문하는 경우가 있을까요?!
Hacker News 의견
- 로스알라모스 국립 연구소, 미션 크리티컬 코드에 포트란에 의존하는 위험에 대한 보고서 발표
- 보고서는 포트란의 계속적인 사용과 관련된 7가지 위험을 강조, 직원 확보의 어려움과 미래 CPU 및 GPU 기술에서의 성능 저하 등을 포함
- 저자는 포트란이 "유지보수 언어"가 되고 있다고 믿으며, 언어를 잘 알고 있는 사람의 부족, 학습에 대한 낮은 관심, 교육 및 보상에 대한 불충분한 투자 등을 언급
- 포트란은 고성능 컴퓨팅을 단순화하고 상용화하기 위한 경쟁에서 독특한 위치에 있다.
- 최근의 발전을 놓치기는 했지만, 포트란은 최적의 계산 성능을 갖춘 숫자 계산과 고성능 컴퓨팅을 위한 언어로 남아 있다.
- Matlab 사용의 위험에 대한 더 많은 연구가 필요하다. 많은 학계 및 산업 연구자들이 여전히 이에 의존하고 있다.
- 포트란은 Python의 Numpy/Scipy와 비교했을 때 수치 선형 대수에서 훨씬 빠른 성능을 보여준다.
- 포트란은 배우기 쉽지만, 외부 라이브러리와 작업 제어와 관련하여 도전이 있다.
- 포트란은 역사적인 중요성과 대규모 계산에서의 높은 사용량을 가지고 있으며, 더 많은 주목을 받을 만하다.
- 포트란의 현대적인 웹사이트는 오래된 언어에 대한 기대를 뛰어넘는 인상적이다.