njoy / NJOY2016

Nuclear data processing with legacy NJOY
https://www.njoy21.io/NJOY2016
Other
95 stars 82 forks source link

NJOY2016.71 & Intel ifort & make test results #309

Open jchsublet opened 9 months ago

jchsublet commented 9 months ago

NJOY2016 prerequisite state: a Fortran 2003 compliant compiler such as gcc-7 or higher, however early than 2016 developments preferred compiler such as Intel Ifort instead. At the time Intel ifort was not free access, it is now a days though oneAPI, however when building with cmake -D CMAKE_Fortran_COMPILER=ifort ../ on a macOS Intel Xeon and running the test cases one notice:

76% tests passed, 19 tests failed out of 78 Total Test time (real) = 1063.83 sec The following tests FAILED: 3 - Test03 (Failed) 5 - Test05 (Failed) 6 - Test06 (Failed) 12 - Test12 (Failed) 13 - Test13 (Failed) 14 - Test14 (Failed) 15 - Test15 (Failed) 16 - Test16 (Failed) 18 - Test18 (Failed) 20 - Test20 (Failed) 25 - Test25 (Failed) 27 - Test27 (Failed) 34 - Test34 (Failed) 47 - Test47 (Failed) 53 - Test53 (Failed) 67 - Test67 (Failed) 68 - Test68 (Failed) 72 - Test72 (Failed) 74 - Test74 (Failed)

Comments quickly brushed aside if one takes the step to look at the Artificial Intelligence style reason(s) the tests failed by browsing tests//_diff:

!/Helvetica findfont [ -0.00 21.60 -21.60 0.00 0. 0.] makefont setfont --- 24 --- !/Helvetica findfont [ 0.00 21.60 -21.60 0.00 0. 0.] makefont setfont

-0.00 or 0.00 in a PDF file!! difference due to the OS, or

4009.10c 8.934780 2.5300E-08 03/21/22

4009.10c 8.934780 2.5300E-08 09/21/23

comparing the file production dates !! or

! 0.43627591 0.53724687 0.63881263 0.74104025 0.84401042 0.94739773 125 6221 8293 --- 109202 --- ! 0.43627591 0.53724687 0.63881263 0.74104025 0.84401042 0.94739774 125 6221 8293

claiming that the numerical difference between 0.94739773 and 0.94739774 is physically meaningful, scientifically important.

Bottom line: it is safe and robust to compile NJOY2016 with Intel oneAPI ifort, even if some of the test cases are said to failed because the reference output tapes have been produced using NJOY2016 compiled with gcc on another OS brand.

jchsublet commented 9 months ago

oneAPI intel compiler has another advantage: speed. As for the now 78 tests with the latest below release the total real time are: 1000 sec for Ifort 2023, 2355 sec for Gfortran 12.1 on an iMac Pro 2,3 GHz 18-Core Intel Xeon W

njoy 2016.72 29SepXX 10/03/23 09:50:14 !! the release year may need updating, if not yet done

whaeck commented 9 months ago

Whoops. Seems I made a minor mistake in that release date. I've updated that and reset the tagged release.