Re: compiling namd gpu

From: Jun Zhang (coolrainbow_at_yahoo.cn)
Date: Wed Dec 22 2010 - 18:17:01 CST

Dear Sgrignani:

1 maybe you have used a compiler other than GCC. NAVIDA stated that in Linux CUDA in version < 3.0 only supports GCC. I have tried icc, and encountered the similar problems (I cannot recall that exactly). I have tried to modify the codes, although successfully complied, the programme has always thrown a "segment fault" error. Finally I delete it. So you must ensure that you use GCC only. CUDA 3.2 can support icc in 64-bit system, but I have not test that.

2 If you used GCC, in my knowledge this problem is due to the difference between gcc3 and gcc4 because of the complexity of C++ grammar. I know that a code can be compiled successfully in GCC3 but throw your error information in GCC4. Check your compiler version.

Good luck!
Jun Zhang
Nankai University
coolrainbow_at_yahoo.cn

--- Jacopo Sgrignani <sgrigna_at_sissa.it> :

> 发件人: Jacopo Sgrignani <sgrigna_at_sissa.it>
> 主题: namd-l: compiling namd gpu
> 收件人: namd-l_at_ks.uiuc.edu
> 日期: 2010年12月21日,周二,下午5:13
> Dear all
>
> i'm trying to compile namd with cuda but i have an error i
> can not understand.
> Below there is the last part of the output, could you give
> me any clues to complete the compilation.
>
> Thanks a lot
>
> Jacopo
>
>
> ptxas info    : Compiling entry function
> '_Z14dev_sum_forcesPK4atomPK10force_listPK6float4PKfPS5_Pf'
> for 'sm_10'
> ptxas info    : Used 22 registers, 1232+16 bytes
> smem, 8192 bytes cmem[0], 24 bytes cmem[1]
> ptxas info    : Compiling entry function
> '_Z13dev_nonbondedPK10patch_pairPK4atomPK10atom_paramP6float4S9_PjPfSB_6float3SC_SC_ff'
> for 'sm_10'
> ptxas info    : Used 32 registers, 4+0 bytes
> lmem, 2464+16 bytes smem, 8192 bytes cmem[0], 48 bytes
> cmem[1]
> /u/shared/programs/x86_64/nctk/3.2.16/include/surface_functions.h:
> In function ?void surf1Dread(T*, surface<void, 1>,
> int, int, cudaSurfaceBoundaryMode)?:
> /u/shared/programs/x86_64/nctk/3.2.16/include/surface_functions.h:100:
> error: there are no arguments to ?__surf1Dreadc1? that
> depend on a template parameter, so a declaration of
> ?__surf1Dreadc1? must be available
> /u/shared/programs/x86_64/nctk/3.2.16/include/surface_functions.h:100:
> error: (if you use ?-fpermissive?, G++ will accept your
> code, but allowing the use of an undeclared name is
> deprecated)
> /u/shared/programs/x86_64/nctk/3.2.16/include/surface_functions.h:101:
> error: there are no arguments to ?__surf1Dreads1? that
> depend on a template parameter, so a declaration of
> ?__surf1Dreads1? must be available
> /u/shared/programs/x86_64/nctk/3.2.16/include/surface_functions.h:102:
> error: there are no arguments to ?__surf1Dreadu1? that
> depend on a template parameter, so a declaration of
> ?__surf1Dreadu1? must be available
> /u/shared/programs/x86_64/nctk/3.2.16/include/surface_functions.h:103:
> error: there are no arguments to ?__surf1Dreadu2? that
> depend on a template parameter, so a declaration of
> ?__surf1Dreadu2? must be available
> /u/shared/programs/x86_64/nctk/3.2.16/include/surface_functions.h:104:
> error: there are no arguments to ?__surf1Dreadu4? that
> depend on a template parameter, so a declaration of
> ?__surf1Dreadu4? must be available
> /u/shared/programs/x86_64/nctk/3.2.16/include/surface_functions.h:
> In function ?void surf2Dread(T*, surface<void, 2>,
> int, int, int, cudaSurfaceBoundaryMode)?:
> /u/shared/programs/x86_64/nctk/3.2.16/include/surface_functions.h:460:
> error: there are no arguments to ?__surf2Dreadc1? that
> depend on a template parameter, so a declaration of
> ?__surf2Dreadc1? must be available
> /u/shared/programs/x86_64/nctk/3.2.16/include/surface_functions.h:461:
> error: there are no arguments to ?__surf2Dreads1? that
> depend on a template parameter, so a declaration of
> ?__surf2Dreads1? must be available
> /u/shared/programs/x86_64/nctk/3.2.16/include/surface_functions.h:462:
> error: there are no arguments to ?__surf2Dreadu1? that
> depend on a template parameter, so a declaration of
> ?__surf2Dreadu1? must be available
> /u/shared/programs/x86_64/nctk/3.2.16/include/surface_functions.h:463:
> error: there are no arguments to ?__surf2Dreadu2? that
> depend on a template parameter, so a declaration of
> ?__surf2Dreadu2? must be available
> /u/shared/programs/x86_64/nctk/3.2.16/include/surface_functions.h:464:
> error: there are no arguments to ?__surf2Dreadu4? that
> depend on a template parameter, so a declaration of
> ?__surf2Dreadu4? must be available
> make: *** [obj/ComputeNonbondedCUDAKernel.o] Error 1
>
>
> ----------------------------------------------------------------
>   SISSA Webmail https://webmail.sissa.it/
>   Powered by Horde http://www.horde.org/
>
>
>
>

      

This archive was generated by hypermail 2.1.6 : Wed Feb 29 2012 - 15:54:53 CST