picongpu icon indicating copy to clipboard operation
picongpu copied to clipboard

Problem trying to compile PicOnGPU on ArchLinux

Open denisbertini opened this issue 4 years ago • 16 comments

Hi I am trying to compile PicOnGpu on my ArchLinux having

  • GCC 11.1.0
  • CUDA 11.4
  • Boost 1.76

and got problem while trying to compile alapka module, see the complete dump:

dbertini@citpc019  ~/plasma/pic_on_gpu/input/myLWFA  pic-build
build directory: .build
cmake command: cmake  -DCMAKE_INSTALL_PREFIX=.. -DPIC_EXTENSION_PATH=..   -DALPAKA_ACC_GPU_CUDA_ENABLE=ON -DALPAKA_ACC_GPU_CUDA_ONLY_MODE=ON /home/dbertini/src/picongpu/include/picongpu
-- Found CUDA: /opt/cuda (found suitable version "11.4", minimum required is "8.0") 
-- ALPAKA_ACC_GPU_CUDA_ONLY_MODE
-- ALPAKA_ACC_GPU_CUDA_ENABLED
-- _cupla_COMPILE_OPTIONS_PUBLIC: -Wall;-Wextra;-Wno-unknown-pragmas;-Wno-unused-parameter;-Wno-unused-local-typedefs;-Wno-attributes;-Wno-reorder;-Wno-sign-compare
-- _cupla_COMPILE_DEFINITIONS_PUBLIC: ALPAKA_ACC_GPU_CUDA_ONLY_MODE;ALPAKA_ACC_GPU_CUDA_ENABLED;ALPAKA_DEBUG=0;CUPLA_STREAM_ASYNC_ENABLED=1
-- _cupla_INCLUDE_DIRECTORIES_PUBLIC: /opt/cuda/include;/home/dbertini/src/picongpu/thirdParty/alpaka/include;/home/dbertini/src/picongpu/thirdParty/cupla/include
-- _cupla_LINK_LIBRARIES_PUBLIC: general;pthread;general;rt;Boost::boost;general;/opt/cuda/lib64/libcudart.so
-- Found Boost: /usr/lib64/cmake/Boost-1.76.0/BoostConfig.cmake (found suitable version "1.76.0", minimum required is "1.65.1") found components: filesystem system math_tr1 
-- Boost: result_of with TR1 style and decltype fallback
-- Boost: deactivate std::auto_ptr
CMake Warning at /home/dbertini/src/picongpu/include/pmacc/PMaccConfig.cmake:353 (message):
  Untested CUDA release >10.2 (Found 11.4)! Maybe use a newer PIConGPU?
Call Stack (most recent call first):
  CMakeLists.txt:95 (find_package)


-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found CUDA: /opt/cuda (found suitable version "11.4", minimum required is "5.0") 
-- Found Boost: /usr/lib64/cmake/Boost-1.76.0/BoostConfig.cmake (found suitable version "1.76.0", minimum required is "1.48.0")  
-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found Boost: /usr/lib64/cmake/Boost-1.76.0/BoostConfig.cmake (found suitable version "1.76.0", minimum required is "1.65.1") found components: program_options filesystem system math_tr1 serialization 
CMake Deprecation Warning at /home/dbertini/src/picongpu/thirdParty/cuda_memtest/CMakeLists.txt:5 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- Found CUDA: /opt/cuda (found version "11.4") 
-- Could NOT find NVML (missing: NVML_INCLUDE_DIR) 
CMake Warning (dev) at /home/dbertini/src/picongpu/thirdParty/cuda_memtest/CMakeLists.txt:127 (target_link_libraries):
  Policy CMP0023 is not set: Plain and keyword target_link_libraries
  signatures cannot be mixed.  Run "cmake --help-policy CMP0023" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  The keyword signature for target_link_libraries has already been used with
  the target "cuda_memtest".  All uses of target_link_libraries with a target
  should be either all-keyword or all-plain.

  The uses of the keyword signature are here:

   * /usr/share/cmake-3.21/Modules/FindCUDA.cmake:2046 (target_link_libraries)

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found Boost: /usr/lib64/cmake/Boost-1.76.0/BoostConfig.cmake (found suitable version "1.76.0", minimum required is "1.65.1") found components: program_options 
CMake Deprecation Warning at /home/dbertini/src/picongpu/thirdParty/cmake-modules/FindADIOS.cmake:91 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.
Call Stack (most recent call first):
  CMakeLists.txt:242 (find_package)


-- Can NOT find 'adios_config' - set ADIOS_ROOT, ADIOS_DIR or INSTALL_PREFIX, or check your PATH
-- Could NOT find ADIOS (missing: ADIOS_LIBRARIES ADIOS_INCLUDE_DIRS) (Required is at least version "1.13.1")
-- Could NOT find Splash (missing: Splash_DIR)
-- Could NOT find Splash - set Splash_DIR or check your CMAKE_PREFIX_PATH
-- Could NOT find PNGwriter (missing: PNGwriter_DIR)
-- Could NOT find PNGwriter - set PNGwriter_DIR or check your CMAKE_PREFIX_PATH
-- Could NOT find ISAAC - set ISAAC_DIR or check your CMAKE_PREFIX_PATH
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dbertini/plasma/pic_on_gpu/input/myLWFA/.build
Consolidate compiler generated dependencies of target mpiInfo
Consolidate compiler generated dependencies of target picongpu-hostonly
Consolidate compiler generated dependencies of target cuda_memtest
[  3%] Building NVCC (Device) object CMakeFiles/cupla.dir/__/__/thirdParty/cupla/src/cupla_generated_event.cpp.o
[  7%] Building NVCC (Device) object CMakeFiles/cupla.dir/__/__/thirdParty/cupla/src/cupla_generated_stream.cpp.o
[ 11%] Building NVCC (Device) object CMakeFiles/cupla.dir/__/__/thirdParty/cupla/src/cupla_generated_memory.cpp.o
[ 25%] Built target cuda_memtest
[ 29%] Building NVCC (Device) object CMakeFiles/cupla.dir/__/__/thirdParty/cupla/src/manager/cupla_generated_Driver.cpp.o
[ 33%] Building NVCC (Device) object CMakeFiles/cupla.dir/__/__/thirdParty/cupla/src/cupla_generated_device.cpp.o
[ 37%] Building NVCC (Device) object CMakeFiles/cupla.dir/__/__/thirdParty/cupla/src/cupla_generated_common.cpp.o
[ 44%] Built target mpiInfo
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
[ 85%] Built target picongpu-hostonly
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
/home/dbertini/src/picongpu/thirdParty/alpaka/include/alpaka/core/ConcurrentExecPool.hpp: In instantiation of ‘decltype (declval<TPromise<decltype (task(alpaka::core::detail::ConcurrentExecPool<TIdx, TConcurrentExec, TPromise, TYield, TMutex, TCondVar, false>::enqueueTask::args ...))> >().get_future()) alpaka::core::detail::ConcurrentExecPool<TIdx, TConcurrentExec, TPromise, TYield, TMutex, TCondVar, false>::enqueueTask(TFnObj&&, TArgs&& ...) [with TFnObj = alpaka::queue::traits::Enqueue<alpaka::queue::cpu::detail::QueueCpuNonBlockingImpl, alpaka::event::EventCpu>::enqueue(alpaka::queue::cpu::detail::QueueCpuNonBlockingImpl&, alpaka::event::EventCpu&)::<lambda()>; TArgs = {}; TIdx = long unsigned int; TConcurrentExec = std::thread; TPromise = std::promise; TYield = void; TMutex = std::mutex; TCondVar = std::condition_variable; decltype (declval<TPromise<decltype (task(alpaka::core::detail::ConcurrentExecPool<TIdx, TConcurrentExec, TPromise, TYield, TMutex, TCondVar, false>::enqueueTask::args ...))> >().get_future()) = std::future<void>; decltype (task(alpaka::core::detail::ConcurrentExecPool<TIdx, TConcurrentExec, TPromise, TYield, TMutex, TCondVar, false>::enqueueTask::args ...)) = void]’:
/home/dbertini/src/picongpu/thirdParty/alpaka/include/alpaka/event/EventCpu.hpp:217:67:   required from here
/home/dbertini/src/picongpu/thirdParty/alpaka/include/alpaka/core/ConcurrentExecPool.hpp:589:22: error: ‘__T24’ was not declared in this scope
  589 |                     auto boundTask([=](){return task(args...);});
      |                     ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dbertini/src/picongpu/thirdParty/alpaka/include/alpaka/core/ConcurrentExecPool.hpp:590:36: error: ‘__T25’ was not declared in this scope
  590 |                     auto decrementNumActiveTasks([this](){--m_numActiveTasks;});
      |                              ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dbertini/src/picongpu/thirdParty/alpaka/include/alpaka/core/ConcurrentExecPool.hpp:592:25: error: ‘__T26’ was not declared in this scope
  592 |                     auto extendedTask(
      |                     ~~~~^~~~~~~~~~~~~~
  593 |                         [boundTask, decrementNumActiveTasks]()
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  594 |                         {
      |                         ~
  595 |                             return
      |                             ~~~~~~
  596 |                                 invokeBothReturnFirst(
      |                                 ~~~~~~~~~~~~~~~~~~~~~~
  597 |                                     std::move(boundTask),
      |                                     ~~~~~~~~~~~~~~~~~~~~~
  598 |                                     std::move(decrementNumActiveTasks)
      |                                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  599 |                                 );
      |                                 ~~
  600 |                         });
      |                          
/home/dbertini/src/picongpu/thirdParty/alpaka/include/alpaka/core/ConcurrentExecPool.hpp:603:25: error: ‘__T27’ was not declared in this scope
  603 |                     auto pTaskPackage(new TaskPackage(std::move(extendedTask)));
      |                     ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dbertini/src/picongpu/thirdParty/alpaka/include/alpaka/core/ConcurrentExecPool.hpp:606:19: error: ‘__T28’ was not declared in this scope
  606 |                     auto future(pTaskPackage->m_Promise.get_future());
      |                   ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/dbertini/src/picongpu/thirdParty/alpaka/include/alpaka/core/ConcurrentExecPool.hpp: In instantiation of ‘decltype (declval<TPromise<decltype (task(alpaka::core::detail::ConcurrentExecPool<TIdx, TConcurrentExec, TPromise, TYield, TMutex, TCondVar, false>::enqueueTask::args ...))> >().get_future()) alpaka::core::detail::ConcurrentExecPool<TIdx, TConcurrentExec, TPromise, TYield, TMutex, TCondVar, false>::enqueueTask(TFnObj&&, TArgs&& ...) [with TFnObj = alpaka::wait::traits::WaiterWaitFor<alpaka::queue::cpu::detail::QueueCpuNonBlockingImpl, alpaka::event::EventCpu>::waiterWaitFor(alpaka::queue::cpu::detail::QueueCpuNonBlockingImpl&, const alpaka::event::EventCpu&)::<lambda()>; TArgs = {}; TIdx = long unsigned int; TConcurrentExec = std::thread; TPromise = std::promise; TYield = void; TMutex = std::mutex; TCondVar = std::condition_variable; decltype (declval<TPromise<decltype (task(alpaka::core::detail::ConcurrentExecPool<TIdx, TConcurrentExec, TPromise, TYield, TMutex, TCondVar, false>::enqueueTask::args ...))> >().get_future()) = std::future<void>; decltype (task(alpaka::core::detail::ConcurrentExecPool<TIdx, TConcurrentExec, TPromise, TYield, TMutex, TCondVar, false>::enqueueTask::args ...)) = void]’:
/home/dbertini/src/picongpu/thirdParty/alpaka/include/alpaka/event/EventCpu.hpp:381:39:   required from here
/home/dbertini/src/picongpu/thirdParty/alpaka/include/alpaka/core/ConcurrentExecPool.hpp:589:22: error: ‘__T24’ was not declared in this scope
  589 |                     auto boundTask([=](){return task(args...);});

Any idea what went wrong here?

denisbertini avatar Oct 11 '21 12:10 denisbertini

Hello @denisbertini . The version of alpaka inside PIConGPU officially supports up to CUDA 11.1. If possible could you try older CUDA?

Dev version of alpaka should be working with 11.4. I do not know what were the changed required, do you know @psychocoderHPC ?

sbastrakov avatar Oct 11 '21 12:10 sbastrakov

So this seems to be a fix in alpaka. I guess until we bring the fresh alpaka to PIConGPU, one could only use CUDA <= 11.2 with PIConGPU

sbastrakov avatar Oct 11 '21 12:10 sbastrakov

CUDA 11.3+ is currently not supported. NVIDIA broke valid C++ code with the CUDA 11.3 update, this requires a larger update of alpaka. We will pull the latest alpaka version within the next days into the development branch.

You can install the CUDA 11.2 library and tools on a system with CUDA 11.4 driver, this should workaround the current limitation.

psychocoderHPC avatar Oct 11 '21 12:10 psychocoderHPC

OK now i downgrade to

  • CUDA 11.0 but i am now having c++ issues coming certainly from the
  • GCC 11.1.0
dbertini@citpc019  ~/plasma/pic_on_gpu/input/myLWFA  pic-build
build directory: .build
cmake command: cmake  -DCMAKE_INSTALL_PREFIX=.. -DPIC_EXTENSION_PATH=..   -DALPAKA_ACC_GPU_CUDA_ENABLE=ON -DALPAKA_ACC_GPU_CUDA_ONLY_MODE=ON /home/dbertini/src/picongpu/include/picongpu
-- Found CUDA: /opt/cuda (found suitable version "11.4", minimum required is "8.0") 
-- ALPAKA_ACC_GPU_CUDA_ONLY_MODE
-- ALPAKA_ACC_GPU_CUDA_ENABLED
-- _cupla_COMPILE_OPTIONS_PUBLIC: -Wall;-Wextra;-Wno-unknown-pragmas;-Wno-unused-parameter;-Wno-unused-local-typedefs;-Wno-attributes;-Wno-reorder;-Wno-sign-compare
-- _cupla_COMPILE_DEFINITIONS_PUBLIC: ALPAKA_ACC_GPU_CUDA_ONLY_MODE;ALPAKA_ACC_GPU_CUDA_ENABLED;ALPAKA_DEBUG=0;CUPLA_STREAM_ASYNC_ENABLED=1
-- _cupla_INCLUDE_DIRECTORIES_PUBLIC: /opt/cuda/include;/home/dbertini/src/picongpu/thirdParty/alpaka/include;/home/dbertini/src/picongpu/thirdParty/cupla/include
-- _cupla_LINK_LIBRARIES_PUBLIC: general;pthread;general;rt;Boost::boost;general;/opt/cuda/lib64/libcudart.so
-- Found Boost: /usr/lib64/cmake/Boost-1.76.0/BoostConfig.cmake (found suitable version "1.76.0", minimum required is "1.65.1") found components: filesystem system math_tr1 
-- Boost: result_of with TR1 style and decltype fallback
-- Boost: deactivate std::auto_ptr
CMake Warning at /home/dbertini/src/picongpu/include/pmacc/PMaccConfig.cmake:353 (message):
  Untested CUDA release >10.2 (Found 11.4)! Maybe use a newer PIConGPU?
Call Stack (most recent call first):
  CMakeLists.txt:95 (find_package)


-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found CUDA: /opt/cuda (found suitable version "11.4", minimum required is "5.0") 
-- Found Boost: /usr/lib64/cmake/Boost-1.76.0/BoostConfig.cmake (found suitable version "1.76.0", minimum required is "1.48.0")  
-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found Boost: /usr/lib64/cmake/Boost-1.76.0/BoostConfig.cmake (found suitable version "1.76.0", minimum required is "1.65.1") found components: program_options filesystem system math_tr1 serialization 
CMake Deprecation Warning at /home/dbertini/src/picongpu/thirdParty/cuda_memtest/CMakeLists.txt:5 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- Found CUDA: /opt/cuda (found version "11.4") 
-- Could NOT find NVML (missing: NVML_INCLUDE_DIR) 
CMake Warning (dev) at /home/dbertini/src/picongpu/thirdParty/cuda_memtest/CMakeLists.txt:127 (target_link_libraries):
  Policy CMP0023 is not set: Plain and keyword target_link_libraries
  signatures cannot be mixed.  Run "cmake --help-policy CMP0023" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  The keyword signature for target_link_libraries has already been used with
  the target "cuda_memtest".  All uses of target_link_libraries with a target
  should be either all-keyword or all-plain.

  The uses of the keyword signature are here:

   * /usr/share/cmake-3.21/Modules/FindCUDA.cmake:2046 (target_link_libraries)

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found Boost: /usr/lib64/cmake/Boost-1.76.0/BoostConfig.cmake (found suitable version "1.76.0", minimum required is "1.65.1") found components: program_options 
CMake Deprecation Warning at /home/dbertini/src/picongpu/thirdParty/cmake-modules/FindADIOS.cmake:91 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.
Call Stack (most recent call first):
  CMakeLists.txt:242 (find_package)


-- Can NOT find 'adios_config' - set ADIOS_ROOT, ADIOS_DIR or INSTALL_PREFIX, or check your PATH
-- Could NOT find ADIOS (missing: ADIOS_LIBRARIES ADIOS_INCLUDE_DIRS) (Required is at least version "1.13.1")
-- Could NOT find Splash (missing: Splash_DIR)
-- Could NOT find Splash - set Splash_DIR or check your CMAKE_PREFIX_PATH
-- Could NOT find PNGwriter (missing: PNGwriter_DIR)
-- Could NOT find PNGwriter - set PNGwriter_DIR or check your CMAKE_PREFIX_PATH
-- Could NOT find ISAAC - set ISAAC_DIR or check your CMAKE_PREFIX_PATH
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dbertini/plasma/pic_on_gpu/input/myLWFA/.build
[  3%] Building NVCC (Device) object build_cuda_memtest/CMakeFiles/cuda_memtest.dir/cuda_memtest_generated_cuda_memtest.cu.o
Consolidate compiler generated dependencies of target mpiInfo
[  7%] Building NVCC (Device) object build_cuda_memtest/CMakeFiles/cuda_memtest.dir/cuda_memtest_generated_tests.cu.o
Consolidate compiler generated dependencies of target picongpu-hostonly
[ 11%] Building NVCC (Device) object CMakeFiles/cupla.dir/__/__/thirdParty/cupla/src/cupla_generated_device.cpp.o
[ 14%] Linking CXX executable mpiInfo
[ 18%] Building NVCC (Device) object CMakeFiles/cupla.dir/__/__/thirdParty/cupla/src/cupla_generated_event.cpp.o
[ 25%] Building NVCC (Device) object CMakeFiles/cupla.dir/__/__/thirdParty/cupla/src/cupla_generated_memory.cpp.o
[ 25%] Building NVCC (Device) object CMakeFiles/cupla.dir/__/__/thirdParty/cupla/src/cupla_generated_common.cpp.o
[ 29%] Building NVCC (Device) object CMakeFiles/cupla.dir/__/__/thirdParty/cupla/src/cupla_generated_stream.cpp.o
[ 33%] Building NVCC (Device) object CMakeFiles/cupla.dir/__/__/thirdParty/cupla/src/manager/cupla_generated_Driver.cpp.o
[ 74%] Built target picongpu-hostonly
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
[ 77%] Built target mpiInfo
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
/usr/include/c++/11.1.0/type_traits(1356): error #254: type name is not allowed

/usr/include/c++/11.1.0/type_traits(1356): error #254: type name is not allowed

/usr/include/c++/11.1.0/type_traits(1356): error #20: identifier "__is_same" is undefined

nvcc warning : The 'compute_35', 'compute_37', 'compute_50', 'sm_35', 'sm_37' and 'sm_50' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
/usr/include/c++/11.1.0/type_traits(1356): error #254: type name is not allowed

/usr/include/c++/11.1.0/type_traits(1356): error #254: type name is not allowed

/usr/include/c++/11.1.0/type_traits(1356): error #20: identifier "__is_same" is undefined

/usr/include/c++/11.1.0/ext/string_conversions.h(85): error #304: no instance of overloaded function "_Range_chk::_S_chk" matches the argument list
            argument types are: (const long, std::is_same<int, int>)
          detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT *, _CharT **, _Base...), const char *, const _CharT *, std::size_t *, _Base...) [with _TRet=long, _Ret=int, _CharT=char, _Base=<int>]" 
/usr/include/c++/11.1.0/bits/basic_string.h(6606): here

/usr/include/c++/11.1.0/ext/string_conversions.h(85): error #304: no instance of overloaded function "_Range_chk::_S_chk" matches the argument list
            argument types are: (const long, std::is_same<long, int>)
          detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT *, _CharT **, _Base...), const char *, const _CharT *, std::size_t *, _Base...) [with _TRet=long, _Ret=long, _CharT=char, _Base=<int>]" 
/usr/include/c++/11.1.0/bits/basic_string.h(6611): here

/usr/include/c++/11.1.0/ext/string_conversions.h(85): error #304: no instance of overloaded function "_Range_chk::_S_chk" matches the argument list
            argument types are: (const unsigned long, std::is_same<unsigned long, int>)
          detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT *, _CharT **, _Base...), const char *, const _CharT *, std::size_t *, _Base...) [with _TRet=unsigned long, _Ret=unsigned long, _CharT=char, _Base=<int>]" 
/usr/include/c++/11.1.0/bits/basic_string.h(6616): here

/usr/include/c++/11.1.0/ext/string_conversions.h(85): error #304: no instance of overloaded function "_Range_chk::_S_chk" matches the argument list
            argument types are: (const long long, std::is_same<long long, int>)
          detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT *, _CharT **, _Base...), const char *, const _CharT *, std::size_t *, _Base...) [with _TRet=long long, _Ret=long long, _CharT=char, _Base=<int>]" 
/usr/include/c++/11.1.0/bits/basic_string.h(6621): here

/usr/include/c++/11.1.0/ext/string_conversions.h(85): error #304: no instance of overloaded function "_Range_chk::_S_chk" matches the argument list
            argument types are: (const unsigned long long, std::is_same<unsigned long long, int>)
          detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT *, _CharT **, _Base...), const char *, const _CharT *, std::size_t *, _Base...) [with _TRet=unsigned long long, _Ret=unsigned long long, _CharT=char, _Base=<int>]" 
/usr/include/c++/11.1.0/bits/basic_string.h(6626): here

/usr/include/c++/11.1.0/ext/string_conversions.h(85): error #304: no instance of overloaded function "_Range_chk::_S_chk" matches the argument list
            argument types are: (const float, std::is_same<float, int>)
          detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT *, _CharT **, _Base...), const char *, const _CharT *, std::size_t *, _Base...) [with _TRet=float, _Ret=float, _CharT=char, _Base=<>]" 
/usr/include/c++/11.1.0/bits/basic_string.h(6632): here

/usr/include/c++/11.1.0/ext/string_conversions.h(85): error #304: no instance of overloaded function "_Range_chk::_S_chk" matches the argument list
            argument types are: (const double, std::is_same<double, int>)
          detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT *, _CharT **, _Base...), const char *, const _CharT *, std::size_t *, _Base...) [with _TRet=double, _Ret=double, _CharT=char, _Base=<>]" 
/usr/include/c++/11.1.0/bits/basic_string.h(6636): here

/usr/include/c++/11.1.0/ext/string_conversions.h(85): error #304: no instance of overloaded function "_Range_chk::_S_chk" matches the argument list
            argument types are: (const long double, std::is_same<long double, int>)
          detected during instantiation of "_Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT *, _CharT **, _Base...), const char *, const _CharT *, std::size_t *, _Base...) [with _TRet=long double, _Ret=long double, _CharT=char, _Base=<>]" 

Is this also a known limitation ?

denisbertini avatar Oct 11 '21 13:10 denisbertini

Sorry @denisbertini , I didn't notice it initially. We do not officially support gcc 11.1. It may work, but probably won't. Please refer to these pages: our readthedocs, alpaka compatibility table (for the alpaka version used by PIConGPU), CUDA + compiler compatibility table.

sbastrakov avatar Oct 11 '21 14:10 sbastrakov

@denisbertini Your output is saying Found CUDA: /opt/cuda (found suitable version "11.4", minimum required is "8.0") you must delete the folder .build in our parameter set created with pic-create to avoid using cached dependencies. Take care which CUDA version PIConGPU selects, if required set the environment variable export CMAKE_PREFIX_PATH=<cuda11XPath>:$CMAKE_PREFIX_PATH

psychocoderHPC avatar Oct 11 '21 14:10 psychocoderHPC

@psychocoderHPC Yes i had indeed removed the .build directory. But the problem is now linked to incompatible gcc and nvcc. In fact the max gcc version that CUDA right now support in the gcc 10.. I think i have to downgrade gcc as well.

denisbertini avatar Oct 11 '21 18:10 denisbertini

I have difficulty compiling with gcc 11.1 and the problem i quoted before seems to be linked to the thirdparty cuda code, which i do not understand since it is basically C code. Anyway i can not easily now begin to change versions of packages on my system. I have seen from an nvidia page itself that already singularity images exists for PicOnGPU. It there some repos wher i can find the latest singularity images, or even better the recipes that one can use to create the image?

denisbertini avatar Oct 12 '21 15:10 denisbertini

@sbastrakov on the compatibiltity table you sent, HIP(clang-llvm) is supported/tested but only for gcc5.5. Now this is a really old version of gcc. I guess you still did not test for more recent gcc version right? Or is there limitations for the usage of HIP i should know about?

denisbertini avatar Oct 12 '21 15:10 denisbertini

One could apply a 'sledgehammer solution' by installing manually GCC 10.2.0 and all necessary dependencies and utilize module environment on the machine. If you want to go that way I could provide you - maybe not a script but at least a list of commands to copy-paste to get the environment set up.

Anton-Le avatar Oct 29 '21 13:10 Anton-Le

@denisbertini PIConGPU dev branch is now supporting CUDA 11.4

psychocoderHPC avatar Nov 09 '21 15:11 psychocoderHPC

@denisbertini There has been a recent update of the docker/singularity recipe with #3921. You may want to have a look in picongpu/share/picongpu/dockerfiles/.

steindev avatar Nov 25 '21 08:11 steindev

Very nice, thanks ! I will try this out as soon as we fixed the problem on the hardware we have right now !

denisbertini avatar Nov 25 '21 09:11 denisbertini

As far as i can see in the def file, the container def. files are for picongpu working NVIDIA GPU. Is there any already prepared def files for ROCM, AMD GPU ?

denisbertini avatar Dec 07 '21 09:12 denisbertini

I belive we do not have a ready container for AMD, do we @psychocoderHPC ?

sbastrakov avatar Dec 07 '21 15:12 sbastrakov

We have containers https://gitlab.com/hzdr/crp/alpaka-group-container/container_registry/?orderBy=UPDATED&sort=desc&search=rocm&search= where all dependencies for rocm are installed but no PIConGPU container recipe. You must clone PIConGPU by hand and build PIConGPU.

psychocoderHPC avatar Dec 07 '21 15:12 psychocoderHPC

@denisbertini Did you encounter further problems? If not, please remember to close the issue ;)

BrianMarre avatar Dec 14 '22 15:12 BrianMarre

No indeed i will close this.

denisbertini avatar Dec 14 '22 18:12 denisbertini