Saturday, December 28, 2024

Intel Fortran Compiler Solution For The Fortran Development

- Advertisement -

Intel Fortran Compiler

Create apps that are future-scalable by using code that is optimized for the Intel architecture. Utilising built-in technologies for Intel Xeon Scalable, Intel Xeon, Intel Core Ultra, and Intel Core processors, the Intel Fortran Compiler has a long history of producing optimized code that complies with industry standards. The compiler has added support for GPUs in order to remain in line with Intel’s varied and changing architectures.

Introduction to the Intel Fortran Compiler

Unless otherwise noted, assume that all supported architectures and operating systems are covered by the information in this document.

- Advertisement -

Architecture Support

The Intel 64 architecture is supported by the compiler.

OS Support

The following operating systems are compatible with compiler applications:

  • Linux operating systems for platforms with an Intel 64 architecture.
  • Windows operating systems for PCs with an Intel 64 architecture.

The compiler may be used in an Integrated Development Environment (IDE) that supports it or in the command line:

  • Visual Studio by Microsoft (Windows only)

The Intel Fortran Compiler (ifx) is a new compiler that uses LLVM back-end technology and is based on the Intel Fortran Compiler Classic (ifort) front-end and runtime libraries. Fortran 2018 language extensions, the majority of OpenMP 5.2 and certain OpenMP Version 6.0 TR12 directives, and offloading capabilities are all supported by ifx.

- Advertisement -

Standards Support

Fortran 2018, some Fortran 2023, most of OpenMP 5.2, and some OpenMP 6.0 TR12 capabilities are among the most recent standards that the compiler utilizes.

Features

Cross-Architecture Compilation

  • Increases development efficiency by using single-source code to target CPUs and GPUs and allowing for specific tuning.
  • Completely complies with general Fortran language standards until 2018, along with a few Fortran 2023 language features.
  • Includes the almost full OpenMP 5.0, 5.1, and 5.2 for CPU and GPU offload, industry standards compatibility for OpenMP 4.5, and a few new OpenMP 6.0 capabilities.
  • Utilizes Intel’s legacy of compiler leadership and the well-proven LLVM compiler technology.

Built-In Performance

Utilizes OpenMP, automatic parallelism, coarrays, DO CONCURRENT, and multicore, Single Instruction Multiple Data (SIMD) vectorization, and multiprocessor systems for GPU offload.
uses an autonomous processor dispatch function to optimize code.

Development Environment Flexibility

Utilize a compatible IDE or the command line to run the compiler:

  • Visual Studio by Microsoft (Windows only).
  • Eclipse C/C++ Development Tools (only available on Linux and CDT).

Code Samples

Fortran and OpenMP Code Samples for CPU

Coarray Fortran

This code example offers practical experience with the Fortran coarray feature for parallel programming by showing how to create and execute a serial implementation of a Monte Carlo program before converting it to run in parallel using Fortran coarrays.

OpenMP Primes

The OpenMP Primes code example shows how to find prime numbers, including the count of particular prime kinds, using the OpenMP API and Intel Fortran Compiler. In order to improve code efficiency, two OpenMP directives are used, offering useful guidance on creating and executing Fortran OpenMP programs.

Fortran and OpenMP Offload

Matrix Multiply Fortran

The Matrix Multiply code example provides a step-by-step guidance on how to modify a simple Fortran program to use OpenMP directives with the Intel Fortran Compiler to offload calculations to an Intel GPU. To illustrate how to utilize OpenMP directives in Fortran for GPU offloading, it focusses on a straightforward matrix multiplication method.

OpenMP Offload Fortran Tutorials

This repository includes a Jupyter Notebook designed to demonstrate the fundamentals of OpenMP offloading. It focusses on the procedure of utilising OpenMP with the Intel Fortran Compiler to offload complex computations to a GPU, offering thorough insights into GPU offloading with OpenMP.

Intel Fortran Compiler Considerations

LLVM backend technology powers the new Intel Fortran Compiler (ifx), based on the ifort front end and runtime libraries. Currently, ifx supports the majority of OpenMP 5.0/5.1 directives and offloading capabilities, as well as aspects of the Fortran 95 language. Binaries and libraries created with ifort may be linked with binaries and libraries created with ifx, and.mod files created with one compiler can be used by the other. ifx is compatible with both binary (.o/.obj) and module (.mod) files. The ifort runtime libraries are used by both compilers.

With ifx and ifort, the -fp-model fast and -fp-model fast=2 options function differently. Since the code sequence created for them implies a comparing can entail a NaN, ifort allows floating point compares to occur as defined by the IEEE floating point standard. The check for NaN operands is not generated by ifx. When using -fp-model fast or -fp-model fast=2 with ifx and expecting NaN comparisons to match ifort’s behaviour, add the -assume nan_compare option to the command line.

Intel Fortran Compiler Processor Specifications

CategorySpecifications
Processors– Scalable processors from Intel Xeon
– The Xeon processor series from Intel
– Processors with Intel Core Ultra
– CPUs with Intel Cores
– Atom CPUs from Intel
GPUsIntel Arc graphics
– Intel Iris X graphics
– Intel UHD graphics for 11th generation Intel CPUs
– Flex Series of Intel Data Centre GPUs
– The Intel Data Centre GPU Max Series
FPGAs– Intel Stratix 10 FPGA
– Agilex FPGA from Intel
– Intel Arrie 10 GX FPGA-equipped Programmable Acceleration Card
Operating Systems– Linux and Windows
Fortran Language Support– Full 77, 90, 95, 2003, 2008, 2018, and partial 2023 support
(Refer to release notes for detailed version information)
Development Software– Microsoft Visual Studio
Threading Support– Native threads using OpenMP
– OpenMP versions: 4.5, 5.0, 5.1, 5.2, 6.0
- Advertisement -
RELATED ARTICLES

Recent Posts

Popular Post

Govindhtech.com Would you like to receive notifications on latest updates? No Yes