Tools
Explore new features and tools within Intel® products, communities, and platforms
77 Discussions

The Intel® Fortran Compiler in Intel® oneAPI

Ron_Green
Moderator
2 0 2,185

by Ron Green

I often hear members of the Fortran community make statements such as “I thought Intel® oneAPI (oneAPI) is all about C++ and SYCL*”? and “Why is Fortran even in oneAPI since it has nothing to do with C++ or GPUs“? Isn’t Intel® oneAPI all about GPUs”? Or “I don’t use GPUs so why should I move away from my Fortran compiler in Intel® Parallel Studio XE?”  Let’s explore these valid questions and concerns.

Is Fortran part of Intel® oneAPI?

“Isn’t Intel® oneAPI all about C++ and SYCL”?  The answer is no.  And the related question “Why is Fortran even in oneAPI since it has nothing to do with C++ or GPUs“? There is a lot more to oneAPI than C++.  I will, of course, talk about how the Intel® Fortran Compiler fits into Intel oneAPI, but I must first mention that oneAPI is a family of development tools and libraries based on open standards.  This includes not only compilers but also performance libraries, tools for profiling and analysis of user programs, our MPI library, frameworks and libraries for machine learning, artificial intelligence, computer vision, and oneAPI includes a very popular distribution for Python*. It is a complete and rich family of development tools covering many software domains.

So how does the Intel Fortran Compiler fit in with all of the oneAPI tools and toolkits?  If you follow  oneAPI press and marketing from Intel, you have good reason to wonder how Fortran fits in or even if it’s in there at all!  As Fortran programmers, we have gotten used to other programming languages and techniques getting all the press.  In the Intel Fortran Compiler development team, we refer to this as “chasing shiny objects”.  That is, watching the press follow what is new, trending, and talked about by the Computer Science departments in universities around the world. As members of the Fortran community we shrug, smile, and get back to the serious work of providing real world solutions that put people on the moon, design our aircraft, bridges, skyscrapers, predict the weather and climate change, and continue to mold our modern world in so many ways. Yes, these shiny objects are interesting. Let’s see where these shiny new technologies are 50 years from now (or even 5 years from now).

But I strayed off topic: Why you do not hear about the Intel Fortran Compiler in oneAPI marketing?  The reason that you do not hear much about Fortran in oneAPI is quite simple. The Intel Fortran Compiler is a well-established leader in Fortran compilers.  We do not need to remind people about our compiler.  You know who we are and what our compiler provides.  We are proven.  We have a large and active user community. On the other hand, Intel oneAPI is trying to change the non-Fortran development landscapes with open standards and creative tools for heterogeneous computing.  So naturally, the rest of oneAPI receives most of our marketing attention.  We do not need to sell you on the value of our Fortran compiler. I like to tease my oneAPI colleagues with the observation that, as far as market share of compilers are concerned, “we are a Fortran compiler company with C++ ambitions”.  In their defense, the Intel® oneAPI DPC++/C++ Compiler and SYCL are making inroads in the software development community.  So, of course you do not hear much about the Intel Fortran Compiler in oneAPI in press and marketing.  Our other compiler technologies, libraries, and tools need more exposure and press than our established Fortran compiler.  Rest assured; our Fortran compiler is a big part of oneAPI.  

Isn’t Intel® oneAPI just about GPUs?

Heterogeneous computing including accelerators is a big part of the Intel oneAPI strategy.  And the Intel Fortran Compiler (ifx) supports this strategy with a leading implementation of the OpenMP* standard for offload to Intel GPUs.  We also recently implemented a feature to automatically offload DO CONCURRENT blocks to GPU! But make no mistake, Intel compilers always provide leadership performance for Intel® Architecture CPUs.  This mission has not changed.  The latest Intel Fortran Compiler (ifx) and Intel® Fortran Compiler Classic (ifort) provide leadership performance for Fortran applications on supported CPUs.  And on top of this core mission, ifx also provides support for Intel’s GPUs. 

Why should I move from Intel® Parallel Studio XE (PSXE)?

“I don’t use GPUs so why should I move away from my Fortran compiler in Intel® Parallel Studio XE (PSXE)? Isn’t oneAPI just for GPU programmers”?  While ifx does support Intel GPUs, in the years since Intel launched oneAPI we’ve completed and solidified our Fortran 2018 Standard support and tuning for the latest Intel processors.  The Fortran Compilers in the oneAPI packages are far superior to our Fortran compilers in Intel® Parallel Studio XE when you consider Fortran Standards support and bug fixes. So, yes, we support Intel GPUs with ifx, but we continue to support our core mission of world-class performance for CPUs.  CPU technologies are evolving, and top performance and support for leading Intel® Architecture will be in oneAPI packages.   

In addition to advanced processor support, there is the need to keep up with the latest Fortran Standards. The Fortran Standards continue to move forward.  Soon the Fortran 2023 Standard will be ratified.  After that, F202y is in the works.  Our Fortran compiler in oneAPI is moving forward in support for the new Standards.  We maintain a detailed table of both Fortran Standard features and OpenMP features, our Fortran Language and OpenMP* Features page.  Track these pages for all the latest developments in Intel Fortran.

So, why should you move off of PSXE?  First and foremost, the latest version of Intel® Fortran should do everything your older PSXE Fortran compiler did, and more.  The Intel Fortran Compiler in oneAPI is fully backwards compatible with your old Fortran compiler in PSXE.  Second, PSXE has dropped out of support.  This means that if you do find a bug or problem, unless that problem is reproducible in our latest supported product we will not fix your issue. And while unsupported versions are available for download, they do not include the latest functional and security updates. 

Security fixes are important, and as you already know, and they are released on a regular basis. We run extensive screening and scans nightly on our sources and binaries, and have a policy to not release our products until all current vulnerabilities are addressed.  Since there will be no more PSXE releases, the last scans and fixes for PSXE compilers was in 2020.  That is a lot of years without any security patches.  How often is your phone or OS patched?  Would you go 3 years without any updates?

And finally, technology is moving: both operating systems and hardware.  Older version software is created and tested for the OSes and hardware available at that point in time.  Technology is fluid, and the latest compiler versions move with this wave.  I wish I had a dollar for every user looking for an older version of Intel Fortran only to find out they need an ancient OS and IDE that works with that old version.  And to their chagrin, the old version no longer works under the latest OS and IDTh that they now have on their PC or company server.  And of course, the IT department will not allow that old environment on their network due to security vulnerabilities in the ancient OS.  Or they simply cannot find a download for the old OS and IDE. At some point they simply have to move to newer software and hardware.  For all these reasons, it is time to move off of PSXE.

What is the latest version of oneAPI (as of April 2023)?

This latest update of the oneAPI toolkits and components was posted online in April 2023, version 2023.1.0.  The Intel Fortran Compiler and Intel Fortran Compiler Classic are included in the Intel® oneAPI HPC Toolkit, and provided as a separate download from our Single Component Downloads and Runtime Versions page, and our repos for package managers we released:

  • Intel® Fortran Compiler, version 2023.1.0
  • Intel® Fortran Compiler Classic, version 2021.9.0

(Confused about versions of compiler versus versions of oneAPI? Read all about it in my forum post on version confusion.)

You can also download the oneAPI HPC Toolkit which contains our Fortran compilers.  If you are trying ifx for the first time and are an ifort user, make sure to read our ifx Porting Guide  https://www.intel.com/content/www/us/en/developer/articles/guide/porting-guide-for-ifort-to-ifx.html

 

Author! Author!

Keep up with all the latest from the Intel Fortran team by following me on Twitter @iCompilersRon

Ron Green #IAmIntel

Ron_Green_0-1683776393226.jpeg

 

Ron Green is a manager for the Intel® Fortran Compiler team. He is a customer advocate for Intel® Fortran and the larger Software and Advanced Technology Group (SATG) at Intel Corporation.  Ron is a moderator of the Intel Fortran Community Forum and is an Intel Developer Zone Black Belt Developer.  He has extensive experience as a Fortran developer and consultant in HPC for the past 30+ years and has been with Intel’s developer tools and compiler team for 15+ years.  

 

 

 

Tags (3)
About the Author
Compilers, HPC, Developer Tools support. Fortran friendly.