lanl/Draco

Enable rng cuda tests when with %xl?

Closed this issue · 4 comments

  • We currently disable rng tests when +cuda %xl. Presumable because earlier versions of XL didn't work correctly with cuda.
  • New versions (2020.08.24+) of XL do work with cuda-11+.
  • Test and possibly re-enable these tests.
  • See
    if( USE_CUDA AND NOT CMAKE_CXX_COMPILER_ID MATCHES XL )

There seems to be an additional issue with XL+ cuda/11.

[ 65%] Building CUDA object src/rng/test/CMakeFiles/Ut_rng_kat_cuda_exe.dir/kat_cuda.cu.o
/cuda/cuda-11.0.2/bin/nvcc -forward-unknown-to-host-compiler \
-D_POSIX_C_SOURCE=200112 \
-D_XOPEN_SOURCE=600 -D__STDC_CONSTANT_MACROS -I/build/xl-mpid/d/src/device \
-I/build/xl-mpid/d/src/rng -Idraco/src -Ibuild/xl-mpid/d/src/ds++ \
-I/cuda/cuda-11.0.2/nvidia/targets/ppc64le-linux/include -arch=sm_70 --expt-relaxed-constexpr \
--expt-extended-lambda -DCUB_IGNORE_DEPRECATED_CPP_DIALECT -DTHRUST_IGNORE_DEPRECATED_CPP_DIALECT \
-ccbin /xl/xl-2020.08.24-cuda-11.0.2/bin/xlc++_r -Xcompiler -std=c++14 \
--gcc-toolchain=/gcc/gcc-8.3.1 -qxflag=disable__cplusplusOverride -G -O0 -Xcudafe \
--display_error_number -Xcudafe --diag_suppress=1427 -Xcompiler=-fPIE -std=c++14 -x cu -c \
draco/src/rng/test/kat_cuda.cu -o CMakeFiles/Ut_rng_kat_cuda_exe.dir/kat_cuda.cu.o

Expected:    constant (at 54093): "philox4x32_e"
Got instead: pragma (at 54087): unrecognized
draco/src/rng/test/rngNxW.h(42): internal error #2656: check_for_and_take_source_seq_entry: wrong entry

@alexrlongne Do you see anything obviously wrong with the compile line? This same code works for gcc+cuda.

It looks fine to me. I don't recognize any part of the error message.

I'm convinced this is an XL+cuda bug, but I don't want to track it down because the issue is in R123 code. They do a lot of bad things with CPP.

Let's ignore this. the vendor code is just too buggy.