[petsc-users] make error in stefanozampini/hypre-cuda-rebased-v2

Junchao Zhang jczhang at mcs.anl.gov
Fri Mar 13 10:22:18 CDT 2020


Mark,
  I reproduced the error on Summit with pgi compilers. I found these
atomics in /sw/summit/cuda/10.1.243/include/sm_32_atomic_functions.h. I am
investigating it. Thanks.
--Junchao Zhang


On Fri, Mar 13, 2020 at 8:17 AM Mark Adams <mfadams at lbl.gov> wrote:

> This error goes away with 32 bit integers. These methods are part of CUDA
> C++ (https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html)
> and I see unsigned long long int versions, but not signed ones that are in
> PETSc.
>
> My cuda is not that new:
>
> 08:43 2 stefanozampini/hypre-cuda-rebased-v2= ~/petsc_install$ nvcc
> --version
> nvcc: NVIDIA (R) Cuda compiler driver
> Copyright (c) 2005-2019 NVIDIA Corporation
> Built on Sun_Jul_28_19:07:52_PDT_2019
> Cuda compilation tools, release 10.1, V10.1.243
>
> Junchao, do you have any ideas?
>
> I did try just removing these methods and then it complained that they
> were not there.
>
> Thanks,
> Mark
>
> On Thu, Mar 12, 2020 at 9:26 PM Satish Balay <balay at mcs.anl.gov> wrote:
>
>> >>>>>>>>
>>
>> /autofs/nccs-svm1_home1/adams/petsc_install/src/vec/is/sf/impls/basic/cuda/
>> sfpackcuda.cu(334): error: function "atomicMin(long long *, long long)"
>> has already been defined
>>
>>
>> /autofs/nccs-svm1_home1/adams/petsc_install/src/vec/is/sf/impls/basic/cuda/
>> sfpackcuda.cu(345): error: function "atomicMax(long long *, long long)"
>> has already been defined
>>
>>
>> /autofs/nccs-svm1_home1/adams/petsc_install/src/vec/is/sf/impls/basic/cuda/
>> sfpackcuda.cu(413): error: function "atomicAnd(long long *, long long)"
>> has already been defined
>>
>>
>> /autofs/nccs-svm1_home1/adams/petsc_install/src/vec/is/sf/impls/basic/cuda/
>> sfpackcuda.cu(414): error: function "atomicOr(long long *, long long)"
>> has already been defined
>>
>>
>> /autofs/nccs-svm1_home1/adams/petsc_install/src/vec/is/sf/impls/basic/cuda/
>> sfpackcuda.cu(415): error: function "atomicXor(long long *, long long)"
>> has already been defined
>> <<<<<<
>>
>> This is a strange error. For one the compiler is not showing where the
>> prior definition is.
>>
>> And the prior definition I see is 'double atomicMin(double* address,
>> double val)' which shouldn't conflict - as this is c++?
>>
>> Satish
>>
>> On Thu, 12 Mar 2020, Mark Adams wrote:
>>
>> > I get this make error in stefanozampini/hypre-cuda-rebased-v2
>> >
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200313/c47dff5b/attachment-0001.html>


More information about the petsc-users mailing list