The framework of auto* configuration for Amber8 has been settle down and
the serial version demo code tested successfully.
Code mature stage list:
1. configure workflow design. (done)
1. detect canonical OS name supported by amber (done, except altix)
2. detect c/c++/f90 compiler name (done)
3. detect fortran common features, including freeform, preprocessing, main
func name, name mangleing style. (done)
4. detect ext/int blas, lapack, arpack library (almost done)
5. detect mpi library (partially done, untested)
6. pmemd left untouched.
To flavor the needs of full optimization control, there are two design
ideas.
1. most compiler options can be manully specified, e.g.
environment variable: CC, CFLAGS, FC, FCLIBS
command line options: --enable-xleap --enable-lmod
package options: --with-ext-blas, --with-ext-lapack
2. Like NAMD, pmemd, configure script can create a arch specific compiler
option files by --enable-paranoid-conf, such as
arch/freebsd-g95-cc-nopar.base. User can modify it at will and then run
configure again.
e.g:
#
# Adjustable compiler options for arch/freebsd-g95-cc-nopar.base
# If do not want to adjust specific option, just leave it blank
#
# Fortran90 compiler options
FCFLAGS=-g -O2
FCFLAG_FREEFORM=-ffree-form
FCFLAG_FPP=-cpp
FCLIBS=-L/usr/local/g95-install/bin/../lib/gcc-lib/i386-unknown-freebsd5.4
/4.0.1/-L/usr/local/g95-install/bin/../lib/gcc-lib/i386-unknown-freebsd5.4
/4.0.1 -L/lib//
-L/usr/local/g95-install/bin/../lib/gcc-lib/i386-unknown-freebsd5.4/4.0.1/
// -L/usr/lib// -lf95 -lm
# C compiler options
CFLAGS=-g -O2
LDFLAGS= -L/usr/local/lib -lblas
ALTCFLAGS=
# C++ compiler options
CXXFLAGS=-g -O2
CXXLDFLAGS=
Todo:
1. finish MPI detection code.
2. add benchmark and test integration
3. add workarounds to mimic current install layout.
4. polish the code to complate replicate original configure script
functions.
5. specific CPU detection, such as p4, athlon
Received on Wed Apr 05 2006 - 23:49:51 PDT