4 ms·
The thing is, this is not marketing. Performance really does matter in HPC and in quite a few areas the workflow is to prototype in Matlab and write implementat
by tanderson92 11y ago
The thing is, this is not marketing. Performance really does matter in HPC and in quite a few areas the workflow is to prototype in Matlab and write implementations in modern Fortran.
You can write performant code in C/C++, and many do, but Fortran is still the easiest to do so in.
- CyberDildonics 11y ago> Fortran is still the easiest to do so in. Let's not get too carried away, what is an example of Fortran making speed easier than C++?
- RogerL 11y agoAliasing, for one. Plus, array's are a first class feature in Fortran. "But Eigen!" you retort. Sure, except this library I want to use uses MTL4, this other library that I need uses uBlas, and this other one uses MKL. Ouch, ouch, ouch. Pretty much if you can write Matlab you can write very highly performant Fortran without doing anything too special. Dealing with incompatible libraries, templates, and all the other stuff that C++ subjects you to is not 'easy'.
- CyberDildonics 11y agoWhat I've learned is that when people say Fortan is faster, they mean for their specific math based usages due to good integrated libraries, and that they often doesn't really know C++.
- greglindahl 11y agoMost Fortran compilers are also C/C++ compilers. One way to spot the best compiler engineers is that they are the ones who appreciate how Fortran makes optimization easier. Argument aliasing rules, discouraging pointer use, lack of 15 layers of templates, 1st class arrays, and so forth. These same compiler engineers don't want to actually write any Fortran -- but I assure you, as an astronomer, I really prefer it that my Astronomy colleagues write Fortran instead of C/C++. It ends up being better code.
- kjs3 11y agoIt isn't even a matter that it's "easiest". There are decades of painstakingly debugged and proven Fortran libraries that simply don't exist in other languages even if the researchers wanted to use them. Recreating them isn't generally a priority.