forum@abinit.org
Subject: The ABINIT Users Mailing List ( CLOSED )
List archive
- From: <osirixu-abinit@yahoo.com.cn>
- To: forum@abinit.org
- Subject: Building abinit-5.1.3 using IFC+MKL "failed"
- Date: Wed, 31 May 2006 00:10:57 +0800 (CST)
- Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com.cn; h=Message-ID:Received:Date:From:Reply-To:Subject:To:MIME-Version:Content-Type:Content-Transfer-Encoding; b=Pp3lGJNtbQl2V6raQRvswVMTwtmezv3xljzqa+KOMUSzXD+6PK56iCVDPjWwQ5s0gwN8Sc58x10Z+RH0nY+CNO+HNvuo/zpFAXUTJ2o9Px9S6fUegTgxMeEWuPb+hxdicGURP7YXtezdqM6SJpTaAhsLetLSukUHyklpZUJmCq0= ;
Dear abinitors,
I wish to build abinit with intel fortran compiler
(ifc 9.0), intel C compiler (icc 9.0), and intel mkl
library (mkl 8.0), on an AMD Athlon (=pentium3) x86
linux platform. I do have explicitly set the variables
of LD_LIBRARY_PATH and INTEL_LICENSE_FILE in bash.
LD_LIBRARY_PATH="/opt/intel/mkl/8.0.1/lib/32:/opt/intel/cc/9.0/lib:/opt/intel/fc/9.0/lib:/usr/local/lib"
And I have set the following variables in the
<hostname>.ac file:
CC="icc"
CXX="icpc"
FC="ifort"
the configure script mis-recognised my cpu as
pentium4, and mis-recognised the icc and icpc as GNU
compilers, and it also can't find the mkl library too.
(The output of configure script is appended below.)
Though after I announced the following variables
in the <hostname>.ac file, the configure script can
recognise both of the icc and icpc compiler's version.
(The difference of the output of configure script with
the former one is also appended below.)
abi_cpu_model=pentium3
cc_type=intel
cc_version=9.0
cxx_type=intel
cxx_version=9.0
fc_type=intel
fc_version=9.0
with_lapack_prefix="/usr/local/lib/mkl"
with_blas_prefix="/usr/local/lib/mkl"
where the last two lines is set because abinit look
for the LAPACK and blas library in "<prefix>/lib", i
just linked the correspding directory of mkl library
to "/usr/local/lib/mkl/lib" directory. Still the
configure script cann't find the mkl library, but
following files do be there:
/usr/local/lib/mkl/lib/libguide.a
/usr/local/lib/mkl/lib/libmkl_lapack.a
/usr/local/lib/mkl/lib/libmkl_ia32.a
/usr/local/lib/mkl/lib/libpthread.a
Well, though it seems can recognise the cpu model
after the modification, and set the following flags in
Makefile automatically:
FCFLAGS = -extend_source -vec-report0
FCFLAGS_BLAS =
FCFLAGS_LAPACK =
FCFLAGS_OPT = -O3 -arch pn3 -tune pn3 -tpp6 -xK
then in the process of compilation, I cann't see any
no optimization flags in the output during the
compiling process, and it seems build the lapack and
blas libraries internally. Though finally I can
successfully get the abinit, the code cann't run as
efficiently as it could.
I don't know how to fix this problem? Any advice or
suggestions will be appreciated!
Besides, in my personal view, if we can optionally
self-set the varibles for compilers, the flags, and
the math libraries, in a single makefile just like
some other ab initio code, then we could build abinit
compatible with more different compilers, and math
libraries. Because there are so many platforms, so
many compilers, and so many versions of a compiler, it
would be an expensive job to maintain the configure
script to the version updates of cpus, compilers, and
math libraries. Alternatively, a list of optimization
flags, and the math-libraries we have to use, on a
README file may be more flexible and applicable to
users.
Best Wishes!
Rex
May 30, 2006
# ./configure >config1.log
######################> the content of config1.log
<###########################
==============================================================================
=== Build environment
===
==============================================================================
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking for a BSD-compatible install...
/usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
configure: reading options from ./localhost.ac
==============================================================================
=== Utilities
===
==============================================================================
checking whether make sets $(MAKE)... (cached) yes
checking for a BSD-compatible install...
/usr/bin/install -c
checking whether ln -s works... yes
checking for sh... /bin/sh
checking for perl... /usr/bin/perl
checking for python... /usr/bin/python
checking for rm... /bin/rm
checking for mv... /bin/mv
checking for tar... /bin/tar
checking for markdown... /usr/bin/markdown
checking for latex... /usr/bin/latex
checking for dvips... /usr/bin/dvips
checking for dvipdf... /usr/bin/dvipdf
checking for ps2pdf... /usr/bin/ps2pdf
configure: Using internal version of MarkDown
==============================================================================
=== Libraries and linking
===
==============================================================================
checking for ar... /usr/bin/ar
checking for ranlib... ranlib
checking for a sed that does not truncate output...
/bin/sed
checking for style of include used by make... GNU
checking for gcc... icc
checking for C compiler default output file name...
a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler...
yes
checking whether icc accepts -g... yes
checking for icc option to accept ANSI C... none
needed
checking dependency style of icc... gcc3
checking for egrep... grep -E
checking for ld used by icc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
==============================================================================
=== C support
===
==============================================================================
checking how to run the C preprocessor... icc -E
checking for gcc... (cached) icc
checking whether we are using the GNU C compiler...
(cached) yes
checking whether icc accepts -g... (cached) yes
checking for icc option to accept ANSI C... (cached)
none needed
checking dependency style of icc... (cached) gcc3
checking if we are using the GNU C compiler... yes
configure: applying tricks for C compiler gnu version
icc
checking whether byte ordering is bigendian... no
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for void *... yes
checking size of void *... 4
checking for working alloca.h... yes
checking for alloca... yes
checking for ANSI C header files... (cached) yes
==============================================================================
=== C++ support
===
==============================================================================
checking whether we are using the GNU C++ compiler...
yes
checking whether icpc accepts -g... yes
checking dependency style of icpc... gcc3
checking if we are using the GNU C++ compiler... yes
configure: applying tricks for C++ compiler gnu
version icpc
==============================================================================
=== Fortran support
===
==============================================================================
checking whether we are using the GNU Fortran
compiler... no
checking whether ifort accepts -g... yes
checking if we are using the G95 Fortran compiler...
no
checking if we are using the Intel Fortran compiler...
yes
configure: applying tricks for Fortran compiler intel
version 9.0
checking whether the Fortran compiler accepts
exit()... yes
==============================================================================
=== Optimizations
===
==============================================================================
configure: applying optimizations for
gnu_cc/all/pentium4
configure: applying optimizations for
gnu_cxx/all/pentium4
configure: enabling per-directory Fortran
optimizations
==============================================================================
=== MPI support
===
==============================================================================
checking for a native MPI support... no
checking whether to build parallel code... no
==============================================================================
=== External libraries
===
==============================================================================
checking for main in -latlas... no
checking for main in -lmkl... no
configure: the BLAS library will be built
configure: the LAPACK library will be built
configure: the NETCDF library will not be built
configure: the NQXC library will not be built
#################################> end
<#######################################
after the modification of <hostname>.ac
# ./configure >config2.log
############> diff config1.log config2.log
<################
67,68c67
< checking if we are using the GNU C compiler... yes
< configure: applying tricks for C compiler gnu
version icc
---
> configure: applying tricks for C compiler intel
version 9.0
93,94c92
< checking if we are using the GNU C++ compiler... yes
< configure: applying tricks for C++ compiler gnu
version icpc
---
> configure: applying tricks for C++ compiler intel
version 9.0
102,103d99
< checking if we are using the G95 Fortran compiler...
no
< checking if we are using the Intel Fortran
compiler... yes
111,112c107,108
< configure: applying optimizations for
gnu_cc/all/pentium4
< configure: applying optimizations for
gnu_cxx/all/pentium4
---
> configure: applying optimizations for
intel_cc/9.0/pentium3
> configure: applying optimizations for
intel_cxx/9.0/pentium3
######################> end <##############################
___________________________________________________________
抢注雅虎免费邮箱-3.5G容量,20M附件!
http://cn.mail.yahoo.com
- Building abinit-5.1.3 using IFC+MKL "failed", osirixu-abinit, 05/30/2006
Archive powered by MHonArc 2.6.16.