ICLDisco / parsec

PaRSEC is a generic framework for architecture aware scheduling and management of micro-tasks on distributed, GPU accelerated, many-core heterogeneous architectures. PaRSEC assigns computation threads to the cores, GPU accelerators, overlaps communications and computations and uses a dynamic, fully-distributed scheduler based on architectural features such as NUMA nodes and algorithmic features such as data reuse.
Other
48 stars 16 forks source link

Can't compile test dtd_test_new_tile when CUDA is on #449

Closed abouteiller closed 5 months ago

abouteiller commented 1 year ago

Describe the bug

Link failure when compiling dtd_test_new_tile with CUDA active

To Reproduce

  1. On Saturn:
    ../configure
    #
    ### CMake generated invocation
    #
     /sw/spack/2022-02-10/opt/spack/linux-scientific7-x86_64/gcc-7.3.0/cmake-3.22.2-wes6x2m55462ras2aeieqzmeeocmaljm/bin/cmake -G'Ninja' /home/bouteill/parsec/master/parsec/build/..  -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=RelWithDebInfo
  2. ninja
    ninja
    ﱲ   3% 0.058  3 ... C executable tests/dsl/dtd/dtd_test_new_tile
    FAILED: tests/dsl/dtd/dtd_test_new_tile
    : && /sw/spack/2022-02-10/opt/spack/linux-scientific7-x86_64/gcc-7.3.0/gcc-7.3.0-yghkwloigxqgdoihhkw5kiarts2ooocu/bin/gcc -O2 -g -DNDEBUG -Wl,-rpath,/sw/spack/2022-02-10/opt/spack/linux-scientific7-x86_64/gcc-4.8.5/gcc-7.3.0-mzolznq73pyb6lgqo3yfc4e3ws3dym2h/lib/gcc/x86_64-pc-linux-gnu/7.3.0 -Wl,-rpath,/sw/spack/2022-02-10/opt/spack/linux-scientific7-x86_64/gcc-4.8.5/gcc-7.3.0-mzolznq73pyb6lgqo3yfc4e3ws3dym2h/lib64 -Wl,-rpath -Wl,/sw/spack/2022-02-10/opt/spack/linux-scientific7-x86_64/gcc-7.3.0/openmpi-4.1.2-oooqprtzjc33fbb4sylanalhakaodz6s/lib -Wl,-rpath -Wl,/sw/spack/2022-02-10/opt/spack/linux-scientific7-x86_64/gcc-7.3.0/hwloc-2.7.0-73uzcqvjea5hcaqs3yssi4ele7xmcg45/lib -Wl,-rpath -Wl,/sw/spack/2022-02-10/opt/spack/linux-scientific7-x86_64/gcc-7.3.0/ucx-1.11.2-eu33bafslc3brefgjapdl6ilwpnhhyh4/lib -Wl,-rpath -Wl,/sw/spack/2022-02-10/opt/spack/linux-scientific7-x86_64/gcc-7.3.0/rdma-core-34.0-qzszrebwskq7dw2cwuzdsygdhr3fqzaf/lib64 -Wl,-rpath -Wl,/sw/spack/2022-02-10/opt/spack/linux-scientific7-x86_64/gcc-7.3.0/libevent-2.1.12-pk7n5u7oq325nmksrxpth5sciroz4gyc/lib -Wl,-rpath -Wl,/sw/spack/2022-02-10/opt/spack/linux-scientific7-x86_64/gcc-7.3.0/zlib-1.2.11-6cp5rt4mmgwe3b6kzk33x2235myyxa77/lib -Wl,-rpath -Wl,/usr/lib64 -L/sw/spack/2022-02-10/opt/spack/linux-scientific7-x86_64/gcc-7.3.0/hwloc-2.7.0-73uzcqvjea5hcaqs3yssi4ele7xmcg45/lib -L/sw/spack/2022-02-10/opt/spack/linux-scientific7-x86_64/gcc-7.3.0/ucx-1.11.2-eu33bafslc3brefgjapdl6ilwpnhhyh4/lib -L/sw/spack/2022-02-10/opt/spack/linux-scientific7-x86_64/gcc-7.3.0/rdma-core-34.0-qzszrebwskq7dw2cwuzdsygdhr3fqzaf/lib64 -L/sw/spack/2022-02-10/opt/spack/linux-scientific7-x86_64/gcc-7.3.0/libevent-2.1.12-pk7n5u7oq325nmksrxpth5sciroz4gyc/lib -L/sw/spack/2022-02-10/opt/spack/linux-scientific7-x86_64/gcc-7.3.0/zlib-1.2.11-6cp5rt4mmgwe3b6kzk33x2235myyxa77/lib -L/usr/lib64 -pthread tests/CMakeFiles/tests_common.dir/tests_data.c.o tests/dsl/dtd/CMakeFiles/dtd_test_new_tile.dir/dtd_test_new_tile.c.o tests/dsl/dtd/CMakeFiles/dtd_test_new_tile.dir/dtd_test_new_tile_cuda_kernels.cu.o -o tests/dsl/dtd/dtd_test_new_tile  -Wl,-rpath,/home/bouteill/parsec/master/parsec/build/parsec:/sw/spack/2022-02-10/opt/spack/linux-scientific7-x86_64/gcc-7.3.0/cuda-11.6.0-cqymcchmzba7kmqm2tvnrkabd2mjlniu/lib64:/sw/spack/2022-02-10/opt/spack/linux-scientific7-x86_64/gcc-7.3.0/openmpi-4.1.2-oooqprtzjc33fbb4sylanalhakaodz6s/lib:/sw/spack/2022-02-10/opt/spack/linux-scientific7-x86_64/gcc-7.3.0/hwloc-2.7.0-73uzcqvjea5hcaqs3yssi4ele7xmcg45/lib  parsec/libparsec.so.4.0.0  -ldl  /sw/spack/2022-02-10/opt/spack/linux-scientific7-x86_64/gcc-7.3.0/cuda-11.6.0-cqymcchmzba7kmqm2tvnrkabd2mjlniu/lib64/libcudart.so  -latomic  /sw/spack/2022-02-10/opt/spack/linux-scientific7-x86_64/gcc-7.3.0/openmpi-4.1.2-oooqprtzjc33fbb4sylanalhakaodz6s/lib/libmpi.so  /sw/spack/2022-02-10/opt/spack/linux-scientific7-x86_64/gcc-7.3.0/hwloc-2.7.0-73uzcqvjea5hcaqs3yssi4ele7xmcg45/lib/libhwloc.so  -latomic  -lcudadevrt  -lcudart_static  -lrt  -lpthread  -ldl && :
    /usr/bin/ld: cannot find -lcudadevrt
    /usr/bin/ld: cannot find -lcudart_static
    collect2: error: ld returned 1 exit status

Environment (please complete the following information):

/gcc/7.3.0/gcc-7.3.0-yghk
/tmux/3.2a/gcc-7.3.0-n4lb
/git/2.35.1/gcc-7.3.0-jwxm
/cuda/11.6.0/gcc-7.3.0-cqym
/neovim/0.6.1/gcc-7.3.0-4klb
/autoconf/2.69/gcc-7.3.0-vf4p
/automake/1.16.5/gcc-7.3.0-lhqi
/libtool/2.4.6/gcc-7.3.0-mmyt
/cmake/3.22.2/gcc-7.3.0-wes6
/intel-mkl/2020.4.304/gcc-7.3.0-smdc
/global/6.6.7/gcc-7.3.0-yerh
/ninja/1.10.2/gcc-7.3.0-jxc6
/hwloc/2.7.0/gcc-7.3.0-73uz
/libevent/2.1.12/gcc-7.3.0-pk7n
/numactl/2.0.14/gcc-7.3.0-q626
/openssh/8.8p1/gcc-7.3.0-2gft
/rdma-core/34.0/gcc-7.3.0-qzsz
/slurm/17.11.3-2/gcc-7.3.0-zorw
/zlib/1.2.11/gcc-7.3.0-6cp5
/openmpi/4.1.2/gcc-7.3.0-oooq
/flex/2.6.4/gcc-7.3.0-ijfr
/bison/3.8.2/gcc-7.3.0-ww2a

Additional context

Add any other context about the problem here. The content of the config.log file can be useful in some cases.

bosilca commented 1 year ago

I can't reproduce on saturn (nor leconte).

$ ninja tests/dsl/dtd/dtd_test_new_tile
ninja: no work to do.
abouteiller commented 5 months ago

I still have this problem but only on Saturn, can't understand why or what is going on, it compiles and run just fine on all other machines, Saturn is being retired, so this unicorn can receive mercy.