Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

identifier "cudaGraphExecKernelNodeSetParams" is undefined #6

Open
yweng0828 opened this issue Mar 3, 2021 · 3 comments
Open

identifier "cudaGraphExecKernelNodeSetParams" is undefined #6

yweng0828 opened this issue Mar 3, 2021 · 3 comments

Comments

@yweng0828
Copy link

Hi,
I want to compile the CUDA version, and I get some trouble during make.

I have change the script in ./scripts/ubuntu-builds/ubuntu_nvcc10_gcc8.sh and ./host-configs/ubuntu-builds/nvcc_gcc_X.cmake respectively according to my system environment. What needs to be mentioned is that I add -std=c++11 to COMB_NVCC_FLAGS in nvcc_gcc_X.cmake. Otherwise, it will has the errors as bellow.

/app/compiler/gcc/4.9.4/include/c++/4.9.4/bits/c++0x_warning.h:32:2: error:#error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
 #error This file requires compiler and library support for the \
  ^
make[2]: *** [CMakeFiles/comb.dir/src/comb.cpp.o] error 1
make[1]: *** [CMakeFiles/comb.dir/all] error 2

After that, I run the script and get below.

loading initial cache file ../host-configs/ubuntu-builds/nvcc_gcc_X.cmake
-- The CXX compiler identification is GNU 4.9.4
-- Check for working CXX compiler: /app/compiler/gcc/4.9.4/bin/g++
-- Check for working CXX compiler: /app/compiler/gcc/4.9.4/bin/g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- BLT Version: 0.3.0
-- CMake Version: 3.10.2
-- CMake Executable: /GPUFS/app_GPU/application/cmake/3.10.2/bin/cmake
-- Found Git: /usr/bin/git (found version "1.8.3.1")
-- Git Support is ON
-- Git Executable: /usr/bin/git
-- Git Version: 1.8.3.1
-- MPI Support is ON
-- Enable FindMPI:  ON
-- Found MPI_CXX: /app/compiler/intel/15.0.1/impi/5.0.2.044/intel64/lib/libmpicxx.so (found version "3.0")
-- Found MPI: TRUE (found version "3.0")
-- BLT MPI Compile Flags:
-- BLT MPI Include Paths:  /app/compiler/intel/15.0.1/impi/5.0.2.044/intel64/include
-- BLT MPI Libraries:      /app/compiler/intel/15.0.1/impi/5.0.2.044/intel64/lib/libmpicxx.so;/app/compiler/intel/15.0.1/impi/5.0.2.044/intel64/lib/libmpifor
t.so;/app/compiler/intel/15.0.1/impi/5.0.2.044/intel64/lib/release_mt/libmpi.so;/app/compiler/intel/15.0.1/impi/5.0.2.044/intel64/lib/libmpigi.a;/lib64/libdl
.so;/lib64/librt.so;/lib64/libpthread.so
-- BLT MPI Link Flags:     -Xlinker --enable-new-dtags -Xlinker -rpath -Xlinker /app/compiler/intel/15.0.1//impi/5.0.2.044/intel64/lib/release_mt -Xlinker -r
path -Xlinker /app/compiler/intel/15.0.1//impi/5.0.2.044/intel64/lib -Xlinker -rpath -Xlinker /opt/intel/mpi-rt/5.0/intel64/lib/release_mt -Xlinker -rpath -X
linker /opt/intel/mpi-rt/5.0/intel64/lib
-- MPI Executable:       /app/compiler/intel/15.0.1/impi/5.0.2.044/intel64/bin/mpiexec
-- MPI Num Proc Flag:    -n
-- MPI Command Append:
-- OpenMP Support is ON
-- Found OpenMP_CXX: -fopenmp (found version "4.0")
-- Found OpenMP: TRUE (found version "4.0")
-- OpenMP Compile Flags: $<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:-fopenmp>;$<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=-fopenmp>
-- OpenMP Link Flags:    -fopenmp
-- CUDA Support is ON
-- The CUDA compiler identification is NVIDIA 10.0.130
-- Check for working CUDA compiler: /GPUFS/app_GPU/compiler/CUDA/10.0.1/bin/nvcc
-- Check for working CUDA compiler: /GPUFS/app_GPU/compiler/CUDA/10.0.1/bin/nvcc -- works
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found CUDA: /GPUFS/app_GPU/compiler/CUDA/10.0.1 (found version "10.0")
-- CUDA Version:       10.0
-- CUDA Compiler:      /GPUFS/app_GPU/compiler/CUDA/10.0.1/bin/nvcc
-- CUDA Host Compiler: /app/compiler/gcc/4.9.4/bin/g++
-- CUDA Include Path:  /GPUFS/app_GPU/compiler/CUDA/10.0.1/include
-- CUDA Libraries:     /GPUFS/app_GPU/compiler/CUDA/10.0.1/lib64/libcudart_static.a;-lpthread;dl;/usr/lib64/librt.so
-- CUDA Compile Flags:
-- CUDA Link Flags:
-- CUDA Separable Compilation:  ON
-- CUDA Link with NVCC:
-- HIP Support is OFF
-- HCC Support is OFF
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.5") found components:  doxygen dot
-- Sphinx support is ON
-- Failed to locate Sphinx executable (missing: SPHINX_EXECUTABLE)
-- Valgrind support is ON
-- Found Valgrind: /usr/bin/valgrind
-- Uncrustify support is ON
-- Failed to locate Uncrustify executable (missing: UNCRUSTIFY_EXECUTABLE)
-- AStyle support is ON
-- Failed to locate AStyle executable (missing: ASTYLE_EXECUTABLE)
-- Cppcheck support is ON
-- Failed to locate Cppcheck executable (missing: CPPCHECK_EXECUTABLE)
-- ClangQuery support is ON
-- Failed to locate ClangQuery executable (missing: CLANGQUERY_EXECUTABLE)
-- C Compiler family is GNU
-- Adding optional BLT definitions and compiler flags
-- Enabling all compiler warnings on all targets.
-- Fortran support disabled.
-- CMAKE_C_FLAGS flags are:    -Wall -Wextra
-- CMAKE_CXX_FLAGS flags are:    -Wall -Wextra
-- CMAKE_EXE_LINKER_FLAGS flags are:
-- Google Test Support is ON
-- Google Mock Support is OFF
-- The C compiler identification is GNU 4.9.4
-- Check for working C compiler: /app/compiler/gcc/4.9.4/bin/gcc
-- Check for working C compiler: /app/compiler/gcc/4.9.4/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found PythonInterp: /usr/bin/python (found version "2.7.5")
-- MPI Enabled
-- OpenMP Enabled
-- Cuda Enabled
-- Configuring done
-- Generating done
-- Build files have been written to: /GPUFS/demo/benchmark/comb/build_ubuntu-nvcc10-gcc8

When I make, I get the errors.

/GPUFS/demo/benchmark/comb/include/graph_launch.hpp(154): error: identifier "cudaGraphExecKernelNodeSetParams" is undefined

/GPUFS/demo/benchmark/comb/include/graph_launch.hpp(174): error: argument of type "const cudaGraphNode_t *" is incompatible with parameter of type "cudaGraphNode_t *"

2 errors detected in the compilation of "/tmp/tmpxft_0004aa35_00000000-6_comb.cpp1.ii".
make[2]: *** [CMakeFiles/comb.dir/src/comb.cpp.o] error 1
make[1]: *** [CMakeFiles/comb.dir/all] error 2
make: *** [all] error 2

I cannot find cudaGraphExecKernelNodeSetParams in the code except graph_launch.hpp(154). Is it the bug or something I do wrong (like add the -std=c++11)

error: argument of type "const cudaGraphNode_t *" is incompatible with parameter of type "cudaGraphNode_t *" is also a problem about the code. How can I fix it?

Thanks for your attention. Looking forward to your reply.

@MrBurmark
Copy link
Member

Hello, it looks like you figured out how to get that older version of gcc to work, but you might want to use a newer version if possible.
I see that cuda graph support with cuda 10.0 is broken, but it should work with cuda 10.1 or higher. If you are not interested in cuda graphs a quick fix is to disable cuda graphs by commenting out the line here

#define COMB_ENABLE_CUDA_GRAPH
. I'll update this to fix cuda 10.0, but if you are interested in cuda graphs performance I recommend using a cuda version of 10.2 or higher.

@yweng0828
Copy link
Author

@MrBurmark Thanks for your reply, it really helps!!!
I use gcc 5.5.0 and cuda 10.1 this time, and the above problems did not occur.

But I still get a lot of errors when compiling the google test.

...
/GPUFS/demo/benchmark/comb_back/blt/thirdparty_builtin/googletest-master-2020-01-07/googletest/include/gtest/internal/gtest-internal.
h:349:50: error:‘const union testing::internal::FloatingPoint<float>::FloatingPointUnion’ has no member named ‘bits_’
     return DistanceBetweenSignAndMagnitudeNumbers(u_.bits_, rhs.u_.bits_)

/GPUFS/demo/benchmark/comb_back/blt/thirdparty_builtin/googletest-master-2020-01-07/googletest/include/gtest/internal/gtest-internal.h:9
74:8: error:no type named ‘type’ in ‘struct testing::internal::IsRecursiveContainerImpl<int, false>’
 struct IsRecursiveContainer : public IsRecursiveContainerImpl<C>::type {};
        ^
...

There are lots of errors, so I turn off the ENABLE_GTEST in CMakeCache.txt, and it can compile successfully.

//Enable Google Test testing support (if ENABLE_TESTS=ON)
ENABLE_GTEST:BOOL=OFF

Is the google test need more dependence? Or still the problem of my environment?

Thank you sincerely for your help :)

@MrBurmark
Copy link
Member

I have not seen such errors when compiling google test, so I can only recommend trying a different or more recent compiler.
On the other hand comb doesn't have any tests so disabling google test will only disable the blt tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants