Skip to content
Snippets Groups Projects
Commit 6e0ed746 authored by Claus-Justus Heine's avatar Claus-Justus Heine
Browse files

Update from ALBERT to ALBERTA. Try to be more detailed about setting

of compiler-flags.
parent e56d8442
Branches
Tags
No related merge requests found
ALBERTA: an Adaptive multi Level finite element toolbox using
Bisectioning refinement and Error control by Residual
Techniques
ALBERTA is an Adaptive multi-Level finite element toolbox using
Bisectioning refinement and Error control by Residual
Techniques for scientific Applications.
Contents
========
......@@ -241,9 +241,8 @@ following options:
packages "gltools" and "GRAPE" .
--with-PKG-name=NAME
The library is not called PKG, but NAME, e.g. "MesaGL" instead
of "GL", or "cxml" instead of "blas". Configure will then
search for "libNAME" instead of "libPKG".
Alter the default name of the package,
e.g. "--with-opengl-name=MesaGL" or "--with-blas-name=cxml".
--with-PKG-dir=DIR
Search for header-files and for the library itself below DIR,
......@@ -257,8 +256,8 @@ following options:
Use DIR as search-path for the include-files for PKG,
e.g. "--with-opengl-include=/usr/people/claus/software/include/".
The following quotes the online-help obtained by running "configure
--help"
The following quotes the relevant fragment of the online-help obtained
by running "configure --help"
--with-blas-name=NAME use NAME as the name of the blas library (without
leading "lib" prefix and trailing suffix). Default:
......@@ -300,8 +299,8 @@ The following quotes the online-help obtained by running "configure
(default: PREFIX/include/)
IV. Compiler flags settings
===========================
IV. Compiler flags
==================
The default flags for the optimised libraries are "-O3" when using gcc
and "-O" otherwise.
......@@ -309,37 +308,78 @@ and "-O" otherwise.
The default flags for the debugging-enabled libraries are
"-O0 -ggdb -fno-inline -fno-builtin" with gcc and "-g" otherwise.
You are strongly encouraged to change this. To do so, you can set the
environment variables
The relevant environment- respectively make-variables are
CFLAGS
C-compiler flags used for _both_, optimised and debug enabled libraries
ALBERTA_OPTIMISE_CFLAGS
C-compiler flags used fo the optimised library. They are prepended
to the CFLAGS variable.
ALBERTA_DEBUG_CFLAGS
C-compiler flags used fo the debug enabled library. They are
prepended to the CFLAGS variable.
FFLAGS
Fortran-compiler flags. They are separated from the CFLAGS because
in general the Fortran compiler can come from a different vendor
than the C-compiler in which case the flags understood by the
Fortran compiler are different from the flags understood by the
C-compiler.
before you run configure. You can also set these variables on the
command-line of the "configure" or the "make" program, e.g. with a recent
gcc on a Pentium 4 you could use
You have to consult the documentation for the compiler(s) you are using
to determine the appropriate switches for your setup.
configure ALBERTA_OPTIMISE_CFLAGS="-O3 -march=pentium4 -mfpmath=sse"
There are three ways to set those flags:
or (later, when building the libraries)
a.) arguments to configure
b.) environment variables (have to be defined _before_ running configure)
c.) arguments to make
make ALBERTA_OPTIMISE_CFLAGS="-O3 -march=pentium4 -mfpmath=sse"
We recommend using a.).
You have to consult the documentation for the compiler(s) you are using
to determine the appropriate switches for your setup.
Examples:
---------
1.) gcc with a Pentium 4
./configure <blablabla> \
CFLAGS="-march=pentium4 -mfpmath=sse" \
FFLAGS="-march=pentium4 -mfpmath=sse"
make
make install
or (assuming a Bourne-shell)
CFLAGS="-march=pentium4 -mfpmath=sse"
FFLAGS="-march=pentium4 -mfpmath=sse"
export CFLAGS FFLAGS
./configure <blablabla>
make
make install
or
NOTE: if you use the CFLAGS-variable, then it's value will be prepended
to the compiler flags at built-time. So using e.g.
./configure <blablabla>
make CFLAGS="-march=pentium4 -mfpmath=sse" \
FFLAGS="-march=pentium4 -mfpmath=sse"
make install
make CFLAGS="-O3 -funroll-all-loops -g0" ALBERT_DEBUG_CFLAGS="-ggdb"
2.) Pentium 4 with icc and with Intel "math kernel library" (BLAS
implementation)
will result in '-O3 -funroll-all-loops -g0 -ggdb' for the
debug-enabled libraries. This might not be quite the thing you were
aiming at.
./configure <blablabla> \
CC=icc CFLAGS="-mcpu=pentium4" ALBERA_OPTIMISE_CFLAGS="-O3" \
ALBERTA_DEBUG_CFLAGS="-O0 -g" \
F77=ifc FFLAGS="-mcpu=pentum4 -O3" \
--with-blas-name=mkl --with-blas-lib=/opt/intel/mkl61/lib/32/
make
make install
You still can use CFLAGS to set compiler flags used for both,
optimising and debug-enabled objects.
or set environment variables or use arguments to "make" as shown in
example 1.)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment