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

Junchao Zhang jczhang at mcs.anl.gov
Fri Mar 13 11:37:27 CDT 2020


Mark, I have a workaround and pushed to
stefanozampini/hypre-cuda-rebased-v2. You can try it. Thanks.
--Junchao Zhang


On Fri, Mar 13, 2020 at 10:22 AM Junchao Zhang <jczhang at mcs.anl.gov> wrote:

> 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/746e2168/attachment.html>


More information about the petsc-users mailing list