[CPMD-list] CPMD on 64-bit Linux (openSUSE 10.3) Intel Xeon
Vladimir Stegailov
stegailov at ihed.ras.ru
Mon Apr 28 14:55:13 CET 2008
Could you give me some hints what is the reason for the following
compilation error.
I use Intel Fortran 10.1 compiler on the Xeon cluster.
The makefile options I am using are
IRAT=2
CFLAGS='-c -O2 -Wall'
CPP='/lib/cpp -P -C -traditional'
CPPFLAGS='-D__Linux -D__PGI -DFFT_DEFAULT \
-DPARALLEL -DMYRINET -DLINUX_IFC -DINTEL_MKL -DPOINTER8'
FFLAGS='-O2 -unroll -pc64 -march=pentium3 -mtune=core2'
LFLAGS='-L/opt/intel/mkl/10.0.2.018/lib/em64t -lmkl_intel_lp64
-lmkl_sequential -lmkl_core'
FFLAGS_GROMOS=' $(FFLAGS)'
if [ $debug ]; then
FC='mpif77 -g'
CC='mpicc -g'
LD='mpif77 -g'
else
FC='mpif77 '
CC='mpicc '
LD='mpif77 '
fi
After having played with different flags I feel that the error is a result
of some general deficiency.
The making failure looks like this
$ make
rm -f cpmd.f
/lib/cpp -P -C -traditional -D__Linux -D__PGI -DFFT_DEFAULT -DPARALLEL
-DMYRINET -DLINUX_IFC -DINTEL_MKL -DPOINTER8 ./cpmd.F ./cpmd.f
mpif77 -O2 -unroll -pc64 -march=pentium3 -mtune=core2 ./cpmd.f -o
/cpmd.o
/tmp/ifortcXABMB.o: In function `MAIN__':
/cpmd.f:(.text+0x3c): undefined reference to `softex_'
/cpmd.f:(.text+0x52): undefined reference to `softex_'
/cpmd.f:(.text+0x68): undefined reference to `softex_'
/cpmd.f:(.text+0x7e): undefined reference to `softex_'
/cpmd.f:(.text+0x94): undefined reference to `softex_'
/cpmd.f:(.text+0xa7): undefined reference to `startpa_'
/cpmd.f:(.text+0xb6): undefined reference to `tistart_'
/cpmd.f:(.text+0xdf): undefined reference to `datum_'
/cpmd.f:(.text+0x156): undefined reference to `init_fileopen_'
/cpmd.f:(.text+0x15d): undefined reference to `envir_'
/cpmd.f:(.text+0x164): undefined reference to `setcnst_'
/cpmd.f:(.text+0x16b): undefined reference to `control_'
/cpmd.f:(.text+0x172): undefined reference to `dftin_'
/cpmd.f:(.text+0x179): undefined reference to `sysin_'
/cpmd.f:(.text+0x180): undefined reference to `setsc_'
/cpmd.f:(.text+0x187): undefined reference to `detsp_'
/cpmd.f:(.text+0x18e): undefined reference to `mm_init_'
/cpmd.f:(.text+0x1a3): undefined reference to `timec_'
/cpmd.f:(.text+0x29c): undefined reference to `pi_mdpt_'
/cpmd.f:(.text+0x2d2): undefined reference to `pm_gmopts_'
/cpmd.f:(.text+0x2f2): undefined reference to `prpt_'
/cpmd.f:(.text+0x2fe): undefined reference to `mdpt_'
/cpmd.f:(.text+0x379): undefined reference to `response_p_'
/cpmd.f:(.text+0x38a): undefined reference to `my_end_'
/cpmd.f:(.text+0x3b6): undefined reference to `pi_wf_'
/cpmd.f:(.text+0x3bf): undefined reference to `pm_wf_'
/cpmd.f:(.text+0x3c8): undefined reference to `end_swap_'
/cpmd.f:(.text+0x3cf): undefined reference to `pmaxmem_'
/cpmd.f:(.text+0x3d6): undefined reference to `tipri_'
/cpmd.f:(.text+0x3dd): undefined reference to `timec_'
/cpmd.f:(.text+0x426): undefined reference to `ttimp_'
/cpmd.f:(.text+0x437): undefined reference to `datum_'
/cpmd.f:(.text+0x448): undefined reference to `prmem_'
/cpmd.f:(.text+0x4c3): undefined reference to `tilimex_'
/cpmd.f:(.text+0x4cf): undefined reference to `specpt_'
/cpmd.f:(.text+0x4db): undefined reference to `orbhard_'
/cpmd.f:(.text+0x4e7): undefined reference to `proppt_'
/cpmd.f:(.text+0x4f3): undefined reference to `secdpt_'
/cpmd.f:(.text+0x4ff): undefined reference to `interpt_'
/cpmd.f:(.text+0x50b): undefined reference to `wfopts_'
/cpmd.f:(.text+0x517): undefined reference to `gmopts_'
/cpmd.f:(.text+0x523): undefined reference to `ratom_'
/cpmd.f:(.text+0x52a): undefined reference to `vdwin_'
/cpmd.f:(.text+0x539): undefined reference to `propin_'
/cpmd.f:(.text+0x540): undefined reference to `respin_p_'
/cpmd.f:(.text+0x547): undefined reference to `setsys_'
/cpmd.f:(.text+0x54e): undefined reference to `genxc_'
/cpmd.f:(.text+0x555): undefined reference to `numpw_'
/cpmd.f:(.text+0x584): undefined reference to `nmr_para_p_'
/cpmd.f:(.text+0x58b): undefined reference to `rinit_'
/cpmd.f:(.text+0x592): undefined reference to `rinforce_'
/cpmd.f:(.text+0x599): undefined reference to `fftprp_'
/cpmd.f:(.text+0x5a0): undefined reference to `initclust_'
/cpmd.f:(.text+0x5a7): undefined reference to `dg_init_'
/cpmd.f:(.text+0x5ae): undefined reference to `nosalloc_'
/cpmd.f:(.text+0x5b5): undefined reference to `exterp_'
/cpmd.f:(.text+0x5bc): undefined reference to `setbasis_'
/cpmd.f:(.text+0x5c3): undefined reference to `dqgalloc_'
/cpmd.f:(.text+0x5ca): undefined reference to `setefield_'
/cpmd.f:(.text+0x5d6): undefined reference to `pm_cntl_'
/cpmd.f:(.text+0x5dd): undefined reference to `pm_init_'
/cpmd.f:(.text+0x5e6): undefined reference to `pi_cntl_'
/cpmd.f:(.text+0x5ed): undefined reference to `pi_init_'
/tmp/ifortcXABMB.o: In function `cpmd_':
/cpmd.f:(.text+0x601): undefined reference to `softex_'
/cpmd.f:(.text+0x617): undefined reference to `softex_'
/cpmd.f:(.text+0x62d): undefined reference to `softex_'
/cpmd.f:(.text+0x643): undefined reference to `softex_'
/cpmd.f:(.text+0x659): undefined reference to `softex_'
/cpmd.f:(.text+0x66c): undefined reference to `startpa_'
/cpmd.f:(.text+0x67b): undefined reference to `tistart_'
/cpmd.f:(.text+0x6a4): undefined reference to `datum_'
/cpmd.f:(.text+0x71b): undefined reference to `init_fileopen_'
/cpmd.f:(.text+0x722): undefined reference to `envir_'
/cpmd.f:(.text+0x729): undefined reference to `setcnst_'
/cpmd.f:(.text+0x730): undefined reference to `control_'
/cpmd.f:(.text+0x737): undefined reference to `dftin_'
/cpmd.f:(.text+0x73e): undefined reference to `sysin_'
/cpmd.f:(.text+0x745): undefined reference to `setsc_'
/cpmd.f:(.text+0x74c): undefined reference to `detsp_'
/cpmd.f:(.text+0x753): undefined reference to `mm_init_'
/cpmd.f:(.text+0x768): undefined reference to `timec_'
/cpmd.f:(.text+0x861): undefined reference to `pi_mdpt_'
/cpmd.f:(.text+0x897): undefined reference to `pm_gmopts_'
/cpmd.f:(.text+0x8b7): undefined reference to `prpt_'
/cpmd.f:(.text+0x8c3): undefined reference to `mdpt_'
/cpmd.f:(.text+0x93e): undefined reference to `response_p_'
/cpmd.f:(.text+0x94f): undefined reference to `my_end_'
/cpmd.f:(.text+0x95e): undefined reference to `pi_wf_'
/cpmd.f:(.text+0x967): undefined reference to `pm_wf_'
/cpmd.f:(.text+0x970): undefined reference to `end_swap_'
/cpmd.f:(.text+0x977): undefined reference to `pmaxmem_'
/cpmd.f:(.text+0x97e): undefined reference to `tipri_'
/cpmd.f:(.text+0x985): undefined reference to `timec_'
/cpmd.f:(.text+0x9ce): undefined reference to `ttimp_'
/cpmd.f:(.text+0x9df): undefined reference to `datum_'
/cpmd.f:(.text+0x9f0): undefined reference to `prmem_'
/cpmd.f:(.text+0xa6b): undefined reference to `tilimex_'
/cpmd.f:(.text+0xa77): undefined reference to `specpt_'
/cpmd.f:(.text+0xa83): undefined reference to `orbhard_'
/cpmd.f:(.text+0xa8f): undefined reference to `proppt_'
/cpmd.f:(.text+0xa9b): undefined reference to `secdpt_'
/cpmd.f:(.text+0xaa7): undefined reference to `interpt_'
/cpmd.f:(.text+0xab3): undefined reference to `wfopts_'
/cpmd.f:(.text+0xabf): undefined reference to `gmopts_'
/cpmd.f:(.text+0xacb): undefined reference to `ratom_'
/cpmd.f:(.text+0xad2): undefined reference to `vdwin_'
/cpmd.f:(.text+0xae1): undefined reference to `propin_'
/cpmd.f:(.text+0xae8): undefined reference to `respin_p_'
/cpmd.f:(.text+0xaef): undefined reference to `setsys_'
/cpmd.f:(.text+0xaf6): undefined reference to `genxc_'
/cpmd.f:(.text+0xafd): undefined reference to `numpw_'
/cpmd.f:(.text+0xb2c): undefined reference to `nmr_para_p_'
/cpmd.f:(.text+0xb33): undefined reference to `rinit_'
/cpmd.f:(.text+0xb3a): undefined reference to `rinforce_'
/cpmd.f:(.text+0xb41): undefined reference to `fftprp_'
/cpmd.f:(.text+0xb48): undefined reference to `initclust_'
/cpmd.f:(.text+0xb4f): undefined reference to `dg_init_'
/cpmd.f:(.text+0xb56): undefined reference to `nosalloc_'
/cpmd.f:(.text+0xb5d): undefined reference to `exterp_'
/cpmd.f:(.text+0xb64): undefined reference to `setbasis_'
/cpmd.f:(.text+0xb6b): undefined reference to `dqgalloc_'
/cpmd.f:(.text+0xb72): undefined reference to `setefield_'
/cpmd.f:(.text+0xb7e): undefined reference to `pm_cntl_'
/cpmd.f:(.text+0xb85): undefined reference to `pm_init_'
/cpmd.f:(.text+0xb8e): undefined reference to `pi_cntl_'
/cpmd.f:(.text+0xb95): undefined reference to `pi_init_'
make: *** [cpmd.o] Error 1
Vladimir
----- Original Message -----
From: "Axel Kohlmeyer" <akohlmey at cmm.chem.upenn.edu>
To: "oksana ismailova" <o.ismailova at rambler.ru>
Cc: <cpmd-list at cpmd.org>; <pcxcb1 at nottingham.ac.uk>
Sent: Monday, April 07, 2008 6:51 PM
Subject: Re: [CPMD-list] CPMD on 64-bit Linux (openSUSE 10.3) Intel Xeon
>
> On Mon, 7 Apr 2008, oksana ismailova wrote:
>
> OI> Dear Axel and Reuti!
> OI>
> OI>
> OI> Thanks a lot for your prompt responses and helps.
> OI>
> OI> these options in the Makefile
> OI> worked:
> OI> FFLAGS = -pc64 -O2 -unroll
> OI> LFLAGS = -L/opt/intel/mkl/10.0.2.018/lib/em64t -lmkl_sequential
> OI> -lmkl_lapack
> OI> -lmkl_em64t -lguide lpthread
>
> ok. there is some room for optimization, though.
> the cleaner solution with the best performance would be:
>
> FFLAGS= -O2 -unroll -pc64 -march=pentium3 -mtune=core2
> LFLAGS= -L/opt/intel/mkl/10.0.2.018/lib/em64t -lmkl_intel_lp64 -lmkl_sequential
> -lmkl_core
>
> this will link with the non-openmp version of the libraries
> and thus no -lpthread or -lguide should be needed.
>
> with intel MKL v10 this is required unless you set
> OMP_NUM_THREADS to 1 in your default environment.
>
> additional speedup can be achieved by using FFTW instead of the
> default internal default FFT. for that you'll have to install
> fftw-2 (not fftw3!), change -DFFT_DEFAULT to -DFFT_FFTW and
> add -ldfftw (or -lfftw depending on your Linux) to LFLAGS.
> the major source for the speedup is actually less the speed
> of the FFT different implementations, but the fact that FFTW
> supports more grids, so you may find a smaller grid that
> fits your problem and thus reduces the amount of data to be
> processed (and the memory needed).
>
> cheers,
> axel.
>
> OI> Based on IFORT-AMD64
> OI>
> OI>
> OI> dear cpmd users,
> OI> any ideas or help will be appreciated
> OI>
> OI> Our system administrator asks me pass on his thanks also.
> OI>
> OI> best regards,
> OI> oksana
> OI>
> OI>
> OI>
> OI> * cpmd-list-request at cpmd.org [Sat, 05 Apr 2008 05:00:45 +0200]:
> OI> > Send CPMD-list mailing list submissions to
> OI> > cpmd-list at cpmd.org
> OI> >
> OI> > To subscribe or unsubscribe via the World Wide Web, visit
> OI> > http://cpmd.org/mailman/listinfo/cpmd-list
> OI> > or, via email, send a message with subject or body 'help' to
> OI> > cpmd-list-request at cpmd.org
> OI> >
> OI> > You can reach the person managing the list at
> OI> > cpmd-list-owner at cpmd.org
> OI> >
> OI> > When replying, please edit your Subject line so it is more specific
> OI> > than "Re: Contents of CPMD-list digest..."
> OI>
> OI>
> OI> _______________________________________________
> OI> CPMD-list mailing list
> OI> CPMD-list at cpmd.org
> OI> http://cpmd.org/mailman/listinfo/cpmd-list
> OI>
>
> --
> =======================================================================
> Axel Kohlmeyer akohlmey at cmm.chem.upenn.edu http://www.cmm.upenn.edu
> Center for Molecular Modeling -- University of Pennsylvania
> Department of Chemistry, 231 S.34th Street, Philadelphia, PA 19104-6323
> tel: 1-215-898-1582, fax: 1-215-573-6233, office-tel: 1-215-898-5425
> =======================================================================
> If you make something idiot-proof, the universe creates a better idiot.
More information about the CPMD-list
mailing list