Risk of using Fortran

In the May 2022 Tiobe Index, Fortran and D are ranked 30 and 36, with shares of 0.38% and 0.26%.

The second and third sentences involve unnecessary broadening and generalization.

There are other Fortran compilers available on Windows, free and licensed. The speed of executables produced is only one aspect of the performance of a compiler. Error checking, following standards, good library support, quality of build tools, etc., are also important attributes.

Nothing prevents us from using a combination of compilers and tools. The mere act of using licensed tools, say, a nice program editor, or the Windows OS, to develop a Fortran program, need not prevent your source from becoming ā€œopen sourceā€, if you wish to make it open source.

2 Likes

Thanks for the info.

The world beyond HPC region is by no means limited to Windows, luckily :wink:

1 Like

You do know that no compiler (that I know of) is ā€œas fastā€ on Windows as on linux? We had this question about Intel Fortran on Windows vs Linux wrt compilation time, runtimes. Windows is slower - for both ifort and for gfortran on raw compilation speed. But remember, all compilers rely on the base OS for a lot of what they do. Consider compilation: opening temp files, removing temp files, malloc/free of internal structs used by the compiler. The linkers are vastly different. Object file formats different. etc.

Extending this to runtime of executables: first up, loading the program and itā€™s shared objects / DLLs. Vastly different mechanisms between Linux and Windows (and macOS for that matter). All the initial static allocations calling malloc - different. Then in runtime - more mallocs and frees AND lots of calls to memmov, memcpy, stack alloc/dealloc, heap management calls. Now calls to math intrinsics SIN COS etc. all coming from the base OS libraries throughout the run. One cannot compare linux to mac. Just like itā€™s not useful to compare my pickup truck to my sports car. Depends on the job at hand. You made a comment that because Windows may be slower that itā€™s preventing development on Windows. I simply donā€™t see that in the Intel user base data - where the majority our users are on Windows ( I probably should not give the number). Windows is a great development environment for some. I am a linux/mac developer but I do appreciate the wealth of tools on Windows and understand why developers may choose it over Linux or macOS.

HPC gets a lot of attention. But having consulted and traveled to Fortran customers over 30+ years I can tell you there are a LOT of small Fortran development shops you never hear about outside of HPC. And a lot of them use Windows and Visual Studio. Insurance, Wall Street and investment, the power grid and power generation, to small electric co-ops out in the middle of rural America, supply chain optimization SW, manufacturing materials optimizations and simulation, semi truck air brake design, drug and pharma, oil and gas, US Forest Service, Army Corp of Engineers, marine sensor design, and on and on. Real time air traffic control. OK so I have never met anyone doing game development in Fortran. Oh wait, I did see a physics engine inside a gaming companyā€™s product that was written in Fortran. Then of course the obvious HPC and research projects. There is a LOT of Fortran code on Windows flying under the media radar. Donā€™t write off Windows Fortran just because you only hear about Fortran from HPC users. The demand is there on Windows, you simply need a compiler that plays nicely with the native IDEs.

9 Likes

Thanks @greenrongreen . I guess perhaps you were actually replying to me.

Well, unfortunately, no. As far as I know, there is one exception, Intel Fortran is just as fast on Windows as on Linux LOL :grinning: .

My experience is that, Intel OneAPI + Visual Studio is the best and they are free now. Intel Fortranā€˜s performance/behavior is consistent on windows and linux. Besides, OneAPI has good MPI integrated which is very important for me. I also do see as the name OneAPI indicates, as well as Intelā€™s firm determination in developing its own GPUs, the IFX in OneAPI will have the ability to run Fortran on both CPU and GPU, which is great.

Gfortran is actually very decent on Linux. My shallow experience is that, gfortranā€™s performance on Linux is slightly slower than Intel Fortran but still very comparable and very decent. I just wish gfortran could perform good on Windows as well. I also wish @certik 's LFortran great success.

I do believe Fortran will thrive if enough Windows-based big commercial software are written in Fortran. With the money they earned, they may be able to and interested in investing in Fortran developement.

I wonder,

  1. Could you name some Fortran-based commercial software?
  2. Do they use gfortran or Intel Fortran?
  3. Is there any legal or license issues if using Intel OneAPI to develop commericial software?

Thanks much.

1 Like

You didnā€™t ask me but I am good example of Fortran user, who works in Windows. For 17 years, I run PDE solver written in Fortran 24x7 using 32 cores (2sockets workstation) , develop material models in Intel Fortran and VS. There are 20 people in my company who works like me. Windows OS boost productivity, since it integrates office soft with number crunching nicely. Forgot to mention, I reboot once per five weeks on average.

6 Likes

@greenrongreen ,

I hope I can get some serious attention on this: presuming your quoted statements are accurate, what can be done to get Intel to commit further resources and energy into the Intel Fortran integration with Visual Studio?

In the industry I am familiar with closely, a conservative estimate is $200 million of Intel iN-xxxx CPUs alone are procured annually for personal productivity of knowledge developers employed by the industry in the form of laptops running Windows OS. There are other Intel hardware and software/services procurements as well. The traditional backbone of this industry has been codes developed in Fortran starting from late 1950s. The all-encompassing aspect of industrial, manufacturing, and process safety involves legacy codes developed using Fortran and so do other codebases that help drive productivity, innovation, and profitability. But it is no surprise to anyone
a lot of legacy codebases started moving away from Fortran during the 1980s and 1990s and the migration accelerated further in the 2010s. Intel oneAPI model that includes IFORT and IFX, on the other hand, has been a real positive development for Fortran with the few remaining codebases in this industry. But this is just one industry that is a relatively smaller segment of the overall enterprise market for Intel that goes for workstations running Windows OS + ā€œIntel Insideā€. The overall market for Intel with hardware alone, as you point out, is much, much bigger than the $$ figure indicated above and Fortran does and can continue to play a key role in critical business components.

And oneAPI can be a real gamechanger if Intel Software services can somehow work it out with Microsoft toward Visual Studio to elevate Fortran to first-class status on par with C/C++, or achieve close to the same on its own. It calls for vision and sustained focus and investment. You will know customers have not noticed any meaningful advancement with Intel Fortran with Visual Studio over the last decade and more, itā€™s bare bones maintenance only mode that has been crippled though by regression issues that leaves developers unhappy and managers furious.

But with so much upside potential for Fortran with oneAPI and Visual Studio, what can be done to achieve the same quality experience for Intelā€™s Fortran users as gained by C++ users in Visual Studio?

Thank you,

1 Like

Are there any financial institutions still using Fortran?

My academic experience tells me that there is a significant amount of Fortran in daily use that is rarely mentioned or discussed on the surface. I have had collaborators from the Dell Medical school in Austin, a brand new school with new faculty whose work is closely tied with the number one computational research institute in the world, with a strong presence of young researchers and students. When I asked a colleague about the software language used, roughly 75% of their packages were in Fortran (the rest being MATLAB, if I remember correctly). Given these experiences, I could imagine a similar situation in the business world as well.

4 Likes

With regards to:

Is there any legal or license issues if using Intel OneAPI to develop commericial software?

In this page if you scroll down to * Purchase, Renewal, and Upgrade* under " Are all of the oneAPI Toolkits available for free?". You will see and I quote:

Yes, all of the oneAPI Toolkits are available for free download and use for commercial and non-commercial purposes.

Although they have said this, since this is Intelā€™s product they could change their policy at any time. So take it with a half a shaker of salt. :man_shrugging:
https://www.intel.com/content/www/us/en/developer/articles/troubleshooting/oneapi-commercial-faq.html

1 Like

I do not really see risks of using Fortran. Perhaps it is off topic, but I noticed a recent hot article by Yuri Vishnevsky explained why he no longer recommend Julia. He explained the risks of using Julia actually.
One may check the article called " Why I no longer recommend Julia" by him below,

https://yuri.is/not-julia/

He said,

Which is also discussed in Julia community,

At least I do not see Fortran suffer from the issues he mentioned.

1 Like

A first hint would be the profile of @Beliavsky (here). A second, a literature survey in dedicated databases.

In addition, I speculate there are some reasons around intellectual property why e.g., a brief search on GitHub using Fortran (as [primary] language) .and. finance (as topic) doesnā€™t provide as many entries like for the combination of Fortran .and. chemistry (listing) (or weather (listing), climate (listing); plasma (listing), to mention a few of the typically associated/popular topics.) with greater incentive to be used with results published in journals. This different degree of openness about the tools used might skew the perception to those Ā«not in the fieldĀ».

Yet there are some less anticipated applications of Fortran (like TapTempo-Fortran (among music)) where Python/Julia indeed seems to be more frequently used among the researchers (example Rohrmeier group, their public GitHub).

1 Like