[CPMD-list] installation of parallelized version for MAC darwin
Axel Kohlmeyer
akohlmey at cmm.chem.upenn.edu
Thu Apr 17 18:29:44 CET 2008
On Thu, 17 Apr 2008, Yun-an Yan wrote:
YY> Dear all,
YY>
YY> when I try to install the parallelized version of CPMD in MAC OS, the
YY> executable
YY> is produced successfully and the speed of it is 10% slower than the single
yep. about 10% is the penalty for a single task when comparing the
serial version of the code to the parallel version.
YY> CPU version. But from the output there are something unpleasure. Please check
YY> the following for details.
YY> COMPILER: MPICH2, Intel C/Fortran compiler
YY>
YY> $ more Makefile
YY> #----------------------------------------------------------------------------
YY> #Personal Configuration
YY> #----------------------------------------------------------------------------
YY> LD = mpif90 -O1
YY> LFLAGS = -Xlinker -lsvml -L. \
YY> -L/opt/intel/mkl/lib/em64t -llapack -lblas \
YY> -lguide -Vaxlib
YY> #LFLAGS = -llapack -lblas -lm -lpthread -lifport -lifcore
YY> CPP = /usr/bin/cpp -P -C -traditional
YY> CPPFLAGS = -D__alpha -DFFT_DEFAULT -DPOINTER8 -DALPHALINUX \
YY> -DPARALLEL -DMYRINET -DLINUX_IA64_INTEL
hmmmm.... this combination of preprocessor flags will give you
some weird behavior at times. luckily this will mostly affect
modules you are not likely to use (e.g. k-points with swap files).
YY> CC = mpicc -c -O1
YY> CFLAGS = -O1
YY> FC = mpif90 -c -I. -I$(SRC)
YY> FFLAGS = -O1
YY>
YY> The code cannot be compiled with the option -D__OSX and I have to
YY> use the stupid thing like -DALPHALINUX for MAC system.
YY>
YY> $ mpirun -np 2 ./cpmd.x CPMD_inp.run .
YY> ........
YY> ........
YY> *** RINFORCE| SIZE OF THE PROGRAM IS (unknown) kBYTES ***
YY> *** FFTPRP| SIZE OF THE PROGRAM IS (unknown) kBYTES ***
YY> *** CLUSTER| SIZE OF THE PROGRAM IS (unknown) kBYTES ***
YY> ........
YY> ........
YY> *** INTERPT| SIZE OF THE PROGRAM IS (unknown) kBYTES ***
YY> *** PHFAC| SIZE OF THE PROGRAM IS (unknown) kBYTES ***
YY> *** ATOMWF| SIZE OF THE PROGRAM IS (unknown) kBYTES ***
YY> ......
YY>
YY> One sees that there are many unknowns.
YY>
YY> who has idea for that?
because of setting for alpha/linux the memory size detection
routine tries to read the current memory size of the executable
from /proc/self/status, which is a linux-only feature. -> unknown.
you machine is currently not directly supported. one has to
carefully check the code and place a new define (e.g. __OSX_INTEL)
at the places where needed. you are currently including random
code from different platforms...
cheers,
axel.
YY>
YY> Thank you so much for your consideration.
YY>
YY>
YY> Best wishes,
YY> Yun-an Yan
YY>
YY>
--
=======================================================================
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