Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CMake config for IntelLLVM (ifx) and NVIDIA HPC SDK (nvfortran) #898

Merged

Conversation

ACSimon33
Copy link
Contributor

Description

Updated the CMake config to set the correct compiler flags for IntelLLVM (ifx) and NVIDIA HPC SDK (nvfortran). I tested ifx on Linux (oneAPI 2023.2.0) and Windows (oneAPI 2023.1.0). There are still some errors but way less than before (see below).

nvfortran (NVIDIA HPC SDK 23.7) is only available on Linux and it works alright. I didn't fix / silence the compiler warnings for now. There are also some numerical errors (see below).

ifx test summary:

                        -->   LAPACK TESTING SUMMARY  <--
                Processing LAPACK Testing output found in the TESTING directory
SUMMARY                 nb test run     numerical error         other error  
================        ===========     =================       ================  
REAL                    1328283         0       (0.000%)        0       (0.000%)
DOUBLE PRECISION        1329105         0       (0.000%)        0       (0.000%)
COMPLEX                 608384          8012    (1.317%)        8880    (1.460%)
COMPLEX16               608707          8081    (1.328%)        8880    (1.459%)

--> ALL PRECISIONS      3874479         16093   (0.415%)        17760   (0.458%)

nvfortran test summary:

                        -->   LAPACK TESTING SUMMARY  <--
                Processing LAPACK Testing output found in the TESTING directory
SUMMARY                 nb test run     numerical error         other error  
================        ===========     =================       ================  
REAL                    1100967         317     (0.029%)        0       (0.000%)
DOUBLE PRECISION        1255005         280     (0.022%)        0       (0.000%)
COMPLEX                 652783          132     (0.020%)        0       (0.000%)
COMPLEX16               694202          287     (0.041%)        0       (0.000%)

--> ALL PRECISIONS      3702957         1016    (0.027%)        0       (0.000%)

Some of the errors are most likely due to non-conforming handling of INF and NAN as both compilers fail some of the Fortran compiler tests (-DTEST_FORTRAN_COMPILER=ON). We are already working with Intel to resolve the errors in ifx.

Simon, NAG Ltd.

@codecov
Copy link

codecov bot commented Aug 24, 2023

Codecov Report

Patch and project coverage have no change.

Comparison is base (2983298) 0.00% compared to head (055a0e1) 0.00%.
Report is 2 commits behind head on master.

❗ Current head 055a0e1 differs from pull request most recent head 64d95ed. Consider uploading reports for the commit 64d95ed to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #898   +/-   ##
=======================================
  Coverage    0.00%    0.00%           
=======================================
  Files        1918     1918           
  Lines      188614   188614           
=======================================
  Misses     188614   188614           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@weslleyspereira weslleyspereira merged commit ae2f14f into Reference-LAPACK:master Aug 30, 2023
@weslleyspereira
Copy link
Collaborator

Thanks @ACSimon33 !

bartoldeman added a commit to ComputeCanada/easybuild-computecanada-config that referenced this pull request Oct 3, 2023
ifx is still not mature enough, particularly for complex numbers
see also:
Reference-LAPACK/lapack#898
and
https://community.intel.com/t5/Intel-Fortran-Compiler/IFX-vs-IFORT-performance-difference/m-p/1472018

Adjust optarch dynamically for c/cxx and fortran differently.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants