Intel® Fortran Compiler Release Notes and System requirements

ID 846561
Updated 4/27/2026
Version
Public

author-image

By

The Intel® Fortran Compiler (ifx) is based on the Intel Fortran frontend and runtime libraries but uses modern LLVM-based backend compiler technology. Because of this, ifx gives you all the Fortran features you know in Intel Fortran, like legacy DEC extensions, superior Fortran Standards support, and powerful compiler directives. Everything you expect in Intel Fortran. But, in addition, ifx adds new capabilities for Intel’s latest CPU and GPU products, including OpenMP TARGET and automatic DO CONCURRENT offload to Intel GPUs for additional accelerated performance.

ifx fully supports Fortran Standards through Fortran 2018 and now includes several Fortran 2023 features.

 

Where to Find the Release

You can get the latest version of Intel® Fortran Compiler (ifx) as part of the Intel® oneAPI Toolkit, or as a Stand-Alone download.

If you have Priority Support for Intel® oneAPI Toolkit or any other oneAPI toolkit (i.e. an unexpired free license or a paid license with active support at the time of the build date for this product release), you can download the installer by logging in to Intel® Registration Center and selecting the appropriate product. You may need to create an account and/or register your product. For additional information, please see: Product Registration and Sign-Up FAQ

Release history
Release version Release Date
2026.0  04/28/2026

New in this Release

New in ifx 2026.0 release

New Fortran features in this release:

  • The leading zero edit mode allows a user to control the output of optional leading zeros in numeric outputs.  The default may be set when a file is opened, and overridden by the LEADING_ZERO= specifier in the control list of a WRITE statement, or controlled by the LZ, LZP, and LZS format edit descriptors.
  • The NOTIFY= specifier in an image selector increments a NOTIFY_TYPE variable on the remote image that data is written to.  The NOTIFY WAIT statement waits until the NOTIFY_TYPE variable specified reaches a the threshold value specified before the image continues execution.  This is a more efficient mechanism that a EVENT POST following a remote write statement.  NOTIFY WAIT is an execution control statement, but not an image control statement, so syncing memory across images is not required.
  • Conditional expressions provide for the evaluation of a selected subexpression.  Logical expressions are evaluated from left to right until the first expression that evaluates to true is found, and the corresponding subexpression is evaluated and becomes the value of the expression.  If no true logical expression is found, the default subexpression becomes the value of the conditional expression.  The syntax is the same as that for C conditional expressions: 
    (scalar_logical_expr ? expr [: scalar_logical_expr ? expr] … : expr)

New OpenMP features in this release:

  • The OpenMP 6.0 PREFER_TYPE modify syntax for an interop object allows specification of foreign runtime identifiers and attributes.
  • The OpenMP 6.0 THREADSET clause allows users to specify the set of threads that execute tasks generated by TASK and TASKLOOP constructs.
  • The OpenMP 6.0 AUTOMAP modifier on the ENTER clause of a DECLARE TARGET directive automatically maps allocated ALLOCATABLE data objects to a device and removes deallocated ALLOCATABLE data objects from the device.
  • The -qopenmp-threadprivate option allows you to specify an OpenMP* threadprivate implementation.

Changes in this release:

  • Starting from Intel® Fortran Compiler version 2025.3, the Microsoft Visual Studio* Intel® Fortran Expression Evaluator (FEE) is not part of the Intel® oneAPI Toolkit anymore. You need to install the Intel® Fortran Expression Evaluator (FEE)  extension manually from VS Extensions to enable all Fortran application debugging features. 
  • Microsoft Visual Studio* 2026 support is available in the Fortran IDE extension. This feature was introduced in the 2025.3.1 patch release and is included in the 2026.0.0 release. Users can continue to use existing workflows without any changes. Supported on Windows 10 and 11.

Known Issues and Limitations  Anchor

BLOCK DATA

  • On Windows systems, a subprogram built into a library that references a common block variable initialized in a BLOCK DATA subprogram that is compiled separately and linked with the library will not get initialized, but will have a zero value.  The workaround for this problem is to compile the subprogram and the BLOCK DATA subprogram together, or pass the object file with BLOCK DATA separately on the link line.

COMMON Block

  • Beginning with the Intel® Fortran Compiler (ifx) version 2023.2.0, programs that declare a COMMON block, instead of individual COMMON block variables, in an OpenMP data sharing clause cause a runtime failure, i.e., segmentation fault or incorrect result. The workaround is to declare the individual COMMON block variables.

Integration with Microsoft Visual Studio*

  • On systems where the Intel® Fortran Compiler 2025 (IFX) is installed without a previous version of IFORT, users might encounter an error when building a Fortran project in Microsoft Visual Studio*: "The Fortran compiler (ifort.exe) cannot be found."
  • To resolve this, right-click on the project in Solution Explorer, select "Intel Compiler," and then choose "IFX Intel Fortran Compiler."

map-type/map-type-modifier

program main                        
   type mytype                      
      integer, pointer :: p(:)      
      integer :: y                  
   end type                         
                                    
   type(mytype) :: x                
   x%p => null()                    
   x%y = 111                        
#if BUG                             
   !$omp target map(to: x)          
#else               
   !Workaround                
   !$omp target map(to: x, x%p)     
#endif                              
   print *, associated(x%p) ! not ok
   print *, rank(x%p) ! not ok      
   print *, x%y ! ok                
   !$omp end target                 
end        

map-type/map-type-modifier applied to it is not propagated to the pointer component of the derived type. This means that if "x" is mapped with map(to), the pointer component is not mapped with "map(to)" but only with "map(alloc)". The result is that any query regarding the association status, rank, etc, on the pointer x%p done on its device copy, will return random results.

The above behavior complies with the spec requirement "If a pointer field of a derived type is not explicitly mapped, the pointer is attach-ineligible."
The proper approach is to explicitly map the pointer when mapping the pointer x%p on the same construct, as shown above.

Fortran Coarray Application Hangs After Executing FAIL IMAGE

If you use a FAIL IMAGE statement to make an image fail, you should use a STAT= specifier or a STAT argument in all coarray operations that might encounter that failed image if the statement or operation permits, or you should specify either the assume failed_images or standard-semantics compiler option. If you do not use a STAT= specifier, a STAT argument, or specify one of the compiler options, those operations will not check for failed images. They may then try to coordinate with the failed image, waiting for a response from it. The response would never happen and so the application would hang.

The following example demonstrates using the STAT= specifier to prevent an application hang.

SUBROUTINE FAIL_AND_SYNC ( THIS_ONE )
   INTEGER THIS_ONE
   INTEGER MY_STAT
   IF (THIS_IMAGE() .EQ. THIS_ONE) THEN
       FAIL IMAGE
   END IF
   SYNC ALL (STAT=MY_STAT)      ! Would hang without STAT=
END SUBROUTINE FAIL_AND_SYNC

opt-reports

There is a known issue with using opt-reports with programs containing OpenMP loop constructs with "schedule(dynamic)", which may cause the compiler to emit an error. In this case, it is recommended that the user remove -qopt-report from their compilation.

Potential for Incorrect Results Using Certain OpenMP Offload Directives

There is potential for incorrect results using OpenMP pragmas to offload to Intel® GPUs where a parallel loop nested inside a TEAM construct is using a variable in a REDUCTION clause, and the TEAM construct does not have the same REDUCTION clause. To avoid incorrect results, compile with -mllvm -vpo-paropt-atomic-free-reduction-slm=true to disable global memory buffers.

Using -ipo and mixing ifx with ifort object files.

ifx is binary (.o/.obj) and module (.mod) file compatible; binaries and libraries generated with ifort can be linked with binaries and libraries built with ifx, and .mod files generated with one compiler can be used by the other (64-bit targets only). If you compile with -ipo though, the compatibility between ifort and ifx is broken. 

GPU Driver Hanging Issue

If you have applications with long-running GPU compute workloads in native environments, you must disable the hangcheck timeout period to avoid terminating workloads. For more information, see the Installation Guide for your OS.

OpenMP offloading to Intel® Xe-LPG Integrated Graphics GPUs

Fortran applications that perform OpenMP offloading to Intel® Xe-LPG Integrated Graphics GPUs may encounter runtime failures or unexpected results. This error has been seen on The latest Intel® Core™ Ultra processors (Series 1 and Series 2), codenames Meteor Lake and Lunar Lake. Affected applications use OpenMP DISTRIBUTE PARALLEL DO constructs with collapse clause added inside an OpenMP target region. The issue has been isolated to the current GPU drivers for Intel® Core™ Ultra processors (Series 1 and Series 2), codenames Meteor Lake and Lunar Lake. A driver update to address this issue will be released at a future date.

Device pointer translation issue 

If the pointer translation for xptr listed in the "adjust_args(need_device_ptr: xptr)" clause fails, the expected behavior according to the OpenMP specifications is to nullify xptr, but the current ifx behavior is to use the untranslated host pointer. 

CMake Information

  • Starting from CMake 3.25, due to limitations in the way CMake tracks linker flags, a CMake project with mixed C/C++ and Fortran code where one of the compilers is LLVM-based (e.g. icx, ifx) and another is the classic version (e.g. icc, ifort) will result in invalid linking flags. As an example, CMake cannot build a project using "icx" as the C/C++ compiler and "ifort" as the Fortran compiler.
    • The workaround is to use only LLVM-based compilers when building mixed-language applications. 
  • Starting from CMake 3.27, CMake support for Intel® oneAPI DPC++/C++ Compiler and Intel® Fortran Compiler has been updated to use the compiler driver instead of the linker for linking. This change enables use cases for building SYCL applications and libraries and enables Interprocedural Optimization (IPO) on Windows*. 

Some old dependencies failed with Configure Script Reports: "linking to Fortran libraries from C fails."

Symptom:

When compiling with ifx, a ./configure script generated by GNU Autconf reports an error message similar to:

    checking for Fortran 77 libraries of ifx...  -loopopt=0 -L/lib/../lib64 -L/lib/../lib64/ -L/usr/lib/../lib64 -L/usr/lib/../lib64/ -L/lib64 -L/lib/ -L/usr/lib64 -L/usr/lib -lifport -lifcoremt -limf -lsvml -lm -lipgo -lirc -lpthread -lirc_s -ldl
    configure: WARNING: FLIBS does not work
    checking for ifx flag to add single underscore to external names... none
    checking for dummy main to link with Fortran 77 libraries... unknown
    configure: error: in '/path/to/build/dir':
    configure: error: linking to Fortran libraries from C fails
    See `config.log' for more details
    make: *** [build/config.status] Error 1

Examining the config.log file shows that the error causing ./configure to exit was:

    ld: cannot find -loopopt=0

Root-cause: 

In trying to determine libraries needed to link Fortran code with C or C++ code, GNU Autoconf 2.69 and earlier mistakenly interprets -loopopt=0 in -mllvm -loopopt=0 in verbose compiler output as a linker flag.  GNU Autoconf then adds -loopopt=0 to the FLIBS variable, which is passed to the linker.  The linker then looks for a non-existent library, causing the test to fail.

Solution for Users Downloading Source Code:

Please inform the maintainers of packages impacted by this error about the problem and refer them to this release note. Projects vary in how they handle configure scripts; however, some general rules apply. Users who need a solution before the package maintainer can respond can update the configure script themselves. The difficulty of updating depends on how the package is distributed.

To update, first, install GNU Autoconf-2.70 or newer, as described in Solution for Package Maintainers, below.

After installing the updated autoconf in the user's path, packages that distribute the configure.ac file along with the configure  script can be updated simply by running:

    autoreconf -if

The resulting configure script should be completed without the above error in FLIBS.

It is not uncommon for project maintainers to remove the configure.ac file from a source distribution in a tar or zip archive.  In that case, the user usually needs to download the project from its code repository and build according to the project's instructions.  Sometimes a version of the configure script is committed to version control and not automatically regenerated.  In that case, either running autoreconf -if as described above, or deleting the configure script often triggers it to be regenerated.  Ideally, the project documentation will describe how to rebuild the configure script.

Solution for Package Maintainers:

To prevent users from seeing errors, update to GNU Autoconf to version 2.70 or later and re-generate the project configure script.  GNU Autoconf-2.70 was released on December 8, 2020.  The source code is available via git clone: http://git.sv.gnu.org/r/autoconf.git.  GNU Autoconf documentation is available through the GNU Autoconf Project Page.

System Requirements

Supported Architectures and Terminology - Intel® 64 Architecture refers to systems based on IA-32 architecture processors, which have 64-bit architectural extensions (like Intel® Core™ architecture processors, running a 64-bit operating system such as Microsoft Windows* 10 x64 or a Linux* "x86_64" variant).

Note: Minor releases (e.g., 2026.1) automatically inherit all OS requirements from the base major release (2026.0). Only operating systems marked with (+) are newly added in that minor release, and those marked with (–) are removed. Asterisks(**) indicates Deprecations. All others remain unchanged and are not duplicated in the table.

Hardware Requirements

Release Version RAM Disk Space Supported CPUs Supported GPUs
2026.0(Baseline) At least 8 GB recommended

~2 GB of disk space (minimum) if only installing compiler and its libraries: Intel oneAPI Fortran Compiler, Intel oneAPI DPC++/C++ Compiler, Intel® oneAPI DPC++ Library and Intel® Threading Building Block

NOTE: During the installation process, the installer may need up to 6 GB of additional temporary disk storage to manage the download and intermediate installation files

Systems based on Intel® 64 architectures below are supported both as host and target platforms.

  • Intel® Core™ processor family or higher
  • Intel® Xeon® processor family
  • Intel® Xeon® Scalable processor family
  • Intel® Core™ Ultra  processors
  • Intel® UHD Graphics for 11th generation Intel processors or newer
  • Intel® Iris® Xe graphics
  • Intel® Arc™ graphics
  • Intel® Server GPU
  • Intel® Data Center GPU Flex Series
  • Intel® Data Center GPU Max Series

Supported Operating Systems

  • Note: These OS distributions are tested by Intel or known to work; other distributions may or may not work and are not recommended. If you have questions, access the Intel Community Forums when you need assistance.  If you have Commercial Support, create a support ticket.

Release Version Hardware Linux Windows
2026.0 For CPU
  • Red Hat Enterprise Linux* 8.10, 9.6, 9.8, 10.x
  • SuSE LINUX Enterprise Server* 15 SP5, 15 SP6, 15 SP7, 16.0
  • Ubuntu LTS 22.04, 24.04, 25.04
  • Fedora* 43, 44
  • Rocky Linux 10
  • Debian* 11, 12
  • Amazon Linux 2023, 2025, 2026
  • WSL 2
  • Microsoft* Windows 10, 11 

  • Microsoft* Windows Server 2019, 2022, 2025

For GPU

  • PVC:
    • Ubuntu LTS 22.04, 24.04 server
    • Red Hat Enterprise Linux*/Rocky 9.6, 9.7, 10.0, 10.1
    • SLES 15 SP4, 15 SP5, 15 SP6, 15 SP7
  • ATS-M:
    • (Same as PVC) Ubuntu LTS 22.04/24.04 server
    • (Same as PVC) Red Hat Enterprise Linux*/Rocky  9.6, 9.7, 10.0, 10.1
  • Crescent Island (CRI):
    • Ubuntu LTS 24.04, 26.04 server with UMD on Kobuk
  • All other client GPU platforms:
    • Ubuntu LTS 24.04, 25.10, 26.04
  • ATS-M:
    • Windows Pro and Enterprise 10, 11
    • Windows Server 2022
  • All other client GPU platforms:
    • Windows Pro and Enterprise 10, 11

Supported IDEs

Eclipse*

  • Eclipse 2025-12
  • Eclipse 2025-09
  • Eclipse 2025-06

Microsoft Visual Studio*

  • Microsoft Visual Studio* 2022 17.x with 'Desktop development with C++' component installed
  • Microsoft Visual Studio* 2026 18.x with 'Desktop development with C++' component installed

Software Requirements

  • Linux kernel 4.11 or higher
  • Supported minimum versions of distributed libraries that the compilers are built on: GCC - 7.5.0, BINUTILS- 2.30, GLIBC-2.28, G++ - 7.5.0.  If the highest version of GNU GCC used doesn't have the equivalent g++ package installed, the customer will run into an error. For further details, please check this article--fatal error: <C++ header> file not found with Intel® oneAPI DPC++/C++ Compiler

For GPU: Level 0 and OpenCL  graphics drivers

  • To install the Linux General Purpose Intel GPUs (GPGPU) Driver, see the installation guide and follow the directions for your device.
Release Linux Driver Windows Driver
2026.0

oneAPI 2026.0 release is validated with  LTS Driver <update> 2350.103 and Rolling Driver 2437.26 and is expected to work with subsequent driver versions at https://dgpu-docs.intel.com/releases/releases.html

  • For Intel® Arc™ A-Series Graphics, Intel® Iris® Xe Graphics, and Intel® Core™ Ultra Processors with Intel® Arc™ Graphics install the latest driver from here
  • For Intel® Data Center GPU Flex Series (ATS-M) install latest driver from here
  • You must have the latest drivers to collect GPU usage events and processor graphics hardware events on Windows*. Request drivers from Intel® Support or download them here.

  • Requirements to compile DPC++ applications: You must compile DPC++ applications with -gline-tables-only and -fdebug-info-for-profiling options to ensure the availability of debug information for performance analysis.

Graphics Driver Installation

  • Windows Intel® Graphics Driver
    To install the driver, follow the directions in the article appropriate for your device

    • Intel® Arc™ Graphics, 11th-13th Gen Intel® Core™ processor directions.
    • Xe Dedicated, 6th-10th Gen Intel® Core™ Processor Graphics, and related Intel Atom®, Pentium®, and Celeron® processors directions. Driver version varies depending on the Intel® Graphics in the system.
    • Intel® Data Center GPU Flex Series (ATS-M). Contact your OEM representative for access to the Intel® Registration Center.
  • Linux General Purpose Intel® GPUs (GPGPU) Driver
    For all Intel® GPUs, see this article, Overview, and follow the directions for your device.

Support Deprecated

Lists the features or tools which will be deprecated, along with date and timeline of deprecation

Support Removed 

  • The Intel OpenMP extension SUBDEVICE clause on TARGET, TARGET DATA, TARGET ENTER DATA, TARGET EXIT DATA, and TARGET UPDATE constructs is no longer supported. 
  • The Intel proprietary syntax for “omp target variant dispatch” to call MKL functions that offload to a GPU is no longer supported. It can be replaced by "omp target dispatch".
  • Support of the Fortran IDE extension for Microsoft Visual Studio* 2019 has been discontinued starting from the 2026.0.0 release. Users are recommended to upgrade to a supported Microsoft Visual Studio* version (Microsoft Visual Studio* 2022 or later) to continue using the Fortran IDE extension.

Other Documentation and Support

Product documentation is available online

Directory Layout Change Implemented in 2024.0

The directory layout is improved across all products to streamline installation and setup. The Unified Directory Layout is implemented in 2024.0. If you have multiple toolkit versions installed, the Unified layout ensures that your development environment contains the correct component versions for each installed version of the toolkit. The directory layout used before 2024.0, the Component Directory Layout, is still supported on new and existing installations. For detailed information about the Unified layout, including how to initialize the environment and its advantages, refer to Use the setvars and oneapi-vars Scripts with Linux and Use the setvars and oneapi-vars Scripts with Windows.

Technical Support

If you have Priority Support, create a support ticket. Otherwise, access the Intel® Fortran Compiler forum when you need assistance. 

Legal Information

No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.

Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.

This document contains information on products, services and/or processes in development. All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest forecast, schedule, specifications and roadmaps.

The products and services described may contain defects or errors which may cause deviations from published specifications. Current characterized errata are available on request. No product or component can be absolutely secure.

Copies of documents which have an order number and are referenced in this document may be obtained by calling 1-800-548-4725 or by visiting Resource & Documentation Center.

Intel, the Intel logo, Intel Core, Intel Xeon Phi, VTune, and Xeon are trademarks of Intel Corporation in the U.S. and/or other countries.

*Other names and brands may be claimed as the property of others.

Microsoft, Windows, and the Windows logo are trademarks, or registered trademarks of Microsoft Corporation in the United States and/or other countries.

Java is a registered trademark of Oracle and/or its affiliates.

OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.


Copyright 2010 - 2022 Intel Corporation.

This software and the related documents are Intel copyrighted materials, and your use of them is governed by the express license under which they were provided to you (License). Unless the License provides otherwise, you may not use, modify, copy, publish, distribute, disclose or transmit this software or the related documents without Intel's prior written permission.

This software and the related documents are provided as is, with no express or implied warranties, other than those that are expressly stated in the License.

 

1