인텔 Fortran 컴파일러

Intel Fortran Compiler
인텔 Fortran 컴파일러
기타 이름
  • ifx
개발자인텔(R)
프리뷰 릴리즈
2022.0.0[1] / 2021년 12월 6일, 7개월 전(2021-12-06)
운영 체제Linux, Windows
유형컴파일러
면허증.프리웨어, 옵션 우선순위 지원
웹 사이트software.intel.com/content/www/us/en/develop/tools/oneapi/components/fortran-compiler.html
인텔 Fortran 컴파일러 클래식
기타 이름
  • 요구하다
개발자인텔(R)
안정된 릴리스
2021.5.0[1] / 2021년 12월 6일, 7개월 전(2021-12-06)
운영 체제Linux, Windows, MacOS
유형컴파일러
면허증.프리웨어, 옵션 우선순위 지원
웹 사이트software.intel.com/content/www/us/en/develop/tools/oneapi/components/fortran-compiler.html

인텔 Fortran 컴파일러는 인텔 Windows, MacOS, Linux 버전의 Fortran 컴파일러 그룹입니다.

개요

컴파일러는 IA-32 및 Intel 64 프로세서 및 인텔 이외의 호환성이 있는 특정 프로세서(AMD 프로세서 등)의 코드를 생성합니다.IA-64(Itanium 2) 프로세서용 Linux 기반 응용 프로그램 개발에는 컴파일러의 특정 릴리스(11.1)가 계속 제공됩니다.Windows 에서는, 인텔 Visual Fortran [2]이라고 불립니다.MacOS 및 Linux에서는 Intel Fortran으로 알려져 있습니다.2020년에 기존의 컴파일러는 인텔 Fortran 컴파일러 클래식(ifort)으로 명칭이 변경되어 GPU 오프로드 지원1API(ifx)용 새로운 인텔 Fortran 컴파일러가 도입되었습니다.

2021년 Classic 컴파일러 릴리스에서는 2018년 표준, OpenMP* 4.5 및 CPU 전용 Initial Open MP 5.1을 통해 Fortran의 완전한 지원이 추가되었습니다.2021 베타 컴파일러는 OpenMP for GPU 오프로드에 중점을 두고 있습니다.인텔 HPC 툴킷(아래의 「패키징의 설명」을 참조)과 함께 사용하면, OpenMP 명령으로부터 분산 메모리 멀티 프로세싱을 위한 메시지 패싱 인터페이스 호출을 자동적으로 생성할 수도 있습니다.

Fortran 표준에 대한 자세한 내용은 Wikipedia Fortran 항목 또는 Fortran wiki 페이지와 같은 번호 또는 리소스를 참조하십시오.

최적화

인텔 컴파일러는 인텔 아키텍처를 지원하는 프로세서를 사용하는 컴퓨터 시스템에 최적화되어 있습니다[3].이러한 기능은 스톨을 최소화하고 가능한 한 적은 사이클 수로 실행되는 코드를 생성하도록 설계되었습니다.인텔 Fortran 컴파일러는 컴파일된 프로그램을 최적화하기 위해 프로시저간 최적화(IPO), 프로파일 가이드 최적화(PGO), 기타 하이레벨 최적화(HLO)의 3가지 고도의 기술을 지원합니다.

프로시저간 최적화는 일반적인 컴파일러 최적화(예를 들어 지속적인 전파)를 적용하지만 여러 프로시저, 여러 파일 또는 프로그램 [4]전체를 포함하는 광범위한 범위를 사용합니다.

프로파일 가이드 최적화와 관련하여 컴파일러는 대표적인 워크로드와 함께 응용 프로그램을 사용하여 성능 관련 정보 데이터 세트를 생성하고 이를 분석하여 응용 프로그램의 어떤 부분이 더 자주 실행되고 덜 자주 실행되는지 확인합니다.컴파일러는 이러한 데이터를 사용하여 응용 프로그램의 실행을 구성하고 응용 프로그램의 실제 사용 방법에 따라 성능을 최적화합니다.이는 워크로드에 관계없이 애플리케이션의 논리적 흐름에 따라 애플리케이션을 최적화하는 IPO와는 대조적입니다.논리 플로우가 최적화되는 워크로드 기반의 최적화를 제공하기 위해 두 가지를 조합할 수 있습니다.따라서, 모든 최적화는 컴파일 결정을 내릴 때 휴리스틱에 덜 의존하기 때문에 프로파일 유도 피드백으로부터 이익을 얻을 수 있다.

고급 최적화는 소스 코드를 보다 가깝게 나타내는 프로그램 버전에서 수행되는 최적화입니다.여기에는 루프 교환, 루프 퓨전, 루프 언롤링, 루프 분배, 데이터 프리페치 [5]등이 포함됩니다.

표준 지원

인텔 Fortran 컴파일러 클래식은 2018년 표준까지 Fortran을 완전히 지원합니다.인텔 Fortran 컴파일러 (베타)는 Fortran 77/90/95를 모두 지원하며 Fortran 2003 표준을 부분적으로 지원합니다.

아키텍처

포장 설명

이 컴파일러는 Intel 및 APT 및 Yum 저장소에서 독립형으로 사용할 수 있습니다.인텔 oneAPI HPC 툴킷에는 라이브러리 등 기타 빌드 툴과 오류 체크 및 퍼포먼스 분석용 분석 툴도 포함되어 있습니다.컴파일러를 탑재한 컨테이너는 도커 허브에 있습니다.

2003년 이후의 역사

컴파일러 버전 발매일 주요 신기능
인텔 Fortran 컴파일러 8.0 2003년 12월 15일 미리 컴파일된 헤더, 코드 적용 범위 도구.
인텔 Fortran 컴파일러 8.1 2004년 9월 AMD64 아키텍처(Linux용).
인텔 Fortran 컴파일러 9.0 2005년 6월 14일 AMD64 아키텍처(Windows용), 소프트웨어 기반 투기성 사전 컴퓨팅(SSP) 최적화, 루프 최적화 보고서 개선.
인텔 Fortran 컴파일러 10.0 2007년 6월 5일 개선된 병렬화기 및 벡터화기, 스트리밍 SIMD 확장 4(SSE4), 고급 루프 변환을 위한 새롭고 강화된 최적화 보고서, 최적화된 새로운 예외 처리 구현.
인텔 Fortran 컴파일러 10.1 2007년 11월 7일 새로운 OpenMP* 호환성 런타임 라이브러리.새 라이브러리를 사용하려면 Windows에서는 "Qopenmp /Qopenmp-lib:compat" 옵션을, Linux에서는 "-openmp -lib:compat" 옵션을 각각 사용해야 합니다.이 버전의 인텔 컴파일러는 Microsoft Visual Studio 2005에서 더 많은 기능을 지원합니다.VS2008 지원 - 이 릴리스에서만 명령줄 사용 가능.
인텔 Fortran 컴파일러 11.0 2008년 11월 기타 Fortran 2003 지원OpenMP 3.0. 정적 메모리/병렬 진단용 소스 체커 지원.Windows 버전의 상용 라이센스에는 Microsoft Visual Studio 2005 Premier Partner Edition이 포함됩니다.
인텔 Fortran 컴파일러 11.1 2009년 6월 23일 최신 인텔 SSE, AVX 및 AES 명령 지원.기타 Fortran 2003 지원최신 인텔 MKL 릴리즈 지원 (컴파일러 제품에 포함)Windows 버전의 상용 라이센스에는 Microsoft Visual Studio 2008 Shell 및 라이브러리가 포함됩니다.
Intel Fortran Composer XE 2011 업데이트 5까지 (컴파일러 12.0) 2010년 11월 7일 Coarray Fortran, 추가 2003 (FINAL 서브루틴, GENERIC 키워드) 및 2008 (CORAY, CODIMENSION, SYNC IMAGES, SYNC MEMORY, CRITIAL, LOCK, ERROR STOP, ALLOCATE/DELALLOCATE)
Intel Fortran Composer XE 2011 업데이트 6 이상 (컴파일러 12.1) 2011년 9월 8일 OpenMP 3.1, 추가 2003(ALLOCATE with SOURCE=, polymorphic source) 및 2008 표준 지원, Windows 버전에는 Visual Studio 2010 Shell이 함께 제공됩니다.
Intel Fortran Composer XE 2013 (컴파일러 13.0) 2012년 9월 5일 Linux 기반의 Intel Xeon Phi 코프로세서 지원, Microsoft Visual Studio 12 (데스크탑), gcc 4.7 지원, 인텔 AVX 2 명령 지원, 애플리케이션 퍼포먼스 향상에 중점을 둔 기존 기능 업데이트.Visual Studio 2010 Shell for Windows 버전을 계속 사용할 수 있습니다.
Intel Fortran Composer XE 2013 SP1 (컴파일러 14.0) 2013년 7월 31일 사용자 정의 파생형 I/O, OpenMP 명령어, 절 및 절차, coarrays, Microsoft Visual Studio 병렬 빌드 지원
Intel Fortran Composer XE 2013 SP1 Update 1 (컴파일러 14.0.1) 2013년 10월 18일 일본 현지화 14.0, Windows 8.1 및 Xcode 5.0 지원
Intel Fortran Composer XE 2015 (컴파일러 15.0) 2014년 8월 5일 Fortran 2003 완전 지원, Fortran 2008의 BLOCK, Fortran 2008의 EXECUTE_COMMAND_LINE, Visual[6] Studio 내의 소스에 대한 새로운 최적화 보고서 주석 추가
Intel Fortran Composer XE 2015 업데이트 1 (컴파일러 15.0.1) 2014년 10월 30일 AVX-512 지원, 일본어 현지화, SIMD 루프 디렉티브의 MIN/MAX 절감
Intel Fortran 컴파일러 16.0, Intel Parallel Studio XE 2016 일부 2015년 8월 25일 Fortran 2008의 서브모듈, Fortran 2018 드래프트, OpenMP 4.1 확장에서 Fortran과 C의 상호운용성 향상
인텔 Fortran 컴파일러 17.0 2016년 3월 4일 OpenMP 4.5 확장 기능
인텔 Fortran 컴파일러 18.0 2017년 1월 17일 Fortran 2008 풀 지원
인텔 Fortran 컴파일러 19.0 2018년 9월 12일 일부 Fortran 2018 기능
인텔 Fortran 컴파일러 클래식 2021.1.1 2020년 12월 8일 Fortran 2018 풀 지원, OpenMP 4.5 및 CPU용 초기 OpenMP 5.1만 지원
인텔 Fortran 컴파일러 (베타) 2021.1.1.1 2020년 12월 8일 OpenMP* 4.5 및 OpenMP 초기 지원으로 CPU 및 GPU 오프로드 지원
인텔 Fortran 컴파일러 클래식 2021.5.0 2021년 12월 6일 Fortran 언어 수정 및 보안 업데이트
인텔 Fortran 컴파일러 oneAPI 2022.0.0 2021년 12월 6일
  • 매개 변수화된 파생 유형을 제외한 Full Fortran 2003
  • Full Fortran 2008 (coarray 제외)
  • 보고된[7] 문제의 수정

디버깅

인텔 컴파일러는 공통 디버거의 표준 디버깅 정보를 제공합니다(Linux에서는 GDB유사하며 Windows에서는 COFF).디버깅 정보와 함께 컴파일하는 플래그는 다음과 같습니다.Windows 에서는 Zi, Linux 에서는 -g.디버깅은 Windows에서 Visual Studio 디버거를 사용하고 Linux에서 gdb를 사용하여 수행합니다.

인텔 컴파일러는 gprof 호환 프로파일링 출력을 생성할 수 있지만 인텔은 VTune이라는 별도의 제품으로 커널 수준의 시스템 전체 통계 프로파일러도 제공합니다.VTune은 사용하기 쉬운 GUI(Visual Studio for Windows, Eclipse for Linux) 및 명령줄 인터페이스를 갖추고 있습니다.VTune 프로파일러와 더불어 벡터화 최적화를 전문으로 하는 인텔 어드바이저와 스레드화 설계 및 프로토타이핑을 위한 툴이 있습니다.

인텔은 메모리 및 스레드 에러 검출용 툴인 인텔인스펙터 XE도 제공하고 있습니다.메모리 에러에 대해서는, 메모리 리크, 메모리 파손, API 미스매치 할당/해제, 메모리 API 사용 상황의 일관성을 검출합니다.스레드 오류에 대해서는 데이터 레이스(히프와 스택 모두), 교착 상태 및 스레드 및 동기화 API 오류를 검출하는 데 도움이 됩니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ a b "Intel® Fortran Compiler for oneAPI Release Notes". Intel. Retrieved 2020-12-28.
  2. ^ "Intel Visual Fortran Compiler Professional Edition for Windows". cnet.com.
  3. ^ "Intel (Fortran, C, and C++)". NERSC.gov.
  4. ^ 인텔 컴파일러 문서선택한 Fortran 컴파일러를 선택하고 프로파일 가이드 최적화를 검색합니다.http://software.intel.com/en-us/intel-software-technical-documentation
  5. ^ 소프트웨어 최적화 요리책, IA-32 플랫폼용 고성능 레시피, 리처드 거버, Aart J.C.바이크, 케빈 BSmith, and Xinmin Tian, 인텔 프레스, 2006
  6. ^ "Intel Visual Fortran 15 now available".
  7. ^ "Fortran Language and OpenMP* Features Implemented in Intel® Fortran Compiler". Intel® Fortran Compiler. Intel. Retrieved 2021-12-27.

외부 링크