Workaround nvfortran O3 bug in CMake Release build.
A workaround for #311 (closed) to pass more tests. Hopefully this change can be reverted once #311 (closed) is resolved.
before
The following tests FAILED:
40 - system--pw_atom--atom-pbe (Failed)
41 - system--pw_atom--atom-sigmapbe (Failed)
44 - system--pw_b3lyp--b3lyp-h2o (Failed)
116 - system--pw_lattice-ibrav--lattice-wyckoff-sio2 (Failed)
117 - system--pw_lda+U--lda+U+V-user_ns (Failed)
120 - system--pw_lda+U--lda+U-noU (Failed)
121 - system--pw_lda+U--lda+U-user_ns (Failed)
122 - system--pw_lda+U--lda+U (Failed)
123 - system--pw_lda+U--lda+U_background_one_channel (Failed)
125 - system--pw_lda+U--lda+U_force (Failed)
126 - system--pw_lda+U--lda+U_force_stress_ortho (Failed)
128 - system--pw_lda+U--lda+U_kind1_collin (Failed)
164 - system--pw_pawatom--paw-atom (Failed)
166 - system--pw_pawatom--paw-atom_lda (Failed)
167 - system--pw_pawatom--paw-atom_spin (Failed)
168 - system--pw_pawatom--paw-atom_spin_lda (Failed)
229 - system--pw_uspp--uspp1-coulomb (Failed)
240 - system--pw_vdw--beef-spin (Failed)
254 - system--pw_workflow_vc-relax_dos--vc-relax-dos-1 (Failed)
255 - system--pw_workflow_vc-relax_dos--vc-relax-dos-2 (Failed)
256 - system--pw_workflow_vc-relax_scf--vc-relax-scf-1 (Failed)
Errors while running CTest
after
The following tests FAILED:
116 - system--pw_lattice-ibrav--lattice-wyckoff-sio2 (Failed)
117 - system--pw_lda+U--lda+U+V-user_ns (Failed)
120 - system--pw_lda+U--lda+U-noU (Failed)
121 - system--pw_lda+U--lda+U-user_ns (Failed)
122 - system--pw_lda+U--lda+U (Failed)
123 - system--pw_lda+U--lda+U_background_one_channel (Failed)
125 - system--pw_lda+U--lda+U_force (Failed)
126 - system--pw_lda+U--lda+U_force_stress_ortho (Failed)
128 - system--pw_lda+U--lda+U_kind1_collin (Failed)
164 - system--pw_pawatom--paw-atom (Failed)
166 - system--pw_pawatom--paw-atom_lda (Failed)
167 - system--pw_pawatom--paw-atom_spin (Failed)
168 - system--pw_pawatom--paw-atom_spin_lda (Failed)
240 - system--pw_vdw--beef-spin (Failed)
There still quite many failures in CMake builds and most error are
Error in routine c_bands (1):
too many bands are not converged
I think this means wrong numbers in intermediate steps and this remains to be investigated separately from this MR.
This workaround is only needed in CUDA build, CPU build by nvfortran doesn't need to disable -O3.
Edited by Ye Luo