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

WarpX compilation with -DWarpX_EB=ON and -DWarpX_COMPUTE=CUDA ends up with error messages. #3214

Closed
kookjine opened this issue Jul 5, 2022 · 6 comments
Labels
backend: cuda Specific to CUDA execution (GPUs) install question Further information is requested

Comments

@kookjine
Copy link

kookjine commented Jul 5, 2022

Dear developers,

I am trying to compile WarpX-22.06 source code with the options -DWarpX_EB=ON and -DWarpX_COMPUTE=CUDA, but this is causing error messages at the end of the compilation process as below.
"""
[ 98%] Building CUDA object CMakeFiles/WarpX.dir/Source/Utils/WarpXVersion.cpp.o
[ 98%] Built target WarpX
[ 99%] Building CUDA object CMakeFiles/app.dir/Source/main.cpp.o
[100%] Linking CXX shared module lib/libwarpx.3d.MPI.CUDA.DP.PDP.OPMD.EB.QED.so
[100%] Linking CXX executable bin/warpx.3d.MPI.CUDA.DP.PDP.OPMD.EB.QED
/lib/../lib64/crti.o: In function _init': (.init+0x7): relocation truncated to fit: R_X86_64_GOTPCREL against undefined symbol gmon_start'
CMakeFiles/WarpX.dir/Source/BoundaryConditions/PML.cpp.o: In function _ZL423__device_stub__ZN5amrex13launch_globalILi256EZNS_11ParallelForImZNS_6detail22uninitializedFillNImplINS_14ArenaAllocatorIdEEdmdEENSt9enable_ifIXaasr5amrex8RunOnGpuIT_EE5valuentsr5amrex27IsPolymorphicArenaAllocatorIS7_EE5valueEvE4typeEPT0_T1_RKT2_RS7_EUnvdl2_PFvPdmRKdRS5_ES3_IS5_dmdE1_SH_SI_vEENS6_IXsr5amrex19MaybeDeviceRunnableISA_vEE5valueEvE4typeERKNS_3Gpu10KernelInfoES7_OSA_EUnvdl2_PDoFvST_mOSN_ES1_ImSN_vE1_mSN_EEvSA_R17__nv_dl_wrapper_tI11__nv_dl_tagIPDoFvRKN5amrex3Gpu10KernelInfoEmOS_IS0_IPFvPdmRKdRNS1_14ArenaAllocatorIdEEEXadL_ZNS1_6detail22uninitializedFillNImplISA_dmdEENSt9enable_ifIXaasrNS1_8RunOnGpuIT_EE5valuentsrNS1_27IsPolymorphicArenaAllocatorISI_EE5valueEvE4typeEPT0_T1_RKT2_RSI_EELj1EEJS6_S7_EEEXadL_ZNS1_11ParallelForImSW_vEENSG_IXsrNS1_19MaybeDeviceRunnableISO_vEE5valueEvE4typeES5_SI_OSO_EELj1EEJmSW_EE': tmpxft_0006f12e_00000000-6_PML.compute_86.cudafe1.cpp:(.text+0x5b): relocation truncated to fit: R_X86_64_GOTPCREL against symbol ZN5amrex13launch_globalILi256E17__nv_dl_wrapper_tI11__nv_dl_tagIPDoFvRKNS_3Gpu10KernelInfoEmOS1_IS2_IPFvPdmRKdRNS_14ArenaAllocatorIdEEEXadL_ZNS_6detail22uninitializedFillNImplISB_dmdEENSt9enable_ifIXaasrNS_8RunOnGpuIT_EE5valuentsrNS_27IsPolymorphicArenaAllocatorISJ_EE5valueEvE4typeEPT0_T1_RKT2_RSJ_EELj1EEJS7_S8_EEEXadL_ZNS_11ParallelForImSX_vEENSH_IXsrNS_19MaybeDeviceRunnableISP_vEE5valueEvE4typeES6_SJ_OSP_EELj1EEJmSX_EEEEvSP' defined in .text.ZN5amrex13launch_globalILi256E17__nv_dl_wrapper_tI11__nv_dl_tagIPDoFvRKNS_3Gpu10KernelInfoEmOS1_IS2_IPFvPdmRKdRNS_14ArenaAllocatorIdEEEXadL_ZNS_6detail22uninitializedFillNImplISB_dmdEENSt9enable_ifIXaasrNS_8RunOnGpuIT_EE5valuentsrNS_27IsPolymorphicArenaAllocatorISJ_EE5valueEvE4typeEPT0_T1_RKT2_RSJ_EELj1EEJS7_S8_EEEXadL_ZNS_11ParallelForImSX_vEENSH_IXsrNS_19MaybeDeviceRunnableISP_vEE5valueEvE4typeES6_SJ_OSP_EELj1EEJmSX_EEEEvSP[ZN5amrex13launch_globalILi256E17__nv_dl_wrapper_tI11__nv_dl_tagIPDoFvRKNS_3Gpu10KernelInfoEmOS1_IS2_IPFvPdmRKdRNS_14ArenaAllocatorIdEEEXadL_ZNS_6detail22uninitializedFillNImplISB_dmdEENSt9enable_ifIXaasrNS_8RunOnGpuIT_EE5valuentsrNS_27IsPolymorphicArenaAllocatorISJ_EE5valueEvE4typeEPT0_T1_RKT2_RSJ_EELj1EEJS7_S8_EEEXadL_ZNS_11ParallelForImSX_vEENSH_IXsrNS_19MaybeDeviceRunnableISP_vEE5valueEvE4typeES6_SJ_OSP_EELj1EEJmSX_EEEEvSP] section in CMakeFiles/WarpX.dir/Source/BoundaryConditions/PML.cpp.o
CMakeFiles/WarpX.dir/Source/BoundaryConditions/PML.cpp.o: In function __cudaUnregisterBinaryUtil()': tmpxft_0006f12e_00000000-6_PML.compute_86.cudafe1.cpp:(.text+0x1b3): relocation truncated to fit: R_X86_64_PC32 against .bss'
CMakeFiles/WarpX.dir/Source/BoundaryConditions/PML.cpp.o: In function PML::CopyToPML(amrex::MultiFab&, amrex::MultiFab&, amrex::Geometry const&)': tmpxft_0006f12e_00000000-6_PML.compute_86.cudafe1.cpp:(.text+0x603): relocation truncated to fit: R_X86_64_GOTPCREL against symbol WarpX::do_single_precision_comms' defined in .bss section in CMakeFiles/WarpX.dir/Source/WarpX.cpp.o
CMakeFiles/WarpX.dir/Source/BoundaryConditions/PML.cpp.o: In function PML::FillBoundaryE(PatchType)': tmpxft_0006f12e_00000000-6_PML.compute_86.cudafe1.cpp:(.text+0x883): relocation truncated to fit: R_X86_64_GOTPCREL against symbol WarpX::do_single_precision_comms' defined in .bss section in CMakeFiles/WarpX.dir/Source/WarpX.cpp.o
tmpxft_0006f12e_00000000-6_PML.compute_86.cudafe1.cpp:(.text+0x955): relocation truncated to fit: R_X86_64_GOTPCREL against symbol WarpX::do_single_precision_comms' defined in .bss section in CMakeFiles/WarpX.dir/Source/WarpX.cpp.o CMakeFiles/WarpX.dir/Source/BoundaryConditions/PML.cpp.o: In function PML::FillBoundaryB(PatchType)':
tmpxft_0006f12e_00000000-6_PML.compute_86.cudafe1.cpp:(.text+0xa91): relocation truncated to fit: R_X86_64_GOTPCREL against symbol WarpX::do_single_precision_comms' defined in .bss section in CMakeFiles/WarpX.dir/Source/WarpX.cpp.o tmpxft_0006f12e_00000000-6_PML.compute_86.cudafe1.cpp:(.text+0xb86): relocation truncated to fit: R_X86_64_GOTPCREL against symbol WarpX::do_single_precision_comms' defined in .bss section in CMakeFiles/WarpX.dir/Source/WarpX.cpp.o
CMakeFiles/WarpX.dir/Source/BoundaryConditions/PML.cpp.o: In function PML::FillBoundaryF(PatchType)': tmpxft_0006f12e_00000000-6_PML.compute_86.cudafe1.cpp:(.text+0xcbd): relocation truncated to fit: R_X86_64_GOTPCREL against symbol WarpX::do_single_precision_comms' defined in .bss section in CMakeFiles/WarpX.dir/Source/WarpX.cpp.o
CMakeFiles/WarpX.dir/Source/BoundaryConditions/PML.cpp.o: In function PML::FillBoundaryG(PatchType)': tmpxft_0006f12e_00000000-6_PML.compute_86.cudafe1.cpp:(.text+0xdcd): relocation truncated to fit: R_X86_64_GOTPCREL against symbol WarpX::do_single_precision_comms' defined in .bss section in CMakeFiles/WarpX.dir/Source/WarpX.cpp.o
CMakeFiles/WarpX.dir/Source/BoundaryConditions/PML.cpp.o: In function std::_MakeUniq<amrex::MultiFab>::__single_object std::make_unique<amrex::MultiFab, amrex::BoxArray, amrex::DistributionMapping&, int&, int&>(amrex::BoxArray&&, amrex::DistributionMapping&, int&, int&) [clone .isra.141]': tmpxft_0006f12e_00000000-6_PML.compute_86.cudafe1.cpp:(.text+0xe51): additional relocation overflows omitted from the output lib/libwarpx.3d.MPI.CUDA.DP.PDP.OPMD.EB.QED.so: PC-relative offset overflow in PLT entry for _ZN7openPMD19ADIOS2IOHandlerImpl12getOperatorsENS_9auxiliary11TracingJSONE'
collect2: error: ld returned 1 exit status
gmake[2]: *** [lib/libwarpx.3d.MPI.CUDA.DP.PDP.OPMD.EB.QED.so] Error 1
gmake[1]: *** [CMakeFiles/shared.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
/lib/../lib64/crt1.o:(.eh_frame+0x20): relocation truncated to fit: R_X86_64_PC32 against .text' /lib/../lib64/crti.o: In function _init':
(.init+0x7): relocation truncated to fit: R_X86_64_GOTPCREL against undefined symbol __gmon_start__' CMakeFiles/WarpX.dir/Source/BoundaryConditions/PML.cpp.o: In function __cudaUnregisterBinaryUtil()':
tmpxft_0006f12e_00000000-6_PML.compute_86.cudafe1.cpp:(.text+0x1b3): relocation truncated to fit: R_X86_64_PC32 against .bss' CMakeFiles/WarpX.dir/Source/BoundaryConditions/PML.cpp.o: In function PML::CopyToPML(amrex::MultiFab&, amrex::MultiFab&, amrex::Geometry const&)':
tmpxft_0006f12e_00000000-6_PML.compute_86.cudafe1.cpp:(.text+0x603): relocation truncated to fit: R_X86_64_GOTPCREL against symbol WarpX::do_single_precision_comms' defined in .bss section in CMakeFiles/WarpX.dir/Source/WarpX.cpp.o CMakeFiles/WarpX.dir/Source/BoundaryConditions/PML.cpp.o: In function PML::FillBoundaryE(PatchType)':
tmpxft_0006f12e_00000000-6_PML.compute_86.cudafe1.cpp:(.text+0x883): relocation truncated to fit: R_X86_64_GOTPCREL against symbol WarpX::do_single_precision_comms' defined in .bss section in CMakeFiles/WarpX.dir/Source/WarpX.cpp.o tmpxft_0006f12e_00000000-6_PML.compute_86.cudafe1.cpp:(.text+0x955): relocation truncated to fit: R_X86_64_GOTPCREL against symbol WarpX::do_single_precision_comms' defined in .bss section in CMakeFiles/WarpX.dir/Source/WarpX.cpp.o
CMakeFiles/WarpX.dir/Source/BoundaryConditions/PML.cpp.o: In function PML::FillBoundaryB(PatchType)': tmpxft_0006f12e_00000000-6_PML.compute_86.cudafe1.cpp:(.text+0xa91): relocation truncated to fit: R_X86_64_GOTPCREL against symbol WarpX::do_single_precision_comms' defined in .bss section in CMakeFiles/WarpX.dir/Source/WarpX.cpp.o
tmpxft_0006f12e_00000000-6_PML.compute_86.cudafe1.cpp:(.text+0xb86): relocation truncated to fit: R_X86_64_GOTPCREL against symbol WarpX::do_single_precision_comms' defined in .bss section in CMakeFiles/WarpX.dir/Source/WarpX.cpp.o CMakeFiles/WarpX.dir/Source/BoundaryConditions/PML.cpp.o: In function PML::FillBoundaryF(PatchType)':
tmpxft_0006f12e_00000000-6_PML.compute_86.cudafe1.cpp:(.text+0xcbd): relocation truncated to fit: R_X86_64_GOTPCREL against symbol WarpX::do_single_precision_comms' defined in .bss section in CMakeFiles/WarpX.dir/Source/WarpX.cpp.o CMakeFiles/WarpX.dir/Source/BoundaryConditions/PML.cpp.o: In function PML::FillBoundaryG(PatchType)':
tmpxft_0006f12e_00000000-6_PML.compute_86.cudafe1.cpp:(.text+0xdcd): relocation truncated to fit: R_X86_64_GOTPCREL against symbol WarpX::do_single_precision_comms' defined in .bss section in CMakeFiles/WarpX.dir/Source/WarpX.cpp.o CMakeFiles/WarpX.dir/Source/BoundaryConditions/PML.cpp.o: In function std::_MakeUniqamrex::MultiFab::__single_object std::make_unique<amrex::MultiFab, amrex::BoxArray, amrex::DistributionMapping&, int&, int&>(amrex::BoxArray&&, amrex::DistributionMapping&, int&, int&) [clone .isra.141]':
tmpxft_0006f12e_00000000-6_PML.compute_86.cudafe1.cpp:(.text+0xe51): additional relocation overflows omitted from the output
bin/warpx.3d.MPI.CUDA.DP.PDP.OPMD.EB.QED: PC-relative offset overflow in PLT entry for `MPI_Type_get_envelope'
collect2: error: ld returned 1 exit status
gmake[2]: *** [bin/warpx.3d.MPI.CUDA.DP.PDP.OPMD.EB.QED] Error 1
gmake[1]: *** [CMakeFiles/app.dir/all] Error 2
gmake: *** [all] Error 2
"""

On the other hand, both cases (-DWarpX_EB=ON without -DWarpX_COMPUTE=CUDA) and (-DWarpX_COMPUTE=CUDA without -DWarpX_EB=ON) are compiled without any issues.

Thanks,
Kook-Jin

@kookjine kookjine closed this as completed Jul 5, 2022
@athompson-aed
Copy link

Hello, I'm getting a similar error message with -DWarpX_EB=ON and -DWarpX_COMPUTE=CUDA

# git log -1 --oneline
fa9f871a (HEAD -> development, origin/development, origin/HEAD) AMReX/PICSAR: Weekly Update (#3522)
# nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0

Steps to reproduce:

Build this dockerfile:

FROM nvidia/cuda:11.8.0-devel-ubuntu22.04 AS build

RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y \
    build-essential \
    ccache \
    cmake \
    cmake-curses-gui \
    g++ \
    git \
    libfftw3-mpi-dev \
    libfftw3-dev \
    libhdf5-openmpi-dev \
    libopenmpi-dev \
    pkg-config \
    python3 \
    python3-matplotlib \
    python3-numpy \
    python3-scipy \
    && rm -rf /var/lib/apt/lists/*

RUN git clone https://github.com/ECP-WarpX/WarpX.git

RUN cd WarpX && cmake -S . -B build -DWarpX_DIMS=RZ -DWarpX_EB=ON -DWarpX_OPENPMD=ON -DWarpX_COMPUTE=CUDA


RUN cd WarpX && cmake --build build -j 32

@RemiLehe RemiLehe reopened this Nov 15, 2022
@athompson-aed
Copy link

I forgot to include the error message:

.... building ....
[100%] Linking CXX executable bin/warpx.RZ.MPI.CUDA.DP.PDP.OPMD.EB.QED
/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o: in function `_start':
(.text+0x21): relocation truncated to fit: R_X86_64_GOTPCRELX against symbol `__libc_start_main@@GLIBC_2.34' defined in .text section in /lib/x86_64-linux-gnu/libc.so.6
/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o:(.eh_frame+0x20): relocation truncated to fit: R_X86_64_PC32 against `.text'
/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o: in function `_init':
(.init+0xb): relocation truncated to fit: R_X86_64_REX_GOTPCRELX against undefined symbol `__gmon_start__'
CMakeFiles/app.dir/Source/main.cpp.o: in function `__cudaUnregisterBinaryUtil()':
tmpxft_00005afa_00000000-6_main.compute_86.cudafe1.cpp:(.text+0x7): relocation truncated to fit: R_X86_64_PC32 against `.bss'
CMakeFiles/app.dir/Source/main.cpp.o: in function `amrex::Print::~Print()':
tmpxft_00005afa_00000000-6_main.compute_86.cudafe1.cpp:(.text._ZN5amrex5PrintD2Ev[_ZN5amrex5PrintD5Ev]+0x24): relocation truncated to fit: R_X86_64_PC32 against symbol `amrex::ParallelContext::frames' defined in .bss section in lib/libamrex.a(AMReX_ParallelContext.cpp.o)
tmpxft_00005afa_00000000-6_main.compute_86.cudafe1.cpp:(.text._ZN5amrex5PrintD2Ev[_ZN5amrex5PrintD5Ev]+0x3d): relocation truncated to fit: R_X86_64_PC32 against symbol `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >@@GLIBCXX_3.4.21' defined in .data.rel.ro section in /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o
tmpxft_00005afa_00000000-6_main.compute_86.cudafe1.cpp:(.text._ZN5amrex5PrintD2Ev[_ZN5amrex5PrintD5Ev]+0x44): relocation truncated to fit: R_X86_64_PC32 against symbol `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >@@GLIBCXX_3.4.21' defined in .data.rel.ro section in /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o
tmpxft_00005afa_00000000-6_main.compute_86.cudafe1.cpp:(.text._ZN5amrex5PrintD2Ev[_ZN5amrex5PrintD5Ev]+0x56): relocation truncated to fit: R_X86_64_PC32 against symbol `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >@@GLIBCXX_3.4.21' defined in .data.rel.ro section in /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o
tmpxft_00005afa_00000000-6_main.compute_86.cudafe1.cpp:(.text._ZN5amrex5PrintD2Ev[_ZN5amrex5PrintD5Ev]+0x85): relocation truncated to fit: R_X86_64_PC32 against symbol `vtable for std::basic_streambuf<char, std::char_traits<char> >@@GLIBCXX_3.4' defined in .data.rel.ro section in /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o
tmpxft_00005afa_00000000-6_main.compute_86.cudafe1.cpp:(.text._ZN5amrex5PrintD2Ev[_ZN5amrex5PrintD5Ev]+0x99): relocation truncated to fit: R_X86_64_PC32 against symbol `VTT for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >@@GLIBCXX_3.4.21' defined in .data.rel.ro section in /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o
tmpxft_00005afa_00000000-6_main.compute_86.cudafe1.cpp:(.text._ZN5amrex5PrintD2Ev[_ZN5amrex5PrintD5Ev]+0xa0): additional relocation overflows omitted from the output
lib/libamrex.a(AMReX.cpp.o): in function `amrex::Verbose()':
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x17): failed to convert GOTPCREL relocation against '_ZN5amrex6system7verboseE'; relink with --no-relax
lib/libamrex.a(AMReX.cpp.o): in function `amrex::SetVerbose(int)':
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x27): failed to convert GOTPCREL relocation against '_ZN5amrex6system7verboseE'; relink with --no-relax
lib/libamrex.a(AMReX.cpp.o): in function `amrex::SetErrorHandler(void (*)(char const*))':
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x37): failed to convert GOTPCREL relocation against '_ZN5amrex6system13error_handlerE'; relink with --no-relax
lib/libamrex.a(AMReX.cpp.o): in function `amrex::ExecOnFinalize(void (*)())':
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0xd8): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c27The_Finalize_Function_StackE'; relink with --no-relax
lib/libamrex.a(AMReX.cpp.o): in function `amrex::ExecOnInitialize(void (*)())':
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x318): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c29The_Initialize_Function_StackE'; relink with --no-relax
lib/libamrex.a(AMReX.cpp.o): in function `amrex::Initialized()':
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x547): failed to convert GOTPCREL relocation against '_ZN5amrex5AMReX10m_instanceE'; relink with --no-relax
lib/libamrex.a(AMReX.cpp.o): in function `amrex::OutStream()':
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x567): failed to convert GOTPCREL relocation against '_ZN5amrex6system5osoutE'; relink with --no-relax
lib/libamrex.a(AMReX.cpp.o): in function `amrex::ErrorStream()':
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x577): failed to convert GOTPCREL relocation against '_ZN5amrex6system5oserrE'; relink with --no-relax
lib/libamrex.a(AMReX.cpp.o): in function `amrex::get_command[abi:cxx11]()':
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x5a7): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c12command_lineB5cxx11E'; relink with --no-relax
lib/libamrex.a(AMReX.cpp.o): in function `amrex::command_argument_count()':
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x667): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c17command_argumentsB5cxx11E'; relink with --no-relax
lib/libamrex.a(AMReX.cpp.o): in function `amrex::get_command_argument[abi:cxx11](int)':
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x6a5): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c17command_argumentsB5cxx11E'; relink with --no-relax
lib/libamrex.a(AMReX.cpp.o): in function `amrex::AMReX::erase(amrex::AMReX*)':
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x811): failed to convert GOTPCREL relocation against '_ZN5amrex5AMReX10m_instanceE'; relink with --no-relax
lib/libamrex.a(AMReX.cpp.o): in function `amrex::Warning_host(char const*)':
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0xa33): failed to convert GOTPCREL relocation against '_ZN5amrex15ParallelContext6framesE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0xbd8): failed to convert GOTPCREL relocation against '_ZN5amrex15ParallelContext6framesE'; relink with --no-relax
lib/libamrex.a(AMReX.cpp.o): in function `amrex::Finalize(amrex::AMReX*)':
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0xf0e): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c27The_Finalize_Function_StackE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0xf52): failed to convert GOTPCREL relocation against '_ZN5amrex6system7verboseE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0xf76): failed to convert GOTPCREL relocation against '_ZN5amrex15ParallelContext6framesE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0xfa5): failed to convert GOTPCREL relocation against '_ZN5amrex6system15signal_handlingE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0xfb6): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c20prev_handler_sigsegvE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0xfd0): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c20prev_handler_sigtermE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0xfea): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c19prev_handler_sigintE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x1004): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c20prev_handler_sigabrtE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x101e): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c19prev_handler_sigfpeE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x1038): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c16curr_fpe_exceptsE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x104e): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c16prev_new_handlerE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x1062): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c18prev_out_precisionE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x107d): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c18prev_err_precisionE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x10a7): failed to convert GOTPCREL relocation against '_ZN5amrex6system7verboseE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x115b): failed to convert GOTPCREL relocation against '_ZN5amrex6system7verboseE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x1173): failed to convert GOTPCREL relocation against '_ZN5amrex15ParallelContext6framesE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x17c8): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c16prev_fpe_exceptsE'; relink with --no-relax
lib/libamrex.a(AMReX.cpp.o): in function `amrex::Finalize()':
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x1b57): failed to convert GOTPCREL relocation against '_ZN5amrex5AMReX10m_instanceE'; relink with --no-relax
lib/libamrex.a(AMReX.cpp.o): in function `amrex::write_to_stderr_without_buffering(char const*)':
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x1cf0): failed to convert GOTPCREL relocation against '_ZN5amrex15ParallelContext6framesE'; relink with --no-relax
lib/libamrex.a(AMReX.cpp.o): in function `amrex::Error_host(char const*)':
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x1f31): failed to convert GOTPCREL relocation against '_ZN5amrex6system13error_handlerE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x1f53): failed to convert GOTPCREL relocation against '_ZN5amrex6system15throw_exceptionE'; relink with --no-relax
lib/libamrex.a(AMReX.cpp.o): in function `amrex::Abort_host(char const*)':
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x1fb1): failed to convert GOTPCREL relocation against '_ZN5amrex6system13error_handlerE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x1fd3): failed to convert GOTPCREL relocation against '_ZN5amrex6system15throw_exceptionE'; relink with --no-relax
lib/libamrex.a(AMReX.cpp.o): in function `amrex::Assert_host(char const*, char const*, int, char const*)':
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x2074): failed to convert GOTPCREL relocation against '_ZN5amrex6system13error_handlerE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x20d5): failed to convert GOTPCREL relocation against '_ZN5amrex6system13error_handlerE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x20e7): failed to convert GOTPCREL relocation against '_ZN5amrex6system15throw_exceptionE'; relink with --no-relax
lib/libamrex.a(AMReX.cpp.o): in function `amrex::AMReX::push(amrex::AMReX*)':
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x212f): failed to convert GOTPCREL relocation against '_ZN5amrex5AMReX10m_instanceE'; relink with --no-relax
lib/libamrex.a(AMReX.cpp.o): in function `amrex::Initialize(int&, char**&, bool, ompi_communicator_t*, std::function<void ()> const&, std::ostream&, std::ostream&, void (*)(char const*))':
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x24cb): failed to convert GOTPCREL relocation against '_ZN5amrex6system7exenameB5cxx11E'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x24d2): failed to convert GOTPCREL relocation against '_ZN5amrex6system5oserrE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x24de): failed to convert GOTPCREL relocation against '_ZN5amrex6system5osoutE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x251b): failed to convert GOTPCREL relocation against '_ZN5amrex6system17regtest_reductionE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x252c): failed to convert GOTPCREL relocation against '_ZN5amrex6system15signal_handlingE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x2539): failed to convert GOTPCREL relocation against '_ZN5amrex6system14call_addr2lineE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x2546): failed to convert GOTPCREL relocation against '_ZN5amrex6system15throw_exceptionE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x255e): failed to convert GOTPCREL relocation against '_ZN5amrex6system13error_handlerE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x258b): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c18prev_out_precisionE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x25ab): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c18prev_err_precisionE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x25ba): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c12command_lineB5cxx11E'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x25c1): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c16prev_new_handlerE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x25c8): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c17command_argumentsB5cxx11E'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x286f): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c29The_Initialize_Function_StackE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x29a8): failed to convert GOTPCREL relocation against '_ZN5amrex6system7verboseE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x29cb): failed to convert GOTPCREL relocation against '_ZN5amrex6system7verboseE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x2bcc): failed to convert GOTPCREL relocation against '_ZN5amrex6system17regtest_reductionE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x2bef): failed to convert GOTPCREL relocation against '_ZN5amrex6system15signal_handlingE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x2c12): failed to convert GOTPCREL relocation against '_ZN5amrex6system15throw_exceptionE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x2c35): failed to convert GOTPCREL relocation against '_ZN5amrex6system14call_addr2lineE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x2c58): failed to convert GOTPCREL relocation against '_ZN5amrex6system22abort_on_unused_inputsE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x2c74): failed to convert GOTPCREL relocation against '_ZN5amrex6system15signal_handlingE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x2ca2): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c20prev_handler_sigsegvE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x2cb9): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c19prev_handler_sigintE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x2cd8): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c20prev_handler_sigabrtE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x2d15): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c20prev_handler_sigtermE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x2d1c): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c19prev_handler_sigfpeE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x2dad): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c16curr_fpe_exceptsE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x2dfa): failed to convert GOTPCREL relocation against '_ZN41_GLOBAL__N__4cec28fe_9_AMReX_cpp_cd1e948c16prev_fpe_exceptsE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x2fe0): failed to convert GOTPCREL relocation against '_ZN5amrex15ParallelContext6framesE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x3049): failed to convert GOTPCREL relocation against '_ZN5amrex6system7verboseE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x37cb): failed to convert GOTPCREL relocation against '_ZN5amrex5AMReX10m_instanceE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x3c3a): failed to convert GOTPCREL relocation against '_ZN5amrex6system15throw_exceptionE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x3c53): failed to convert GOTPCREL relocation against '_ZN5amrex6system15signal_handlingE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x3c6c): failed to convert GOTPCREL relocation against '_ZN5amrex6system17regtest_reductionE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x3c85): failed to convert GOTPCREL relocation against '_ZN5amrex6system7verboseE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x3c9e): failed to convert GOTPCREL relocation against '_ZN5amrex6system7verboseE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x3cb7): failed to convert GOTPCREL relocation against '_ZN5amrex6system22abort_on_unused_inputsE'; relink with --no-relax
tmpxft_00001235_00000000-6_AMReX.compute_86.cudafe1.cpp:(.text+0x3cd0): failed to convert GOTPCREL relocation against '_ZN5amrex6system14call_addr2lineE'; relink with --no-relax
collect2: error: ld returned 1 exit status
gmake[2]: *** [CMakeFiles/app.dir/build.make:376: bin/warpx.RZ.MPI.CUDA.DP.PDP.OPMD.EB.QED] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:987: CMakeFiles/app.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2

@athompson-aed
Copy link

I tried this:

# git diff
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3633ee43..c17c772f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -179,6 +179,7 @@ if(WarpX_APP)
     add_executable(app)
     add_executable(WarpX::app ALIAS app)
     target_link_libraries(app PRIVATE WarpX ablastr)
+    target_link_options(app PRIVATE "LINKER:--no-relax")
     set(_BUILDINFO_SRC app)
     list(APPEND _ALL_TARGETS app)
 endif()

resulting in this:

[100%] Linking CXX executable bin/warpx.RZ.MPI.CUDA.DP.PDP.OPMD.EB.QED
/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o: in function `_start':
(.text+0x1b): relocation truncated to fit: R_X86_64_REX_GOTPCRELX against symbol `main' defined in .text.startup section in CMakeFiles/app.dir/Source/main.cpp.o
(.text+0x21): relocation truncated to fit: R_X86_64_GOTPCRELX against symbol `__libc_start_main@@GLIBC_2.34' defined in .text section in /lib/x86_64-linux-gnu/libc.so.6
/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o:(.eh_frame+0x20): relocation truncated to fit: R_X86_64_PC32 against `.text'
/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o: in function `_init':
(.init+0xb): relocation truncated to fit: R_X86_64_REX_GOTPCRELX against undefined symbol `__gmon_start__'
CMakeFiles/app.dir/Source/main.cpp.o: in function `__cudaUnregisterBinaryUtil()':
tmpxft_00005afa_00000000-6_main.compute_86.cudafe1.cpp:(.text+0x7): relocation truncated to fit: R_X86_64_PC32 against `.bss'
CMakeFiles/app.dir/Source/main.cpp.o: in function `amrex::Print::~Print()':
tmpxft_00005afa_00000000-6_main.compute_86.cudafe1.cpp:(.text._ZN5amrex5PrintD2Ev[_ZN5amrex5PrintD5Ev]+0x24): relocation truncated to fit: R_X86_64_PC32 against symbol `amrex::ParallelContext::frames' defined in .bss section in lib/libamrex.a(AMReX_ParallelContext.cpp.o)
tmpxft_00005afa_00000000-6_main.compute_86.cudafe1.cpp:(.text._ZN5amrex5PrintD2Ev[_ZN5amrex5PrintD5Ev]+0x3d): relocation truncated to fit: R_X86_64_PC32 against symbol `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >@@GLIBCXX_3.4.21' defined in .data.rel.ro section in /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o
tmpxft_00005afa_00000000-6_main.compute_86.cudafe1.cpp:(.text._ZN5amrex5PrintD2Ev[_ZN5amrex5PrintD5Ev]+0x44): relocation truncated to fit: R_X86_64_PC32 against symbol `vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >@@GLIBCXX_3.4.21' defined in .data.rel.ro section in /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o
tmpxft_00005afa_00000000-6_main.compute_86.cudafe1.cpp:(.text._ZN5amrex5PrintD2Ev[_ZN5amrex5PrintD5Ev]+0x56): relocation truncated to fit: R_X86_64_PC32 against symbol `vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >@@GLIBCXX_3.4.21' defined in .data.rel.ro section in /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o
tmpxft_00005afa_00000000-6_main.compute_86.cudafe1.cpp:(.text._ZN5amrex5PrintD2Ev[_ZN5amrex5PrintD5Ev]+0x85): relocation truncated to fit: R_X86_64_PC32 against symbol `vtable for std::basic_streambuf<char, std::char_traits<char> >@@GLIBCXX_3.4' defined in .data.rel.ro section in /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o
tmpxft_00005afa_00000000-6_main.compute_86.cudafe1.cpp:(.text._ZN5amrex5PrintD2Ev[_ZN5amrex5PrintD5Ev]+0x99): additional relocation overflows omitted from the output
bin/warpx.RZ.MPI.CUDA.DP.PDP.OPMD.EB.QED: PC-relative offset overflow in PLT entry for `MPI_Type_get_envelope'
collect2: error: ld returned 1 exit status
gmake[2]: *** [CMakeFiles/app.dir/build.make:376: bin/warpx.RZ.MPI.CUDA.DP.PDP.OPMD.EB.QED] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:987: CMakeFiles/app.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2

@RemiLehe
Copy link
Member

I was able to compile successfully (with same compile options, i.e. cmake -S . -B build -DWarpX_DIMS=RZ -DWarpX_EB=ON -DWarpX_OPENPMD=ON -DWarpX_COMPUTE=CUDA) by using spack to install the dependencies (see these instructions).

In particular, I am also using Ubuntu 22.04 and cuda 11.8.

So the problem is maybe with the instructions for installing dependencies with apt?

@athompson-aed
Copy link

I figured out I could fix it by explicitly specifying the target gpu architecture with -DAMReX_CUDA_ARCH=8.0.

I think that the way I was building in the docker container was not compatible with the build system's auto-detection of gpu architecture, leading to the error.

Thank you!

@ax3l ax3l added question Further information is requested backend: cuda Specific to CUDA execution (GPUs) install labels Nov 16, 2022
@ax3l
Copy link
Member

ax3l commented Nov 16, 2022

Glad you could solve this!

The last errors you posted looked a bit to me like the dependencies were built with another compiler than the final application. The best way to keep the stack consistent would be to use a package manager, like conda or spack, and build with the compilers therein the final application as well.

@ax3l ax3l closed this as completed Nov 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend: cuda Specific to CUDA execution (GPUs) install question Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants