eth-cscs / DLA-Future

DLA-Future
https://eth-cscs.github.io/DLA-Future/master/
BSD 3-Clause "New" or "Revised" License
64 stars 14 forks source link

Issues with gcc9 #1044

Closed rasolca closed 10 months ago

rasolca commented 11 months ago

I found a couple of issues on daint-gpu,

1) -pedantic-errors gcc9 and gcc10 (tested in compiler explorer) complains about multiple ; after function declaration:

src/include/dlaf/communication/kernels/broadcast.h:76:115: error: extra ';' [-Wpedantic]
DLAF_EXPAND_ETI_SDCZ_DEVICE_VA_ARGS(DLAF_SCHEDULE_SEND_BCAST_ETI, extern, common::Pipeline<Communicator>::Wrapper);

2) umpire 2022.10 doesn't work with gcc9 (umpire 2022.03.1 is fine)

3) cuda 11.2 doesn't work (cuda 11.8 does)

Update:

1) #1043

2) should we add a conflict in our packages? Or should it be done in umpire? Note: umpire builds fine, but generates error when included by memory_chunk.h (https://github.com/spack/spack/pull/41317)

3) in some of the .cu units we include pika which include fmt which creates problem with nvcc 11.2. I will try to clean includes. #1045

albestro commented 11 months ago

This afternoon I investigated a bit, and this is the report.

Tested https://github.com/eth-cscs/DLA-Future/commit/40e4530991500011301bb420cc9bcfb98cd2d8c9, so before the fix https://github.com/eth-cscs/DLA-Future/pull/1045

gcc cuda umpire note
gcc@9.3.0 cuda@11.2.0 umpire@2022.03.1
gcc@9.3.0 cuda@11.4.4 umpire@2022.03.1
gcc@9.3.0 cuda@11.3.1 umpire@2022.03.1
gcc@9.3.0 cuda@11.3.1 umpire@2022.10.0
gcc cuda umpire note
gcc@10.5.0 cuda@11.4.4 umpire@2022.10.0
gcc@10.5.0 cuda@11.4.4 umpire@2022.03.1
gcc cuda umpire note
gcc@10.3.0 cuda@11.5.2 umpire@2022.03.1
gcc@10.3.0 cuda@11.5.2 umpire@2022.03.0
gcc@10.3.0 cuda@11.5.2 umpire@6.0.0
gcc@10.3.0 cuda@11.5.2 umpire@2022.10.0

In order to obtain this results I had to temporarily remove some conflicts. In particular this work triggered another investigation which led me concluding that gcc@10.3.0 conflict in umpire was not correct (for more details see https://github.com/spack/spack/pull/41254).

Overall, from this set of builds I would infer that:

I tested some reasonable configurations, if you need any more info o you have a specific configuration you'd like to see the result for (e.g. a specific patch version of CUDA), let me know and I can test it for you quite easily now that I have the setup.

FIY @aurianer @toxa81

msimberg commented 10 months ago

I think with https://github.com/spack/spack/pull/41317 this can be closed.