The Intel® Fortran Compiler (BETA) (ifort driver) in the Intel® oneAPI HPC Toolkit beta release includes a full implementation of the Fortran 2018 standard, including the REDUCE intrinsic. However, these features are not available when using the ifx compiler driver.
The ifort (BETA) compiler in the Intel® oneAPI HPC Toolkit is the next major release of our Fortran compiler ifort. We are not running a formal beta-test program for ifort in 2020 like we have in past years. This beta10 release is an update to our first reveal that was in beta07. So we invite you to test this new ifort in the Intel® oneAPI HPC Toolkit, try the new features, and give us feedback to help improve our Intel® Fortran Compiler.
The Intel® Fortran Compiler (BETA) (ifx driver) is also included in this Intel® oneAPI HPC Toolkit beta release. "ifx" replaces the use of "ifort -qnextgen" or "ifort /qnextgen".
This software is shipped under a pre-release license and cannot be used for building production software. Please consult the EULA included in the distribution as well as the Disclaimer and Legal Information section of these release notes for details.
Please follow the steps to download the Intel® oneAPI HPC Toolkit and follow the installation instructions. Install the Intel® oneAPI Base Toolkit first for full functionality.
This section highlights important changes from the previous product version and changes in product updates.
Please see Intel® Fortran Compiler System Requirements.
Installation instructions are shipped with all Intel® Software Development Products as part of the documentation. Installation guide for the latest Intel® oneAPI HPC toolkit version is also available online. Please check Intel® oneAPI page for installation guides.
Please refer to
for details on how to use the Intel® Fortran Compiler.
Product documentation is available online
Japanese language support is not provided with this release of the product.
Access the Intel® Fortran Compiler forum when you need assistance.
These features are not available when using the ifx compiler driver.
These features are not available with the ifx compiler driver.
Please refer to the compiler documentation for details. The following new compiler options are added:
Linux / macOS
Tells the runtime system to check for failed images on a team of images when executing an image control statement without a STAT= specifier or a call to MOVE_ALLOC or an atomic or collective subroutine without a STAT argument. Default nofailed_images.
Tells the compiler to generate IEEE compareSignaling<relation> operations for floating point comparisons, as required by the Fortran 2018 standard. Default noieee_compares.
Tells the runtime system to detect non-standard usage of coarray team features. Examples are the use of a TEAM variable in the NUM_IMAGES intrinsic that does not describe the current team or an ancestor of the current team, or the use of TEAM_NUMBER=-1 in an image selector to indicate the initial team. Default noteams.
For a complete list of deprecated compiler options, see the Compiler Options section of the documentation. Newly deprecated compiler options are listed below
Use of IPO ( -ipo ) for Intel® oneAPI Fortran Compilers Classic available in the Intel® oneAPI HPC Toolkit on macOS 11 causes a link-time error. Please remove -ipo from your compiler options for macOS* 11.
This link error does not affect Linux* or Windows* compilers. It does not affect current macOS* 10.x users, only the new macOS 11 “Big Sur”* operating system.
IPO support for macOS* 11 “Big Sur”* is deprecated and non-functional in beta10 and will be removed in a future release.
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
If you are running
your program did not handle the exception as intended.
The solution is to add legacy_x86_flt_exceptions.lib to your link command.
These are applicable when using the ifx compiler driver.
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.
Due to a bug, the ifx compiler on Linux* does not support linking library archives using the -l option for libraries that contain target offload code, i.e., offload code for GPU or FPGA. This article describes the problem and the workaround. This workaround also applies to other Intel LLVM-based compilers, icx, icpx and dpcpp.
The Intel® Fortran Compiler Classic (ifort) supports the full Fortran 2008 standard and the full Fortran 2018 standard. New Fortran 2018 features supported by the current version are listed in the 'New features from Fortran 2018' section.
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.
Os compiladores da Intel podem ou não otimizar para o mesmo nível de microprocessadores não Intel no caso de otimizações que não são exclusivas para microprocessadores Intel. Essas otimizações incluem os conjuntos de instruções SSE2, SSE3 e SSSE3, e outras otimizações. A Intel não garante a disponibilidade, a funcionalidade ou eficácia de qualquer otimização sobre microprocessadores não fabricados pela Intel. As otimizações que dependem de microprocessadores neste produto são destinadas ao uso com microprocessadores Intel. Algumas otimizações não específicas da microarquitetura Intel são reservadas para os microprocessadores Intel. Consulte os Guias de Usuário e Referência do produto aplicáveis para obter mais informações sobre os conjuntos de instruções específicos cobertos por este aviso.
Revisão do aviso #20110804