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