compilation of VASP5
Moderators: Global Moderator, Moderator
-
- Jr. Member
- Posts: 86
- Joined: Mon Jan 30, 2017 6:00 pm
- License Nr.: 5-2551
compilation of VASP5
Dear VASP admin,
During compilation of VASP5.4.4.pl2, we noticed this warning:
davidson.F(685): warning #15552: loop was not vectorized with "simd"
And the compilation complete without any error.
Is our compilation OK?
Attached is the last part of the compilation report.
Thanks
During compilation of VASP5.4.4.pl2, we noticed this warning:
davidson.F(685): warning #15552: loop was not vectorized with "simd"
And the compilation complete without any error.
Is our compilation OK?
Attached is the last part of the compilation report.
Thanks
You do not have the required permissions to view the files attached to this post.
-
- Global Moderator
- Posts: 460
- Joined: Mon Nov 04, 2019 12:44 pm
Re: compilation of VASP5
Around that line there is the command "!DIR$ SIMD" to vectorize for SIMD capable processors.
Either you don't have a SIMD capable processor or if you have one it's not recognized correctly.
That part is anyway completely changed in the latest VASP version (SIMD part is completely removed and replaced by GEMM calls), so I would strongly advise to upgrade to the latest version.
Either you don't have a SIMD capable processor or if you have one it's not recognized correctly.
That part is anyway completely changed in the latest VASP version (SIMD part is completely removed and replaced by GEMM calls), so I would strongly advise to upgrade to the latest version.
-
- Jr. Member
- Posts: 86
- Joined: Mon Jan 30, 2017 6:00 pm
- License Nr.: 5-2551
Re: compilation of VASP5
What is the effect on the compiled version?
The compilation finished without error.
Thanks
The compilation finished without error.
Thanks
-
- Global Moderator
- Posts: 460
- Joined: Mon Nov 04, 2019 12:44 pm
Re: compilation of VASP5
If you don't have simd then nothing. Otherwise if simd is not used then that part is not simd vectorized, hence slower in execution time.
-
- Jr. Member
- Posts: 86
- Joined: Mon Jan 30, 2017 6:00 pm
- License Nr.: 5-2551
Re: compilation of VASP5
So, it affects only on the execution time?
and no effect on the accuracy of the compiled version?
Thanks
and no effect on the accuracy of the compiled version?
Thanks
-
- Global Moderator
- Posts: 460
- Joined: Mon Nov 04, 2019 12:44 pm
Re: compilation of VASP5
No effect, but if you are unsure then run the testsuite.
-
- Jr. Member
- Posts: 86
- Joined: Mon Jan 30, 2017 6:00 pm
- License Nr.: 5-2551
Re: compilation of VASP5
Hi,
The admin of our server recommended the following changes in davidson.F:
!DIR$ SIMD
to:
!$OMP SIMD
and the compilation process finished without warning. Is it OK? Please find the report attached.
Thanks
The admin of our server recommended the following changes in davidson.F:
!DIR$ SIMD
to:
!$OMP SIMD
and the compilation process finished without warning. Is it OK? Please find the report attached.
Thanks
You do not have the required permissions to view the files attached to this post.
-
- Jr. Member
- Posts: 86
- Joined: Mon Jan 30, 2017 6:00 pm
- License Nr.: 5-2551
Re: compilation of VASP5
Dear VASP admin,
Could you please check if the compilation is OK? including the changes in davidson.F:
!DIR$ SIMD
to:
!$OMP SIMD
Thanks
Could you please check if the compilation is OK? including the changes in davidson.F:
!DIR$ SIMD
to:
!$OMP SIMD
Thanks
-
- Global Moderator
- Posts: 236
- Joined: Mon Apr 26, 2021 7:40 am
Re: compilation of VASP5
Hello!
Yes, the compilation is ok, the VASP binaries were successfully compiled. This was also the case for your initial build. The compiler warning was only notifying you that the explicit vectorization directive !DIR$ SIMD did not trigger a vectorization of the next loop. Meaning that this particular loop may not be executed in an optimal manner, i.e., without benefiting from SIMD vectorization. There can be many reasons why the compiler decided not to vectorize this loop, it may even depend on your compiler version and hardware you are using. Maybe it even did, but not because of the directive but in some other compilation stage. Whether this loop is ultimately vectorized one may find out with the qopt-report flag of current Intel compilers (I am unsure whether Intel 2018 which you are using already had that flag). However, even if this one loop may be slower this does not affect any other portion of the code or the accuracy of results, you still got valid VASP binaries. Before digging too deep into compiler diagnostics I would suggest to try both versions you have compiled now and only investigate further if you have the impression that VASP is very slow compared to other builds (e.g. with GNU compiler or older builds).
Regarding your second build with the updated directive: I suspect that the warning is now gone because you did not compile with OpenMP support, hence the !$OMP SIMD directive was completely ignored and has no effect.
All the best,
Andreas Singraber
Yes, the compilation is ok, the VASP binaries were successfully compiled. This was also the case for your initial build. The compiler warning was only notifying you that the explicit vectorization directive !DIR$ SIMD did not trigger a vectorization of the next loop. Meaning that this particular loop may not be executed in an optimal manner, i.e., without benefiting from SIMD vectorization. There can be many reasons why the compiler decided not to vectorize this loop, it may even depend on your compiler version and hardware you are using. Maybe it even did, but not because of the directive but in some other compilation stage. Whether this loop is ultimately vectorized one may find out with the qopt-report flag of current Intel compilers (I am unsure whether Intel 2018 which you are using already had that flag). However, even if this one loop may be slower this does not affect any other portion of the code or the accuracy of results, you still got valid VASP binaries. Before digging too deep into compiler diagnostics I would suggest to try both versions you have compiled now and only investigate further if you have the impression that VASP is very slow compared to other builds (e.g. with GNU compiler or older builds).
Regarding your second build with the updated directive: I suspect that the warning is now gone because you did not compile with OpenMP support, hence the !$OMP SIMD directive was completely ignored and has no effect.
All the best,
Andreas Singraber