Hi, Qiyue, I don't have the exact compilers as yours (cuda-12.3 + gcc-13.2.1). I tried petsc-3.21.5 with cuda-12.6 + gcc-13.3.0 and it compiled fine. Since it was an internal compiler error, it seems the only option is to change compilers. Thanks. --Junchao Zhang On Fri, Sep 20, 2024 at 2:22 PM Qiyue Lu <[email protected]> wrote:
Sure, here it is. Thanks.
On Fri, Sep 20, 2024 at 2:07 PM Junchao Zhang <[email protected]> wrote:
Could you send the configure.log file? --Junchao Zhang
On Fri, Sep 20, 2024 at 1:33 PM Qiyue Lu <[email protected]> wrote:
Thanks for your response. Here is my module loaded:
*Currently Loaded Modules: 1) craype-arm-grace 4) perftools-base/24.03.0 7) craype/2.7.31 10) cray-libsci/24.03.0 13) default 2) libfabric/1.15.2.0 <https://urldefense.us/v3/__http://1.15.2.0__;!!G_uCfscf7eWS!ZHTIMyeRVq_2VWhD... > 5) xpmem/2.8.4-1.0_7.1__ga37cbd9.shasta 8) cray-dsmml/0.3.0 11) PrgEnv-gnu/8.5.0 3) craype-network-ofi 6) gcc-native/13.2 9) cray-mpich/8.1.29 12) cudatoolkit/23.11_12.3* And here is the configuration option now:
*--with-cc=cc --with-cxx=CC --with-fc=ftn --download-f2cblaslapack=1 --with-cuda=1 *
That error is still there.
Best, Qiyue Lu
On Fri, Sep 20, 2024 at 11:58 AM Junchao Zhang <[email protected]> wrote:
/u/qiyuelu1/petsc/src/vec/vec/impls/seq/cupm/cuda/../vecseqcupm_impl.hpp:1313:150: *internal compiler error*: in maybe_undo_parenthesized_ref, at cp/semantics.c:1740
Did you use nvidia compilers, e.g. nvc, nvc++? If yes, you may want to change to other compilers by loading other cray PrgEnvs
--Junchao Zhang
On Fri, Sep 20, 2024 at 11:42 AM Qiyue Lu <[email protected]> wrote:
Hello, I am trying to build the PETSc version 3.21.5 (the latest, cloned from git) version on a Grace Hopper node with this configuration options: *--with-cc=cc --with-cxx=CC --with-fc=ftn --download-f2cblaslapack=1 --with-cudac=nvcc --with-cuda=1 --with-threadsafety=1* with module cudatoolkit/23.11_12.3.
And I got this error: =============== /u/qiyuelu1/petsc/src/vec/vec/impls/seq/cupm/cuda/../vecseqcupm_impl.hpp: In instantiation of ‘Petsc::vec::cupm::impl::VecSeq_CUPM<<anonymous>
::SetAsync(Vec, PetscScalar, PetscDeviceContext)::<lambda()> [with Petsc::device::cupm::DeviceType T = (Petsc::device::cupm::DeviceType)0]’: /u/qiyuelu1/petsc/src/vec/vec/impls/seq/cupm/cuda/../vecseqcupm_impl.hpp:1313:157: required from ‘struct Petsc::vec::cupm::impl::VecSeq_CUPM<<anonymous> ::SetAsync(Vec, PetscScalar, PetscDeviceContext) [with Petsc::device::cupm::DeviceType T = (Petsc::device::cupm::DeviceType)0; PetscErrorCode = int; Vec = _p_Vec*; PetscScalar = double; PetscDeviceContext = _p_PetscDeviceContext*]::<lambda()>’ /u/qiyuelu1/petsc/src/vec/vec/impls/seq/cupm/cuda/../vecseqcupm_impl.hpp:1313:167: required from ‘static PetscErrorCode Petsc::vec::cupm::impl::VecSeq_CUPM<<anonymous> >::SetAsync(Vec, PetscScalar, PetscDeviceContext) [with Petsc::device::cupm::DeviceType T = (Petsc::device::cupm::DeviceType)0; PetscErrorCode = int; Vec = _p_Vec*; PetscScalar = double; PetscDeviceContext = _p_PetscDeviceContext*]’ /u/qiyuelu1/petsc/src/vec/vec/impls/seq/cupm/cuda/vecseqcupm.cu:7:40: required from here /u/qiyuelu1/petsc/src/vec/vec/impls/seq/cupm/cuda/../vecseqcupm_impl.hpp:1313:150: internal compiler error: in maybe_undo_parenthesized_ref, at cp/semantics.c:1740 PetscCallThrust(THRUST_CALL(thrust::fill, stream, dptr, dptr + n, alpha));
===============
Could you please show some hints on this issue?
Thanks, Qiyue Lu