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

David van der Spoel spoel at xray.bmc.uu.se
Fri Jun 2 23:09:13 CEST 2006


Jones de Andrade wrote:
> Ok, I think I got it. Compiled. ;)
> 
> About a thousand tricks. I'll publish a tutorial later. But, basically:
> 1 - Change all invsrt calls to gmx_inv-sqrt (57 entries, 12 files);
> 2 - Edit the Makefile.in <http://Makefile.in> in the nb_kernels 
> directories, changing the line "LTCCASCOMPILE = $(LIBTOOL) 
> --mode=compile $(CCAS) $(AM_CCASFLAGS) \" by "LTCCASCOMPILE = $(LIBTOOL) 
> --mode=compile --tag=CXX $(CCAS) $(AM_CCASFLAGS) \" in "Makefile.in 
> <http://Makefile.in>" files;
> 3 - make disclean (for safety);
> 4 - Run the configure for "gcc", BUT with the following environment and 
> flags(at least):
> *************************************************************************************
> CPPFLAGS=-I/usr/local/lib64/fftw/gnu/include
> LDFLAGS=-L/usr/local/lib64/fftw/gnu/lib
> CC=/usr/bin/gcc
> CXX=/usr/local/intel/bin/icpc
> F77=/usr/bin/g77
> CFLAGS="-O3 -ffast-math -funroll-all-loops -fpeel-loops "
> CXXFLAGS="-O3 -axP -xW "
> F77FLAGS="-O3 -ffast-math -funroll-all-loops -fpeel-loops "
> *************************************************************************************
> 5 - SAVE the Makefile from nb_kernels directories; special care for the 
> one your compilation will use for sure (machine dependent);
> 6 - make distcean (for necessity)
> 7 - Now, run again configure for intel compilers, with the new 
> environment and flags (at least) below:
> **************************************************************************************************
> PATH="$PATH /usr/local/intel/bin/ . /usr/local/intel/lib/"
> LD_LIBRARY_PATH=/usr/local/intel/lib/
> CPPFLAGS=-I/usr/local/lib64/fftw/intel/include
> LDFLAGS=-L/usr/local/lib64/fftw/intel/lib
> CC=/usr/local/intel/bin/icc
> CXX=/usr/local/intel/bin/icpc
> F77=/usr/local/intel/bin/ifort
> CFLAGS="-O3 -axP -xW "
> CXXFLAGS="-O3 -axP -xW "
> FFLAGS="-O3 -axP -xW "
> 
> configure --without-motif-libraries --without-motif-includes --without-x
> **************************************************************************************************
> 8 - Substitute the new makefiles in nb_kernels directories for the ones 
> you saved in step 5;
> 9 - Make it.
> 10 - make install (finally!)
> 11 - make distclean (to preserve your disk space)
> 
> I think I haven't forgot anything. ;)
> 
> I can't be sure about this, but I do think that most of the changes that 
> were necessary to make it run on intel compiler (and, despite I don't 
> have an intel machine available here, I believe those changes are 
> necessary for their machines too) can be done with also no harm for the 
> GCC compilation too. Basically, I'm wasting the "CXX" environment 
> variable with the "--tag" for libtool, but I thik it can be done in 
> another fashion without touching it. Also, the substitution of "invsqrt" 
> for "gmx_invsqrt" is harmless. Possibly the only difficulty would be to 
> assure that gcc was used for the "mknb" compilation with intel.
> 
> But, as I said, it compiled. Now I'm playing a bit with the 
> --enable-doube" and trying to see if it understands "mkl" for blas and 
> lapack. Will take about an hour. But, working and running is another 
> problem at this point. I don't think it would really yeld problems (will 
> know later), but it still yelds me the following warnings:
> #######################################################################################################
> ghat.c(233): warning #266: function declared implicitly
>     gh      = mk_rgrid(ix,iy,iz);
>               ^
> ghat.c(233): warning #967: conversion from "int" to "real={float} ***"; 
> sizes do not match
>     gh      = mk_rgrid(ix,iy,iz);
>             ^
> fftgrid.c(227): warning #188: enumerated type mixed with another type
>           gmx_fft_3d_real(grid->fft_setup,dir,grid->ptr,grid->workspace);
>                                           ^
> gmx_fft_fftw3.c(96): warning #1338: arithmetic on pointer to void or 
> function type
>       pv += 8;
>          ^
> gmx_fft_fftw3.c(100): warning #1338: arithmetic on pointer to void or 
> function type
>       pv += 8;
>          ^
> gmx_fft_fftw3.c(186): warning #1338: arithmetic on pointer to void or 
> function type
>       pv += 8;
>          ^
> gmx_fft_fftw3.c(190): warning #1338: arithmetic on pointer to void or 
> function type
>       pv += 8;
>          ^
> gmx_fft_fftw3.c(278): warning #1338: arithmetic on pointer to void or 
> function type
>       pv += 8;
>          ^
> gmx_fft_fftw3.c(282): warning #1338: arithmetic on pointer to void or 
> function type
>       pv += 8;
>          ^
> gmx_fft_fftw3.c(370): warning #1338: arithmetic on pointer to void or 
> function type
>       pv += 8;
>          ^
> gmx_fft_fftw3.c(374): warning #1338: arithmetic on pointer to void or 
> function type
>       pv += 8;
>          ^
> gmx_fft_fftw3.c(463): warning #1338: arithmetic on pointer to void or 
> function type
>       pv += 8;
>          ^
> gmx_fft_fftw3.c(467): warning #1338: arithmetic on pointer to void or 
> function type
>       pv += 8;
>          ^
> gmx_fft_fftw3.c(556): warning #1338: arithmetic on pointer to void or 
> function type
>       pv += 8;
>          ^
> gmx_fft_fftw3.c(560): warning #1338: arithmetic on pointer to void or 
> function type
>       pv += 8;
>          ^
> gmx_dielectric.c(150): warning #266: function declared implicitly
>     four1(ptr-1,nnx,-1);
>     ^
> gmx_nmtraj.c(134): warning #592: variable "bDMA" is used before its 
> value is set
>     read_tps_conf(ftp2fn(efTPS,NFILE,fnm),title,&top,&xtop,NULL,box,bDMA);
> ########################################################################################
> I'm not sure about what they mean. Possibly nothing, But I'll only be 
> calm if someone says it. Or should I be worried about any of them in 
> advance already?

None of these are crucial for mdrun. The FFTW3 stuff looks quite weird 
but it is intentional, so I assume it is correct.
For gmx_nmtraj.c (if ever you intend to use that) you can swap the line 
at 134 with the one below it.

> 
> Really thanks a lot to everybody for all help.It almost finished, I 
> would never have reached this far without all the help. Also, I'll keep 
> my word and publish a whole tutorial and benchmarks on the list later on! :)
> 
> Thanks again to everybody,
> 
> Jones
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> gmx-users mailing list    gmx-users at gromacs.org
> http://www.gromacs.org/mailman/listinfo/gmx-users
> Please don't post (un)subscribe requests to the list. Use the 
> www interface or send it to gmx-users-request at gromacs.org.
> Can't post? Read http://www.gromacs.org/mailing_lists/users.php


-- 
David.
________________________________________________________________________
David van der Spoel, PhD, Assoc. Prof., Molecular Biophysics group,
Dept. of Cell and Molecular Biology, Uppsala University.
Husargatan 3, Box 596,  	75124 Uppsala, Sweden
phone:	46 18 471 4205		fax: 46 18 511 755
spoel at xray.bmc.uu.se	spoel at gromacs.org   http://folding.bmc.uu.se
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



More information about the gromacs.org_gmx-users mailing list