hpi-epic / gpucsl

Constraint-based Causal Structure Learning on GPUs.
MIT License
38 stars 1 forks source link

6 errors detected in the compilation of "cupy_jitify_exercise" #20

Open antonkratz opened 5 months ago

antonkratz commented 5 months ago

I followed the installation instructions and attempt to run the benchmark to determine if the entire setup works. I run into issues which I believe might be connected to cupy (maybe). The errors start with the line cooperative_groups/details/helpers.h(454): error: identifier "cudaCGGetIntrinsicHandle" is undefined below. I am using V100. Please advise!

(gpucslenv) [acf15985mp@g0046 gpucsl]$ time ./benchmarks/run_benchmarks.sh
running BENCHMARKS: gaussian = BR51,NCI-60,MCC,DREAM5-Insilico,Saureus,Scerevisiae, discrete = alarm,link,munin
output will be stored in: output/output_24-03-19_15:01:09_0367de3_g0046.abci.local_max-level-3
running GPUCSL...
GPUCSL gaussian Datasets: ['BR51', 'NCI-60', 'MCC', 'DREAM5-Insilico', 'Saureus', 'Scerevisiae']
GPUCSL discrete Datasets: ['alarm', 'link', 'munin']
Benchmarking GPUCSL on dataset: BR51, max level 3
---------------------------------------------------
--- JIT compile log for cupy_jitify_exercise ---
---------------------------------------------------
cub/util_cpp_dialect.cuh(143): warning #161-D: unrecognized #pragma
       CUB_COMPILER_DEPRECATION_SOFT(C++14, C++11);
       ^

Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

cooperative_groups/details/helpers.h(454): error: identifier "cudaCGGetIntrinsicHandle" is undefined
              return (cudaCGGetIntrinsicHandle(cudaCGScopeMultiGrid));
                      ^

cooperative_groups/details/helpers.h(459): error: identifier "cudaCGSynchronize" is undefined
              cudaError_t err = cudaCGSynchronize(handle, 0);
                                ^

cooperative_groups/details/helpers.h(465): error: identifier "cudaCGGetSize" is undefined
              cudaCGGetSize(&numThreads, NULL, handle);
              ^

cooperative_groups/details/helpers.h(472): error: identifier "cudaCGGetRank" is undefined
              cudaCGGetRank(&threadRank, NULL, handle);
              ^

cooperative_groups/details/helpers.h(479): error: identifier "cudaCGGetRank" is undefined
              cudaCGGetRank(NULL, &gridRank, handle);
              ^

cooperative_groups/details/helpers.h(486): error: identifier "cudaCGGetSize" is undefined
              cudaCGGetSize(NULL, &numGrids, handle);
              ^

6 errors detected in the compilation of "cupy_jitify_exercise".

---------------------------------------------------
Traceback (most recent call last):
  File "/home/acf15985mp/work/gpucsl/./benchmarks/benchmark_gpucsl.py", line 222, in <module>
    run_benchmarks_for_distribution(
  File "/home/acf15985mp/work/gpucsl/./benchmarks/benchmark_gpucsl.py", line 174, in run_benchmarks_for_distribution
    (duration_incl_compilation, pc_runtime, pc_result) = run_benchmark_for_distrib(
                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/acf15985mp/work/gpucsl/./benchmarks/benchmark_gpucsl.py", line 108, in run_benchmark_gaussian
    kernels = precompile_gaussian_and_compact_kernel_getters_for_devices(
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/acf15985mp/work/gpucsl/./benchmarks/benchmark_gpucsl.py", line 31, in precompile_gaussian_and_compact_kernel_getters_for_devices
    kernels[device_index] = Kernels.for_gaussian_ci(
                            ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/acf15985mp/anaconda3/envs/gpucslenv/lib/python3.12/site-packages/gpucsl/pc/kernel_management.py", line 308, in for_gaussian_ci
    instance.ci_test = GaussianKernel(
                       ^^^^^^^^^^^^^^^
  File "/home/acf15985mp/anaconda3/envs/gpucslenv/lib/python3.12/site-packages/gpucsl/pc/kernel_management.py", line 203, in __init__
    super().__init__(is_debug=is_debug, should_log=should_log)
  File "/home/acf15985mp/anaconda3/envs/gpucslenv/lib/python3.12/site-packages/gpucsl/pc/kernel_management.py", line 99, in __init__
    self.define_module(self.cuda_file(), kernel_function_signatures)
  File "/home/acf15985mp/anaconda3/envs/gpucslenv/lib/python3.12/site-packages/gpucsl/pc/kernel_management.py", line 110, in define_module
    self.module.compile()
  File "cupy/_core/raw.pyx", line 426, in cupy._core.raw.RawModule.compile
  File "cupy/_core/raw.pyx", line 404, in cupy._core.raw.RawModule._module
  File "cupy/_util.pyx", line 64, in cupy._util.memoize.decorator.ret
  File "cupy/_core/raw.pyx", line 538, in cupy._core.raw._get_raw_module
  File "cupy/_core/core.pyx", line 2236, in cupy._core.core.compile_with_cache
  File "cupy/_core/core.pyx", line 2254, in cupy._core.core.compile_with_cache
  File "/home/acf15985mp/anaconda3/envs/gpucslenv/lib/python3.12/site-packages/cupy/cuda/compiler.py", line 484, in _compile_module_with_cache
    return _compile_with_cache_cuda(
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/acf15985mp/anaconda3/envs/gpucslenv/lib/python3.12/site-packages/cupy/cuda/compiler.py", line 562, in _compile_with_cache_cuda
    ptx, mapping = compile_using_nvrtc(
                   ^^^^^^^^^^^^^^^^^^^^
  File "/home/acf15985mp/anaconda3/envs/gpucslenv/lib/python3.12/site-packages/cupy/cuda/compiler.py", line 319, in compile_using_nvrtc
    return _compile(source, options, cu_path,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/acf15985mp/anaconda3/envs/gpucslenv/lib/python3.12/site-packages/cupy/cuda/compiler.py", line 284, in _compile
    options, headers, include_names = _jitify_prep(
                                      ^^^^^^^^^^^^^
  File "/home/acf15985mp/anaconda3/envs/gpucslenv/lib/python3.12/site-packages/cupy/cuda/compiler.py", line 233, in _jitify_prep
    jitify._init_module()
  File "cupy/cuda/jitify.pyx", line 212, in cupy.cuda.jitify._init_module
  File "cupy/cuda/jitify.pyx", line 233, in cupy.cuda.jitify._init_module
  File "cupy/cuda/jitify.pyx", line 209, in cupy.cuda.jitify._init_cupy_headers
  File "cupy/cuda/jitify.pyx", line 192, in cupy.cuda.jitify._init_cupy_headers_from_scratch
  File "cupy/cuda/jitify.pyx", line 264, in cupy.cuda.jitify.jitify
RuntimeError: Runtime compilation failed
running cupc/pcalg/bnlearn...

>>> dirname ./benchmarks/benchmark_cupc_pcalg_bnlearn.sh

>>> SCRIPT_DIR=./benchmarks

>>> CUPC_DIR=./benchmarks/cupc

>>> cd ./benchmarks/cupc

>>> '[' -e ./benchmark_cupc_pcalg_bnlearn.R ']'

>>> echo 'Found benchmark script, using existing file. If you don'\''t want this manually copy the file to the pcalg dir'
Found benchmark script, using existing file. If you don't want this manually copy the file to the pcalg dir

>>> '[' -e ./Skeleton.so ']'

>>> echo 'Found Skeleton.so, assuming that all dependencies are installed'
Found Skeleton.so, assuming that all dependencies are installed

>>> Rscript benchmark_cupc_pcalg_bnlearn.R -d ''\''BR51,NCI-60,MCC,DREAM5-Insilico,Saureus,Scerevisiae'\''' -c ''\''alarm,link,munin'\''' -o ../output/output_24-03-19_15:01:09_0367de3_g0046.abci.local_max-level-3 -l 3 --libraries gpucsl,bnlearn,pcalg,cupc
./benchmarks/benchmark_cupc_pcalg_bnlearn.sh: line 28: Rscript: command not found

>>> '[' 127 '!=' 0 ']'

>>> echo 'benchmark_cupc_pcalg_bnlearn failed'
benchmark_cupc_pcalg_bnlearn failed

>>> exit 1
output written to: ./benchmarks/output/output_24-03-19_15:01:09_0367de3_g0046.abci.local_max-level-3
total runtime of this script: 55 seconds
GPUCSL FAILED
cupc/pcalg/bnlearn FAILED

real    0m55.288s
user    0m44.766s
sys     0m4.447s