[Build]
Describe the issue
A clear and concise description of what the issue is.
Environment information:
- OS: [
Ubuntu 22.04] - Compiler version: [
gcc 11.4.0] - CMake version: [e.g.
3.22.1] - CUDA used for AMGX compilation: [
CUDA 12.2.0] - MPI version (if applicable): [
OpenMPI 4.1.2] - AMGX version or commit hash [
f280993e5df32701fb28c2636f49eea4bc5753a4]
Configuration information
cmake ../
-DCMAKE_BUILD_TYPE=Debug
-DCMAKE_C_COMPILER=gcc
-DCMAKE_CXX_COMPILER=g++
-DCUDA_ARCH="80"
CMAKE CONFIG OUTPUT
-- The C compiler identification is GNU 10.5.0
-- The CXX compiler identification is GNU 10.5.0
-- The CUDA compiler identification is NVIDIA 11.5.119
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/gcc-10 - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++-10 - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: /usr/bin/nvcc - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
-- Found MPI_C: /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi.so (found version "3.1")
-- Found MPI_CXX: /usr/lib/x86_64-linux-gnu/openmpi/lib/libmpi_cxx.so (found version "3.1")
-- Found MPI: TRUE (found version "3.1")
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- Found CUDAToolkit: /usr/include (found suitable version "11.5.119", minimum required is "10.0")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
This is a MPI build:TRUE
-- Checking if arch 80 is supported...
-- Found libcudacxx: /home/geyan/Workspace/Softwares/AMGX/thrust/dependencies/libcudacxx/lib/cmake/libcudacxx/libcudacxx-config.cmake (found suitable version "1.8.1.0", minimum required is "1.8.0")
-- Found Thrust: /home/geyan/Workspace/Softwares/AMGX/thrust/thrust/cmake/thrust-config.cmake (found version "2.1.0.0")
-- Found CUB: /home/geyan/Workspace/Softwares/AMGX/thrust/dependencies/cub/cub/cmake/cub-config.cmake (found suitable version "2.1.0.0", minimum required is "2.1.0.0")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/geyan/Workspace/Softwares/AMGX/build
Compilation information [ 1%] Building CUDA object src/CMakeFiles/amgx_tests_libs.dir/testframework.cu.o [ 1%] Building CUDA object src/CMakeFiles/amgx_tests_libs.dir/unit_test.cu.o [ 1%] Building CUDA object src/CMakeFiles/amgx_tests_libs.dir/test_utils.cu.o [ 1%] Building CUDA object CMakeFiles/amgx_libs.dir/src/aggregation/aggregation_amg_level.cu.o [ 1%] Building CUDA object CMakeFiles/amgx_libs.dir/src/aggregation/selectors/adaptive.cu.o [ 1%] Built target copy_configs_core [ 2%] Building CUDA object CMakeFiles/amgx_libs.dir/src/aggregation/coarseAgenerators/coarse_A_generator.cu.o [ 3%] Building CUDA object CMakeFiles/amgx_libs.dir/src/aggregation/coarseAgenerators/thrust_coarse_A_generator.cu.o [ 3%] Building CUDA object CMakeFiles/amgx_libs.dir/src/aggregation/coarseAgenerators/low_deg_coarse_A_generator.cu.o [ 3%] Building CUDA object CMakeFiles/amgx_libs.dir/src/aggregation/coarseAgenerators/hybrid_coarse_A_generator.cu.o [ 4%] Building CUDA object CMakeFiles/amgx_libs.dir/src/aggregation/selectors/agg_selector.cu.o /usr/include/c++/11/bits/std_function.h:435:145: error: parameter packs not expanded with ‘...’: 435 | function(_Functor&& __f) | ^ /usr/include/c++/11/bits/std_function.h:435:145: note: ‘_ArgTypes’ /usr/include/c++/11/bits/std_function.h:530:146: error: parameter packs not expanded with ‘...’: 530 | operator=(_Functor&& __f) | ^ /usr/include/c++/11/bits/std_function.h:530:146: note: ‘_ArgTypes’ /usr/include/c++/11/bits/std_function.h:435:145: error: parameter packs not expanded with ‘...’: 435 | function(_Functor&& __f) | ^ /usr/include/c++/11/bits/std_function.h:435:145: note: ‘_ArgTypes’ /usr/include/c++/11/bits/std_function.h:530:146: error: parameter packs not expanded with ‘...’: 530 | operator=(_Functor&& __f) | ^ /usr/include/c++/11/bits/std_function.h:530:146: note: ‘_ArgTypes’ /usr/include/c++/11/bits/std_function.h:435:145: error: parameter packs not expanded with ‘...’: 435 | function(_Functor&& __f) | ^ /usr/include/c++/11/bits/std_function.h:435:145: note: ‘_ArgTypes’ /usr/include/c++/11/bits/std_function.h:530:146: error: parameter packs not expanded with ‘...’: 530 | operator=(_Functor&& __f) | ^ /usr/include/c++/11/bits/std_function.h:530:146: note: ‘_ArgTypes’ /usr/include/c++/11/bits/std_function.h:435:145: error: parameter packs not expanded with ‘...’: 435 | function(_Functor&& __f) |
Provide your make command make -j10 Issue information As shown above
Additional context
Add any other context about the problem here.
I also tried gcc-10 and g++-10 which does not solve the problem
Hi! Are you using nvcc from package nvidia-cuda-toolkit (typically apt install nvidia-cuda-toolkit)?
I had exactly the same issue, which got resolved when I switched to cuda from nvidia repository (installation instructions from here and post-installation actions from here).
There does exist a similar issue NVlabs/instant-ngp#119, where it is resolved by downgrading to gcc-10 (which seems not to work for you) or switching to another cuda.
@yanang007 Thanks for your answer. I'm using the cuda-toolkit come with PopOS, which seems likely from the package. I'll try
switched to cuda from nvidia repository (installation instructions from here and post-installation actions from here) later.
Thanks !
This problem is fix by installing the official cudatoolkit from website. Thanks @yanang007