Picongpu: Compilation issue on new release

Created on 26 Jul 2020  路  16Comments  路  Source: ComputationalRadiationPhysics/picongpu

Hi,

I just update to the latest version using git fetch and git pull. When I compile my previous setting I obtain the following error:

[ 96%] Building NVCC (Device) object CMakeFiles/picongpu.dir/picongpu_generated_main.cpp.o
nvcc fatal : Unknown option '-diag_suppress'
CMake Error at picongpu_generated_versionFormat.cpp.o.Release.cmake:219 (message):
Error generating
/users/hpce3/jfuhong/picInputs/myLWFA/.build/CMakeFiles/picongpu.dir//./picongpu_generated_versionFormat.cpp.o

make[2]: * [CMakeFiles/picongpu.dir/build.make:72: CMakeFiles/picongpu.dir/picongpu_generated_versionFormat.cpp.o] Error 1
make[2]: *
Waiting for unfinished jobs....
nvcc fatal : Unknown option '-diag_suppress'
CMake Error at picongpu_generated_main.cpp.o.Release.cmake:219 (message):
Error generating
/users/hpce3/jfuhong/picInputs/myLWFA/.build/CMakeFiles/picongpu.dir//./picongpu_generated_main.cpp.o

make[2]: * [CMakeFiles/picongpu.dir/build.make:65: CMakeFiles/picongpu.dir/picongpu_generated_main.cpp.o] Error 1
make[2]: Leaving directory '/users/hpce3/jfuhong/picInputs/myLWFA/.build'
make[1]:
[CMakeFiles/Makefile2:179: CMakeFiles/picongpu.dir/all] Error 2
make[1]: Leaving directory '/users/hpce3/jfuhong/picInputs/myLWFA/.build'
make: *
* [Makefile:130: all] Error 2

ERROR: Could not successfully run make install in build directory:
.build

How could this be fixed? Thanks

bug third party

Most helpful comment

Glad it worked @StevE-Ong . Yes, I think it would be a reasonable request along the lines of "now PIConGPU got new version 0.5.0 and it is not compatible with the old ISSAC module"

All 16 comments

Which branch do you use? Please run 'git branch'

Which vwrsion of PIConGPU do you used.

Hi,

Thank you for your reply. I am now in the master branch. I redownload with git clone...same problem. The version I used was PIConGPU: 0.4.3. I have not updated it in my account since the first install in GRNET.

I assume you switched now to the version 0.5.0 (last release) and not to the dev branch.
In that case please have a look to https://github.com/ComputationalRadiationPhysics/picongpu/blob/0.5.0/CHANGELOG.md#changes-to-040 and the input file changes. Older param files are not compatible. If you changed only few parameter I suggest to start from a fresh Laser Wakefield example.

Never the less you should delete the .build folder to avoid side effects with cached cmake data from older builds. Goto the input set and run rm -r .build

Hi,

I am now with the master branch. I attempt to switch to the dev branch but it doesn't merge. Then following your suggestion, I do the following:
copy the LWFA example from picongpu which I git clone and then pic-build. But I repeatedly get the same output even I deleted the .build. The error is:

-- Found PNGwriter: /users/hpce3/jfuhong/lib/pngwriter/lib/cmake/PNGwriter
CMake Deprecation Warning at /apps/applications/picongpu/0.4.3/lib/cmake/ISAAC/ISAACConfig.cmake:20 (cmake_policy):
The OLD behavior for policy CMP0048 will be removed from a future version
of CMake.

The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.
Call Stack (most recent call first):
CMakeLists.txt:335 (find_package)

-- Found JPEG: /usr/lib64/libjpeg.so (found version "62")
-- Found CUDA: /apps/compilers/cuda/9.2.148 (found suitable version "9.2", minimum required is "9.2")
-- ALPAKA_ACC_GPU_CUDA_ONLY_MODE
-- ALPAKA_ACC_GPU_CUDA_ENABLED
-- ISAAC was found, but detected the following problems:missing dependencies:
-- libJansson
-- IceT
-- Configuring done
-- Generating done
-- Build files have been written to: /users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build
make[1]: Entering directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
make[2]: Entering directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
make[2]: Entering directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
make[2]: Entering directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
make[2]: Entering directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
[ 7%] 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
[ 18%] Building NVCC (Device) object CMakeFiles/cupla.dir/__/__/thirdParty/cupla/src/cupla_generated_device.cpp.o
[ 18%] Building NVCC (Device) object build_cuda_memtest/CMakeFiles/cuda_memtest.dir/cuda_memtest_generated_tests.cu.o
[ 18%] Building NVCC (Device) object CMakeFiles/cupla.dir/__/__/thirdParty/cupla/src/cupla_generated_memory.cpp.o
Scanning dependencies of target picongpu-hostonly
[ 22%] Building NVCC (Device) object CMakeFiles/cupla.dir/__/__/thirdParty/cupla/src/cupla_generated_common.cpp.o
Scanning dependencies of target mpiInfo
[ 29%] Building NVCC (Device) object CMakeFiles/cupla.dir/__/__/thirdParty/cupla/src/manager/cupla_generated_Driver.cpp.o
[ 29%] Building NVCC (Device) object build_cuda_memtest/CMakeFiles/cuda_memtest.dir/cuda_memtest_generated_cuda_memtest.cu.o
make[2]: Leaving directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
make[2]: Entering directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
[ 33%] Building CXX object build_mpiInfo/CMakeFiles/mpiInfo.dir/mpiInfo.cpp.o
make[2]: Leaving directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
make[2]: Entering directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
[ 40%] Building CXX object CMakeFiles/picongpu-hostonly.dir/ArgsParser.cpp.o
[ 40%] Building CXX object CMakeFiles/picongpu-hostonly.dir/initialization/ParserGridDistribution.cpp.o
[ 44%] Building CXX object CMakeFiles/picongpu-hostonly.dir/plugins/ResourceLog.cpp.o
[ 48%] Building CXX object CMakeFiles/picongpu-hostonly.dir/plugins/common/particlePatches.cpp.o
[ 51%] Building CXX object CMakeFiles/picongpu-hostonly.dir/plugins/common/stringHelpers.cpp.o
[ 55%] Building CXX object CMakeFiles/picongpu-hostonly.dir/plugins/hdf5/openPMD/patchReader.cpp.o
[ 59%] Building CXX object CMakeFiles/picongpu-hostonly.dir/plugins/misc/ComponentNames.cpp.o
[ 62%] Building CXX object CMakeFiles/picongpu-hostonly.dir/random/seed/Seed.cpp.o
[ 66%] Building CXX object CMakeFiles/picongpu-hostonly.dir/plugins/misc/splitString.cpp.o
[ 70%] Building CXX object CMakeFiles/picongpu-hostonly.dir/plugins/misc/removeSpaces.cpp.o
[ 74%] Linking CXX executable mpiInfo
make[2]: Leaving directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
[ 74%] Built target mpiInfo
Scanning dependencies of target cuda_memtest
make[2]: Leaving directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
make[2]: Entering directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
[ 77%] Building CXX object build_cuda_memtest/CMakeFiles/cuda_memtest.dir/misc.cpp.o
[ 81%] Linking CXX executable cuda_memtest
make[2]: Leaving directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
[ 81%] Built target cuda_memtest
[ 85%] Linking CXX static library libpicongpu-hostonly.a
make[2]: Leaving directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
[ 85%] Built target picongpu-hostonly
Scanning dependencies of target cupla
make[2]: Leaving directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
make[2]: Entering directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
[ 88%] Linking CXX static library libcupla.a
make[2]: Leaving directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
[ 88%] Built target cupla
make[2]: Entering directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
[ 92%] Building NVCC (Device) object CMakeFiles/picongpu.dir/picongpu_generated_versionFormat.cpp.o
[ 96%] Building NVCC (Device) object CMakeFiles/picongpu.dir/picongpu_generated_main.cpp.o
nvcc fatal : Unknown option '-diag_suppress'
CMake Error at picongpu_generated_main.cpp.o.Release.cmake:219 (message):
Error generating
/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build/CMakeFiles/picongpu.dir//./picongpu_generated_main.cpp.o

nvcc fatal : Unknown option '-diag_suppress'
make[2]: * [CMakeFiles/picongpu.dir/build.make:65: CMakeFiles/picongpu.dir/picongpu_generated_main.cpp.o] Error 1
make[2]: *
Waiting for unfinished jobs....
CMake Error at picongpu_generated_versionFormat.cpp.o.Release.cmake:219 (message):
Error generating
/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build/CMakeFiles/picongpu.dir//./picongpu_generated_versionFormat.cpp.o

make[2]: * [CMakeFiles/picongpu.dir/build.make:72: CMakeFiles/picongpu.dir/picongpu_generated_versionFormat.cpp.o] Error 1
make[2]: Leaving directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
make[1]:
[CMakeFiles/Makefile2:179: CMakeFiles/picongpu.dir/all] Error 2
make[1]: Leaving directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
make: *
* [Makefile:130: all] Error 2

ERROR: Could not successfully run make install in build directory:
.build

Update!

Switching back to version 0.4.3 and compile without a problem.

could you please do the following:

cd /users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build
make VERBOSE=1

and provide the full log.

I think you triggered a bug we fixed already in alpaka (the acceleration library we use in PIConGPU). https://github.com/alpaka-group/alpaka/pull/991
This bug is currently not in PIConGPU 0.5.0 but in the development branch of PIConGPU.

I attach the on-screen log (log.txt) and the build file. Except for this, there is a module called picongpu/0.4.3 in the system. module show gives

-------------------------------------------------------------------
/apps/modulefiles/applications/picongpu/0.4.3:

module-whatis    Enable usage for the PICONGPU Package 
setenv       PICONGPUROOT /apps/applications/picongpu/0.4.3 
prereq   gnu/6.4.0 
prereq   cuda/9.2.148 
prereq   python/2.7.13 
prereq   cmake 
prereq   make 
prereq   utils 
prereq   git 
prepend-path     PATH /apps/applications/picongpu/0.4.3/bin 
prepend-path     INCLUDE /apps/applications/picongpu/0.4.3/include 
prepend-path     LD_LIBRARY_PATH /apps/applications/picongpu/0.4.3/lib 
prepend-path     LD_LIBRARY_PATH /apps/applications/picongpu/0.4.3/lib64 
prepend-path     MANPATH /apps/applications/picongpu/0.4.3/share/man 
prepend-path     CMAKE_PREFIX_PATH /apps/applications/picongpu/0.4.3 
setenv       PNGwriter_DIR /apps/applications/picongpu/0.4.3 
-------------------------------------------------------------------

I am not sure if this does matter when the version change. In the picongpu.profile:

export CMAKE_PREFIX_PATH=$PNG_ROOT:$CMAKE_PREFIX_PATH
export LD_LIBRARY_PATH=$PNG_ROOT/lib:$LD_LIBRARY_PATH
export CMAKE_PREFIX_PATH=$HOME/lib/pngwriter:$CMAKE_PREFIX_PATH
export LD_LIBRARY_PATH=$HOME/lib/pngwriter/lib:$LD_LIBRARY_PATH
export PICSRC=$HOME/picongpu
export PIC_EXAMPLES=$PICSRC/share/picongpu/examples
export PIC_BACKEND="cuda:35"

export PATH=$PATH:$PICSRC
export PATH=$PATH:$PICSRC/bin
export PATH=$PATH:$PICSRC/src/tools/bin

Previous git clone save the files in the path ~/src/picongpu but now it has changed to just ~/picongpu. This think this does not matter much.

build.zip

Do you have the optional dependency ISAAC for PIConGPU?

I found this in the log:

CMake Deprecation Warning at /apps/applications/picongpu/0.4.3/lib/cmake/ISAAC/ISAACConfig.cmake:20 (cmake_policy):
  The OLD behavior for policy CMP0048 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.
Call Stack (most recent call first):
  CMakeLists.txt:335 (find_package)


-- Found CUDA: /apps/compilers/cuda/9.2.148 (found suitable version "9.2", minimum required is "9.2") 
-- ALPAKA_ACC_GPU_CUDA_ONLY_MODE
-- ALPAKA_ACC_GPU_CUDA_ENABLED
-- ISAAC was found, but detected the following problems:missing dependencies:
--   libJansson
--   IceT

ISAAC was a trigger for the bug you have. If you do not need live visualization please remove ISAAC from your CMAKE_PREFIX_PATH and LD_LIBRARY_PATH and/or do not load it via environment module.
Than delete the folder .build in your input set and compile PIConGPU again.

Most of the optional dependencies are inside the module picongpu/0.4.3, adios, boost, hdf5, isaac... Regarding the log, I obtained the same message with version 0.4.3 but it compiles successfully, i.e.
log.txt

CMake Deprecation Warning at /apps/applications/picongpu/0.4.3/lib/cmake/ISAAC/ISAACConfig.cmake:20 (cmake_policy):
  The OLD behavior for policy CMP0048 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.
Call Stack (most recent call first):
  CMakeLists.txt:327 (find_package)


-- Found JPEG: /usr/lib64/libjpeg.so (found version "62") 
-- Found CUDA: /apps/compilers/cuda/9.2.148 (found suitable version "9.2", minimum required is "9.2") 
-- ALPAKA_ACC_GPU_CUDA_ONLY_MODE
-- ALPAKA_ACC_GPU_CUDA_ENABLED
-- ISAAC was found, but detected the following problems:missing dependencies:
--   libJansson
--   IceT
-- Configuring done
-- Generating done
-- Build files have been written to: /users/hpce3/jfuhong/picInputs/myLWFA-0.4.3/
.build
make[1]: Entering directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.4.3/.build'
make[2]: Entering directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.4.3/.build'
make[2]: Entering directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.4.3/.build'
make[2]: Entering directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.4.3/.build'
make[2]: Entering directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.4.3/.build'

Regarding the CMAKE_PREFIX_PATH and LD_LIBRARY_PATH, I didn't see anything with ISAAC in the environment. So I am not sure.

I believe the ISAAC was found, but detected the following problems:missing dependencies message means ISAAC was not enabled for this build, and the error is somewhere else.

ISAAC is producing the issue. ISACC is removing duplicated compiler options and is removing -Xcudafe
The old version of ISAAC is also not compatible with PIConGPU 0.5.0+ so you must update the dependency anyway.
The workaround is not loading ISAAC.

@StevE-Ong Who created the module picongpu/0.4.3 for you? Best is to load all dependancy seperate and skip ISAAC

@psychocoderHPC The system administrator did it and I was also expecting separate dependencies.

Just in case, if it's not clear how to disable ISAAC on the module loading level, you could try doing in on the level of our cmake file. I believe one may just comment out these lines to skip looking for ISSAC. (I did not test it, just out of my head)

Thank you @sbastrakov. I did as you suggest. It works! Now it is successfully compiled. Perhaps, I should tell the system administrator to make for the new version. I am not sure what is their consideration to put in as a module.

-- Found Splash: /apps/applications/picongpu/0.4.3/lib/cmake/Splash
-- Could NOT find PNGwriter (missing: PNGwriter_DIR)
-- Could NOT find PNGwriter - set PNGwriter_DIR or check your CMAKE_PREFIX_PATH
-- Configuring done
-- Generating done
-- Build files have been written to: /users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build
make[1]: Entering directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
make[2]: Entering directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
make[2]: Entering directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
make[2]: Entering directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
make[2]: Entering directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
[  7%] Building NVCC (Device) object CMakeFiles/cupla.dir/__/__/thirdParty/cupla/src/cupla_generated_device.cpp.o
.
.
.
Scanning dependencies of target picongpu
make[2]: Leaving directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
make[2]: Entering directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
[100%] Linking CXX executable picongpu
make[2]: Leaving directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
[100%] Built target picongpu
make[1]: Leaving directory '/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/.build'
Install the project...
-- Install configuration: "Release"
-- Installing: /users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/bin/picongpu
-- Set runtime path of "/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/bin/picongpu" to ""
-- Up-to-date: /users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/bin
-- Installing: /users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/bin/egetopt
-- Installing: /users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/bin/cuda_memtest.sh
-- Installing: /users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/bin/pic-build
-- Installing: /users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/bin/pic-edit
-- Installing: /users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/bin/pic-compile
-- Installing: /users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/bin/pic-configure
-- Installing: /users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/bin/tbg
-- Installing: /users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/bin/picongpu-completion.bash
-- Installing: /users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/bin/pic-create
-- Installing: /users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/bin/cuda_memtest
-- Set runtime path of "/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/bin/cuda_memtest" to ""
-- Installing: /users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/bin/mpiInfo
-- Set runtime path of "/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0/bin/mpiInfo" to ""
/users/hpce3/jfuhong/picInputs/myLWFA-0.5.0

Glad it worked @StevE-Ong . Yes, I think it would be a reasonable request along the lines of "now PIConGPU got new version 0.5.0 and it is not compatible with the old ISSAC module"

The issue seems resolved, closing it.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ax3l picture ax3l  路  4Comments

HighIander picture HighIander  路  4Comments

sbastrakov picture sbastrakov  路  3Comments

hightower8083 picture hightower8083  路  4Comments

PrometheusPi picture PrometheusPi  路  3Comments