[gmx-users] intel compiler + amd64: help needed.

Jones de Andrade johannesrs at gmail.com
Fri Jun 2 02:25:48 CEST 2006


Hi all.

On 6/1/06, David van der Spoel <spoel at xray.bmc.uu.se> wrote:

> > Trying withou the "-ipo" flag now. It still yelds the same weird warning
> > (warning #147: declaration is incompatible with "double invsqrt(double)"
> > (declared at line 565 of "/usr/local/intel/include/math.h")
> rename all gromacs invsqrt calls to gmx_invsqrt
>

Just a stupid question. No, unfortunatelly I still didn't found a magic flag
(trying to be in touch with the intel premier support still). Anyway, I was
trying to grep every invsqrt in gromacs directories, and after verbosing out
strings like "invsqrta", "_invsqrt", "invsqrtdata", "vecinvsqrt",
"invsqrtm", "invsqrtfracttab" and "invsqrtexptab", and also some comments
stuff... Well, the command line below:

grep -Hni 'invsqrt' -r * | grep -v 'Arquivo' | grep -v '#' | grep -v 'icc' |
grep -v 'gcc' | grep -v 'pgi' | grep -v 'intel' | grep -vi '.bak' | grep -v
'html' | grep -vi 'invsqrta' | grep -v '_invsqrt' | grep -v 'invsqrtdata' |
grep -v 'vecinvsqrt' | grep -v 'invsqrtm' | grep -v 'Software' | grep -v
'fast' | grep -v 'invsqrtfracttab' | grep -v 'invsqrtexptab' | grep -v
'version'

I finally arrived to 57 entries to invsqrt. Just before start, and since I'm
not good at C (F90 addicted), are those 57 entries in only 12 files all that
I should have to modify (I expected  little more)? Just in case, I'm
attaching the output from that load of "piped greps".

I'll be working on it tonight, and hope tomorrow I'll have more news on it.
I'll, if those are the only lines of code to change.

Despite of that, I've made a trial without the --disable-x86-64-sse flag for
config. The compilation fails at another point now:

*************************************************************************************************************************************
/bin/sh ../../../../libtool --mode=compile /usr/bin/gcc  -O3 -ffast-math
-funroll-all-loops -fpeel-loops -c -o nb_kernel010_x86_64_sse.lo
nb_kernel010_x86_64_sse.s
libtool: compile: unable to infer tagged configuration
libtool: compile: specify a tag with `--tag'
make[5]: ** [nb_kernel010_x86_64_sse.lo] Erro 1
*************************************************************************************************************************************

I found some information on this kind of error from libtool on google
(something about compiler changing in different parts of compilation
process), but I'm not finding a way around this. Does anybody has any idea
on this, please?

Thanks a lot for everything in advance.

Jones
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-users/attachments/20060601/d489a0cb/attachment.html>
-------------- next part --------------
include/vec.h:54:  real invsqrt(real x)
include/vec.h:146:static inline real invsqrt(real x)
include/vec.h:466:  cos=ip*invsqrt(ipa*ipb);		/*  7		*/
include/vec.h:674:  linv=invsqrt(norm2(src));
src/mdlib/csettle.c:256:    axlng = invsqrt(xaksxd * xaksxd + yaksxd * yaksxd + zaksxd * zaksxd);
src/mdlib/csettle.c:257:    aylng = invsqrt(xaksyd * xaksyd + yaksyd * yaksyd + zaksyd * zaksyd);
src/mdlib/csettle.c:258:    azlng = invsqrt(xakszd * xakszd + yakszd * yakszd + zakszd * zakszd);
src/mdlib/csettle.c:296:      cosphi = tmp*invsqrt(tmp);
src/mdlib/csettle.c:305:      cospsi = tmp2*invsqrt(tmp2);
src/mdlib/csettle.c:323:      sinthe = (alpa * gama - beta * tmp2*invsqrt(tmp2)) / al2be2;
src/mdlib/csettle.c:328:      costhe = tmp2*invsqrt(tmp2);
src/mdlib/vsite.c:307:  c=b*invsqrt(iprod(temp,temp));
src/mdlib/vsite.c:328:  invdij = invsqrt(iprod(xij,xij));
src/mdlib/vsite.c:334:  b1 = b*invsqrt(iprod(xp,xp));
src/mdlib/vsite.c:380:  d=c*invsqrt(iprod(temp,temp));
src/mdlib/vsite.c:631:  invl=invsqrt(iprod(xix,xix));
src/mdlib/vsite.c:703:  invdij = invsqrt(iprod(xij,xij));
src/mdlib/vsite.c:710:  invdp = invsqrt(iprod(xperp,xperp));
src/mdlib/vsite.c:860:  invl=invsqrt(iprod(xix,xix));
src/mdlib/clincs.c:199:      rlen = invsqrt(tmp0*tmp0+tmp1*tmp1+tmp2*tmp2);
src/mdlib/clincs.c:287:      mvb = blc[b]*(len - u0*invsqrt(u0));
src/mdlib/clincs.c:364:    li->blc[i] = invsqrt(invmass[a1] + invmass[a2]);
src/mdlib/clincs.c:586:    len = r2*invsqrt(r2);
src/tools/gmx_nmeig.c:90:                    mass_fac=invsqrt(top->atoms.atom[i].m*top->atoms.atom[k].m);
src/tools/gmx_nmeig.c:112:                mass_fac = invsqrt(top->atoms.atom[j].m);
src/tools/gmx_nmeig.c:156:                    mass_fac=invsqrt(top->atoms.atom[iatom].m*top->atoms.atom[katom].m);
src/tools/gmx_nmeig.c:174:                mass_fac = invsqrt(top->atoms.atom[j].m);
src/tools/calcpot.c:123:      rinv1O            = invsqrt(rsqO);
src/gmxlib/orires.c:302:    invr = invsqrt(r2);
src/gmxlib/orires.c:460:      invr  = invsqrt(r2);
src/gmxlib/disre.c:160:      rt_1 = invsqrt(rt2);
src/gmxlib/disre.c:328:	weight_rt_1 = invsqrt(rt2);
src/gmxlib/ewald_util.c:200:	      rinv              = invsqrt(dr2);
src/gmxlib/ewald_util.c:287:	      rinv   = invsqrt(dr2);
src/gmxlib/nonbonded/nb_free_energy.c:159:            rinv             = invsqrt(rsq);
src/gmxlib/shift_util.c:237:	  R_1   = invsqrt(r2);
src/gmxlib/shift_util.c:239:	  R     = invsqrt(R_2);
src/gmxlib/shift_util.c:361:	  dr_1    = invsqrt(dr2);
src/gmxlib/bondfree.c:191:    dr   = dr2*invsqrt(dr2);                        /*  10          */
src/gmxlib/bondfree.c:200:    fbond    = -two*be*temp*cbomtemp*invsqrt(dr2);      /*   9          */
src/gmxlib/bondfree.c:250:    dr         = dr2*invsqrt(dr2);                      /*  10          */
src/gmxlib/bondfree.c:381:    dr   = dr2*invsqrt(dr2);		        /*  10		*/
src/gmxlib/bondfree.c:394:    fbond *= invsqrt(dr2);			/*   6		*/
src/gmxlib/bondfree.c:438:    dr   = dr2*invsqrt(dr2);		        /*  10		*/
src/gmxlib/bondfree.c:446:    fbond *= invsqrt(dr2);			/*   6		*/
src/gmxlib/bondfree.c:522:      r_nW = invsqrt(iprod(nW,nW));
src/gmxlib/bondfree.c:526:      r_OD = invsqrt(iprod(dOD,dOD)); 
src/gmxlib/bondfree.c:600:  r12_1  = invsqrt(r12sq);              /*  5 */
src/gmxlib/bondfree.c:721:      cik=st*invsqrt(nrkj2*nrij2);		/*  12		*/ 
src/gmxlib/bondfree.c:781:    dr   = dr2*invsqrt(dr2);		        /*  10		*/
src/gmxlib/bondfree.c:804:      cik=st*invsqrt(nrkj2*nrij2);		/*  12		*/ 
src/gmxlib/bondfree.c:833:    fbond *= invsqrt(dr2);			/*   6		*/
src/gmxlib/bondfree.c:907:      cik=st*invsqrt(nrkj2*nrij2);		/*  12		*/ 
src/gmxlib/bondfree.c:972:  nrkj  = nrkj2*invsqrt(nrkj2);	/* 10	*/
src/gmxlib/bondfree.c:1278:    c   = st*invsqrt(nrij2*nrkl2);		/*  11		*/ 
src/gmxlib/bondfree.c:1568:    rij_1    = invsqrt(iprod(r_ij,r_ij));
src/gmxlib/bondfree.c:1569:    rkj_1    = invsqrt(iprod(r_kj,r_kj));


More information about the gromacs.org_gmx-users mailing list