-
Notifications
You must be signed in to change notification settings - Fork 710
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
{chem}[intel/2023a] FHI-aims v240507 #20793
base: develop
Are you sure you want to change the base?
{chem}[intel/2023a] FHI-aims v240507 #20793
Conversation
@boegelbot: please test @ generoso |
@smoors: Request for testing this PR well received on login1 PR test command '
Test results coming soon (I hope)... - notification for comment with ID 2158999105 processed Message to humans: this is just bookkeeping information for me, |
Test report by @boegelbot EDIT: i missed that it's a manual download |
Test report can be found here |
|
||
builddependencies = [('CMake', '3.26.3')] | ||
|
||
configopts = ' -DCMAKE_Fortran_COMPILER="$MPIF90" -DCMAKE_CXX_COMPILER="icpc" -DCMAKE_C_COMPILER="icc" ' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To honor toolchain options oneapi
and usempi
:
configopts = ' -DCMAKE_Fortran_COMPILER="$MPIF90" -DCMAKE_CXX_COMPILER="icpc" -DCMAKE_C_COMPILER="icc" ' | |
configopts = ' -DCMAKE_Fortran_COMPILER="$FC" -DCMAKE_CXX_COMPILER="$CXX_SEQ" -DCMAKE_C_COMPILER="$CC_SEQ" ' |
According to https://fhi-aims-club.gitlab.io/tutorials/cmake-tutorial/cmake_tutorial they need an MPI fortran compiler --> 'usempi': True
in toolchainopts
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for that! I done a bit more digging and with the help of the FHI-aims team I think I got it all sorted so we can use oneAPI
as the compiler now. From what I understand, there are only a few places where MPI
is being used and thus when you link it is important to use MPI
but not when compiling. I got told that eliminates problems with wrapper-scripts. Nonetheless, I used MPI
for all three languages. Let me know what you think of the improvements done.
configopts += ' -DCMAKE_Fortran_FLAGS="$FFLAGS -fc=ifx -finline-functions" ' | ||
configopts += ' -DCMAKE_CXX_FLAGS="$CXXFLAGS -cxx=icpx -finline-functions -std=c++11" ' | ||
configopts += ' -DCMAKE_C_FLAGS="$CFLAGS -cc=icx -finline-functions -std=gnu99" ' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you sure any of this is required?
-fc
etc. should be set by EasyBuild via theI_MPI
variables- finline-functions is set by
-O2
and above -std
shouldn't be required as the defaults for those intel compilers are likely at least that
Removing might help updating the EC later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I took these flags from the template they provided. The -finline-functions
comes from the dropping of -ip
and that was the replacement I found.
That said: you are right, it works without them as well. I will update the PR and will include one which makes use of an external ELPA
installation.
I have included a second EasyConfig file which is using an external |
(created using
eb --new-pr
)