Intel® Fortran Compiler for oneAPI Release Notes, oneAPI 2023 Release

ID 792009
Updated 2/6/2024
Version 2023.2.4
Public

author-image

By

Introduction

This document provides a summary of new and changed product features and includes notes about features and problems not described in the product documentation.

The Intel® oneAPI product packages provide two Fortran compilers:

  • Intel® Fortran Compiler Classic (ifort) provides best-in-class Fortran language features, including full Fortran 2018 support, along with outstanding performance for Intel® Architecture CPUs.
  • The Intel® Fortran Compiler (ifx) has all of the Fortran language features of ifort, plus the added functionality of OpenMP* directives to offload to Intel GPUs. The OpenMP 5.0, 5.1 and 5.2 GPU offload features in ifx are not available in ifort. 

Our latest compiler, the Intel® Fortran Compiler (ifx), has achieved language feature parity with ifort (Fortran 2018)! Use ifx for CPUs and Intel GPUs. ifx is based on the Intel® Fortran Compiler Classic (ifort) frontend and runtime libraries, but uses LLVM-based backend compiler technology.  In this release (oneAPI 2023.2) ifx:

  • Implements FORTRAN 77, Fortran90/95, Fortran 2003, Fortran 2008 and Fortran 2018 language standards
  • Implements additional OpenMP 4.5 and OpenMP 5.0/5.1/5.2 directives and offloading features
  • Adds a couple of features from OpenMP 6.0

ifx and ifort are binary (.o/.obj) and module file (.mod) 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). Both compilers use the the same runtime libraries.  ifx may or may not match performance of ifort compiled applications. Performance improvements continue in ifx with each update release throughout 2023.

Where to Find the Release

Please follow the steps to download the Intel® oneAPI HPC Toolkit and follow the installation instructions.  It is recommended to install the Intel® oneAPI Base Toolkit first for full functionality. The Fortran compilers alone can be downloaded from the Standalone Components page.

Change History

This section highlights important changes from the previous product version and changes in minor releases.

New in Intel® Fortran Compiler Classic and Intel® Fortran Compiler oneAPI 2023.2.4 Release

Intel Fortran Compiler (ifx) version 2023.2.4

  • Minor bug fixes and security updates

New in Intel® Fortran Compiler Classic and Intel® Fortran Compiler oneAPI 2023.2.3 Release

Intel Fortran Compiler (ifx) version 2023.2.3

  • Bug fixes

New in Intel® Fortran Compiler Classic and Intel® Fortran Compiler oneAPI 2023.2.2 Release

Intel Fortran Compiler (ifx) version 2023.2.2

  • Bug fixes

New in Intel® Fortran Compiler Classic and Intel® Fortran Compiler oneAPI 2023.2.1 Release

Intel Fortran Compiler (ifx) version 2023.2.1

If you install or installed Intel compilers as part of the oneAPI 2023.2 release of the Intel® oneAPI Base Toolkit, the Intel® oneAPI HPC Toolkit, the Intel® oneAPI IoT Toolkit, or from the oneAPI Standalone Component page, please install the appropriate patch for your environment. 

Two patches are now available, one for each of the Intel C++ and Fortran compilers, that were published as part of oneAPI 2023.2:

* Intel® oneAPI DPC+/C+ Compiler and Intel® C++ Compiler Classic
* Intel® Fortran Compiler Classic and Intel® Fortran Compiler

The patch version is 2023.2.1. This patch fixes the issue with Linux modulefiles and an issue with using FPGA. 

See KNOWN ISSUES for additional information.

New in Intel® Fortran Compiler Classic and Intel® Fortran Compiler oneAPI 2023.2 Release

Intel Fortran Compiler (ifx) version 2023.2.0

  • The Intel® Fortran Compiler now supports the Fortran 2023 REDUCTION locality-spec on the DO CONCURRENT construct. With compiler option [qQ]openmp, the compiler will parallelize the DO CONCURRENT construct. Add [fQ]fopenmp-targets=<device> to offload to an Intel GPU.
  • The ifx compiler option -check uninit improves correctness and reliability of Fortran applications by detecting errors related to uninitialized variables using the LLVM Memory Sanitizer.
  • The compiler provides enhanced OpenMP 5.2 standards compliance by implementing order clause modifiers, allocators and dispatch constructs.
  • Improved performance.
  • Corrections to reported problems.
  • Updated with stability improvements and security enhancements
  • Read this supplemental article for more information about the implementation of Fortran 2003, Fortran 2008, Fortran 2018, OpenMP 4.5, OpenMP 5.x and some OpenMP 6.0 features.

Intel Fortran Compiler Classic (ifort) version 2021.10.0

  • Corrections to reported problems.
  • Updated to include recent versions of 3rd party components, which include functional and security updates.

New in Intel® Fortran Compiler Classic and Intel® Fortran Compiler

Back to top

System Requirements

Please see Intel® Fortran Compiler System Requirements.

Back to top

New and Changed Compiler Features

ifx 2023.2.0

More What's New

  • Support added for !DIR$ VECTOR TEMPORAL/NONTEMPORAL
  • Support for Microsoft* QuickWin on Windows
  • The compiler option -qopenmp-lib=compat is not available with ifx.

New Features for Intel GPUs

  • Starting with the 2023.2 compiler release the use of Level Zero immediate command lists is the default submission mode on Intel® Data Center GPU Max Series running Linux. On all other platforms the default continues to be non-immediate command lists. Read this article for more information including how to disable and enable intermediate command lists using environment variables.

New OpenMP Features

  • ALLOCATORS directive 
    • Specifies memory allocators to be used to allocate variables in the associated Fortran ALLOCATE statement and to use in their deallocation.
  • TILE directive 
    • Tiles (or blocks) one or more loops of a loop-nest. 
  • Optional END DISPATCH directive on the DISPATCH construct
  • END construct directives are now optional on OpenMP constructs that contain only a strictly-structured-block (a Fortran BLOCK construct).  

New Compiler Options

  • Option -fopenmp-default-allocator (and /Qopenmp-default-allocator) tells the compiler that all Fortran ALLOCATE statements should be treated as though there was an explicit OpenMP ALLOCATE directive that preceded them. 
  • Option -qopt-prefetch-loads-only (and /Qopt-prefetch-loads-only) tells the compiler to only insert prefetches based on the loads inside the loop. Stores are ignored. 
  • Enhancement to option -check uninit for Linux. Uses the LLVM Memory Sanitizer (MSAN) to enable run-time checking of uninitialized stack- or heap-allocated variables.  
  • -fimf-precision=low:exp,sin,cos,sincos,log,div enabled

ifort 2021.10.0

  • The Intel® Fortran Compiler Classic has been updated to include bug fixes and recent versions of 3rd party components, which include functional and security updates.
  • -qopenmp-lib=compat is deprecated in ifort and not available with ifx.

ifx 2023.1.0

New Feature Using Intel GPUs

  • Intel changed the default graphics compute binary format to a new portable, ELF-based ZE Binary format beginning with the oneAPI 2023.1 release.
    • To ensure a smooth transition to the new format ‘-ze-disable-zebin’/’-cl-disable-zebin’ graphics backend compiler options are provided to fall back to the legacy binary format for either offline or online compilation.
    • The new ZE Binary format will be generated by default and the deprecated legacy format will no longer be made available in a future release.
    • Examples to create the legacy binary format:

icpx -fsycl -fsycl-targets=spir64_gen -Xsycl-target-backend=spir64_gen "-device * -options -cl-disable-zebin" file.cpp

ifx -qopenmp -fopenmp-targets=spir64_gen -Xopenmp-target-backend=spir64_gen "-device * -options -cl-disable-zebin" matmul.f90

icpx -qopenmp -fopenmp-targets=spir64_gen -Xopenmp-target-backend=spir64_gen "-device * -options -cl-disable-zebin" file.cpp

Language and OpenMP

Fortran 2018
  • Implementation complete
OpenMP 5.1
  • Iterators are now supported in the DEPEND clause. 
  • Optional END construct directives are now supported with strictly structured block construct bodies. 
  • ASSUMES directive 
    • Provides hints to the optimizer about the current compilation unit and all the code it can reach through procedure calls. 
  • ERROR directive 
    • Causes the compiler or runtime system to process an error condition.
  • NOTHING directive 
    • Provides documentary clarity in conditionally compiled code or conditional OpenMP code. It has no effect on the semantics or execution of the program.
  • New clauses LINK and INDIRECT for directive DECLARE TARGET 
    • The LINK clause maps the list items for specific device executions, supporting functions called in a TARGET region that refer to the list items. The INDIRECT clause determines whether procedures specified in an ENTER clause can be called by an indirect device invocation. 

ifort 2021.8.0

New Compiler Options for ifort 2021.8.0

  • New option qmkl-ilp64, Qmkl-ilp64
    • Tells the compiler to link to the ILP64-specific version of the Intel® oneAPI Math Kernel Library (oneMKL).  
  • New assume option setting [no]old_e0g0_format
    • Determines whether Fortran 2018 rules are used to format floating-point numbers that have G0.0 or E0 or ES0 format edit descriptors. 
  • New fuse-ld option setting lld
    • Tells the compiler to use the lld linker.

ifx 2023.0.0

Language and OpenMP

Fortran 2018
  • Implementation complete
OpenMP
  • The following OpenMP 5.1 features are now available for ifx: 
    • DEPOBJ
    • INTEROP clause for DISPATCH
    • SCAN directive support
    • DEPEND types mutexinoutset, inoutset, and depopbj
    • DECLARE MAPPER with variable length arrays
    • PREFER_TYPE in the APPEND_ARGS clause of DECLARE VARIANT              
    • SCOPE construct
  • !$OMP PREFETCH 
    • Suggests to the compiler to preload data into cache, minimizing the effects of memory latency.
  • Most features of OpenMP 5.0/5.1 and some OpenMP 6.0 features are implemented. Details are in Intel® Fortran Compiler Classic and Intel® Fortran Compiler Developer Guide and Reference and in this supplemental article.

New Compiler Options for ifx

  • The following ifort compiler options are now available for ifx: 
    • -align 
    • -falign-functions 
    • -check:pointers

  • Several Clang compiler options are supported for the ifx compiler, such as some of the -fprofile options and -flto. We do not document these options. For more information about Clang options, see the Clang documentation.

    • Note that for ifx, the Clang -fprofile options replace the functionality of the [Q]prof options that are only supported for ifort.

    • -flto replaces [Q]ipo that is supported by ifort. This option enables whole program link time optimization (LTO). 

  • New option qmkl-ilp64, Qmkl-ilp64
    • Tells the compiler to link to the ILP64-specific version of the Intel® oneAPI Math Kernel Library (oneMKL).  
  • New assume option setting [no]old_e0g0_format
    • Determines whether Fortran 2018 rules are used to format floating-point numbers that have G0.0 or E0 or ES0 format edit descriptors. 
  • New fuse-ld option setting lld
    • Tells the compiler to use the lld linker.
Additional Information

Read this supplemental article for more information about the implementation of Fortran 2003, Fortran 2008, Fortran 2018, OpenMP 4.5 and OpenMP 5.0/5.1 features.

Back to top

Support Deprecated

Note that starting with release 2021.7, macOS* support is limited to Mac* computers with Intel® Processors.

macOS* support

macOS support is deprecated for Intel® Fortran Compiler Classic (ifort) in the oneAPI 2023.1 release. macOS support for Intel® Fortran Compiler Classic (ifort) will not be available starting with the oneAPI 2024.0 release.

Intel® C++ Compiler Classic (icc/icpc)

Intel® C++ Compiler Classic (icc/icpc) is deprecated and will be removed in a oneAPI release in the second half of 2023. Intel recommends that customers transition now to using the LLVM-based Intel® oneAPI DPC++/C++ Compiler (icx/icpx) for continued Windows* and Linux* support, new language support, new language features, and optimizations. For more information on icx/icpx, see the Intel® oneAPI DPC++/C++ Compiler Developer Guide and Reference and the Porting Guide for icc Users to dpcpp or icx.

Microsoft Visual Studio* 2017

Intel Compiler Integrations for Microsoft Visual Studio* 2017 were removed in oneAPI 2023.0. Support for Integrations for Visual Studio is limited to two supported major versions of Visual Studio: the current publicly available and supported major version and the previous major version from Microsoft.

ifort

  • Directive SIMD (!dir$ SIMD) is deprecated and may be removed in a future release. In the source code users should replace the directive with the OpenMP SIMD directive !$omp simd and associated clauses. When using the OpenMP SIMD directive remember to add compiler option -qopenmp-simd or -qopenmp. When compiling with -O2, -qopenmp-simd is implied.
  • The compiler option on Linux -mkl is deprecated and may be removed in a future release. Beginning in the 2021.4.0 release the replacement is -qmkl. This compiler option tells the compiler to link to necessary libraries in the Intel® oneAPI Math Kernel Library.

ifx

  • -fopenmp is deprecated and may be removed in a future release.  Use -qopenmp or -fiopenmp instead.
  • The compiler option on Linux -mkl is deprecated and may be removed in a future release. Beginning in the 2021.4.0 release the replacement is -qmkl. This compiler option tells the compiler to link to necessary libraries in the Intel® oneAPI Math Kernel Library.

Back to top

Known Issues

Missing Environment Module modulefiles

If you installed Intel compilers as part of the oneAPI 2023.2 release of the Intel® oneAPI Base Toolkit, the Intel® oneAPI HPC Toolkit, the Intel® oneAPI IoT Toolkit, or from the oneAPI Standalone Component page, please install the appropriate patch for your environment. 

Two patches are now available, one for each of the Intel C++ and Fortran compilers, that were published as part of oneAPI 2023.2:

* Intel® oneAPI DPC+/C+ Compiler and Intel® C++ Compiler Classic
* Intel® Fortran Compiler Classic and Intel® Fortran Compiler

The patch version is 2023.2.1.

These patches apply only to Linux* and Windows*.

These patches resolve the issue of missing Environment Modules utility modulefiles and other issues.

The patches are available on the Intel® Registration Center, other distribution channels, like APT, YUM, and the standalone component page.

Non-POSIX Shells

The environment start up scripts have been migrated to POSIX compliant scripts. For non-POSIX shells, such as csh, there is a workaround for command-line usage:
% bash -c 'source /opt/intel/oneapi/setvars.sh ; exec csh'

ifx and ifort

These are applicable when using both the ifx and ifort compiler drivers.

Evaluating Compile Time Integer Expressions

  • Beginning with the Intel Fortran Compiler (ifx) version 2023.2.0 and the Intel Fortran Complier Classic (ifort) version 2021.10.0
    • When evaluating compile time integer expressions, in some cases where overflow occurred, ifort and ifx did not issue any warning. This has been fixed.
    • When evaluating compile time integer expressions, in some cases where overflow should occur, ifort and ifx would instead silently promote the values to INTEGER(8), yielding a correct numeric result ,but with a larger KIND type  parameter. This automatic promotion to a larger KIND has been partially removed; most expressions will now overflow. This can result in numeric differences, but an overflow warning will be issued. For backwards compatibility, automatic promotion to INTEGER(8) will still occur in the limited case where all values of the expression are integer literals with no explicit KIND parameters. A warning will be issued in that case, too.

COMMON Block

  • Beginning with the Intel Fortran Compiler (ifx) version 2023.2.0 and the Intel Fortran Complier Classic (ifort) version 2021.10.0
    • Programs that pass a COMMON block, instead of individual COMMON block variables, to a OpenMP data sharing clause cause a runtime failure, i.e. segmentation fault or incorrect result. The workaround is to pass the individual COMMON block variables.

Module (.mod) Files

Beginning with the Intel Fortran Compiler (ifx) version 2023.1.0 and the Intel Fortran Complier Classic (ifort) version 2021.9.0 module (.mod) files are compatible only with those module files created with 

  • Intel® Fortran Compiler [ Composer | Professional ] Edition for Linux*, version 11.0,
  • Intel® Visual Fortran Compiler [ Composer | Professional ] Edition for Windows*, version 11.0, or
  • Intel® Fortran Compiler [ Composer | Professional ] Edition for Mac OS* X, version 11.0 and
  • newer.

The module files created by Intel Fortran compilers prior to version 11.0 are no longer compatible.

GDB* 10.0 and Earlier 

A change between oneAPI 2023.0 and oneAPI 2023.1 prevents GDB* 10.0 and earlier versions from properly debugging SYCL and OpenMP* CPU offload code produced by the Intel® C, C++, and Fortran compilers. These older versions of GDB are present on RedHat EL8, Ubuntu 20.04, and Rocky 8.

Workarounds

  1. Use the Intel® Distribution of GDB*.
  2. Download an open source version of GDB after version 10.0.

 Fortran Coarray Application Hang 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

 

Using the Coarray Feature with Red Hat 8

Applications that use the coarray feature and are running on Red Hat 8.0 or later should have Intel MPI 2019 Update 7 or later installed.  With earlier versions of MPI, applications may not complete successfully and give little information about the failure.

ifort

These are applicable when using the ifort compiler driver.

Cross Compiling (compiling in 32-bit mode on a 64-bit machine running Microsoft Windows*)

If you are running

  • Microsoft Windows* and
  • cross compiling (compiling in 32-bit mode on a 64-bit machine) and
  • using Microsoft Visual Studio* 2019 and
  • handle exceptions, particularly floating point exceptions, in your code and
  • you see a SEGV exception when your program gets a floating point exception,

your program did not handle the exception as intended.

The solution is to add legacy_x86_flt_exceptions.lib to your link command.

Functional and Security Updates

Intel® Fortran Compiler Classic 2021.8.0 may not include all the latest functional and security updates. A new version of Intel® Fortran Compiler is targeted to be released by March 2023 and will include additional functional and security updates. Customers should update to the latest version as it becomes available.

ifx

These are applicable when using the ifx compiler driver.

AOT Compilation and Runtime Failure

(Fixed in compiler version 2023.2.0) When compiling with the following options, i.e. Ahead of Time (AOT), and the offload kernel contains print statements, the program will stop with a runtime failure.

-fiopenmp -fopenmp-targets=spir64_gen -Xopenmp-target-backend "-device xxx" -fopenmp-device-code-split=per_kernel

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.

Mapping Derived Types

ifx does not support mapping of derived types with allocatable components. Prior to 2023.0.0, accessing contents of allocatable derived type components silently produced unexpected results; in 2023.0.0 a warning is issued indicating ifx does not support this feature.

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.

Functional and Security Updates

Intel® Fortran Compiler 2023.0.0 may not include all the latest functional and security updates. A new version of Intel® Fortran Compiler is targeted to be released by March 2023 and will include additional functional and security updates. Customers should update to the latest version as it becomes available.

Using -ax

The usage of -ax (auto cpu dispatch) is not currently supported when building libraries with the -fpic option. FIXED on Linux with ifx 2023.0.0.

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. See the Installation Guide for your OS for more information.

Language and OpenMP

Other known issues
  • With ifx the OpenMP clause COPYPRIVATE (allocatable or pointer-array) is not supported. [Fixed in 2023.0.0.]
  • !DIR$ directives are recognized by the front end, but not all are implemented. !DIR$ directives that ifx supports are: IVDEP, VECTOR [NO]DYNAMIC_ALIGN, VECTOR [NO]VECREMAINDER, DISTRIBUTE POINT, NOFUSION, [NO]UNROLL, [NO]UNROLL_AND_JAM, VECTOR ALWAYS ASSERT, among others.
  • Overall debugging is much improved, except for deferred shape arrays. This is true for both host and target.

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

Problem 

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.  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 complete 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 trigger it to be regenerated.  Ideally, documentation for the project will describe how to rebuild the configure script.

Solution for Package Maintainers

To prevent users 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 December 8, 2020.  Source code is available via git clone http://git.sv.gnu.org/r/autoconf.git.  GNU Autoconf documentation is available through GNU Autoconf Project Page.

Back to top

How To Install the Intel® Fortran Compiler

The installation guides for the Intel® oneAPI Toolkits are available online. Please check the Intel® oneAPI Toolkits Installation Guide for more information.

Back to top

How To Use the Intel® Fortran Compiler

Refer to

for details on how to use the Intel® Fortran Compiler for oneAPI.

Documentation

Product documentation is available online

Back to top

Technical Support

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

Back to top

Intel Fortran Compiler Release Notes for Previous oneAPI Releases

 

Notices and Disclaimers

Intel technologies may require enabled hardware, software or service activation.

No product or component can be absolutely secure.

Your costs and results may vary.

© Intel Corporation. Intel, the Intel logo, and other Intel marks are trademarks of Intel Corporation or its subsidiaries. Other names and brands may be claimed as the property of others.

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

The products described may contain design defects or errors known as errata which may cause the product to deviate from published specifications. Current characterized errata are available on request.

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.