Commit 18afc10efe2bdad9a8c8c7a225284e7f7bfac68a
0 parents
Exists in
master
git-svn-id: https://lxsd.femto-st.fr/svn/atlas@1 dff38a21-2163-4b57-a1b5-aae693bec1e4
Showing 6 changed files with 111 additions and 0 deletions Side-by-side Diff
Makefile
| ... | ... | @@ -0,0 +1,12 @@ |
| 1 | +# Makefile pour compiler lapack + atlas avec gfortran + gcc | |
| 2 | +# Il faut au préalable placer le processeur en mode performance | |
| 3 | + | |
| 4 | +all: | |
| 5 | + ( ./build.sh ) | |
| 6 | + | |
| 7 | +install: | |
| 8 | + ( cp atlas-3.8.2/install/lib/*.a $(BTREE)/lib ) | |
| 9 | + | |
| 10 | +clean: | |
| 11 | + ( rm -rf atlas-3.8.2 ) | |
| 12 | + ( rm -rf lapack-3.1.1 ) |
README
| ... | ... | @@ -0,0 +1,10 @@ |
| 1 | +Compilation de atlas+lapack avec gfortran et gcc. Les librairies résultatantes peuvent très bien ensuite | |
| 2 | +être linké par un autre compilateur, le pgi par exemple. | |
| 3 | + | |
| 4 | +Pour le link : | |
| 5 | + | |
| 6 | +lapack : liblapack.a | |
| 7 | +blas : libf77blas.a libcblas.a libatlas.a libgfortran.so.X | |
| 8 | + | |
| 9 | +Il est nécessaire de linker la libgfortran avec laquelle a été compilée atlas. | |
| 10 | + |
atlas3.8.2.tar.bz2
No preview for this file type
build.sh
| ... | ... | @@ -0,0 +1,34 @@ |
| 1 | +#!/bin/bash | |
| 2 | + | |
| 3 | +echo "Mettre le processeur en mode performances (important pour atlas)" | |
| 4 | +echo " + sous kde clic droit sur kpowersave " | |
| 5 | +echo " -> Définir les règles de fréquence du processeur" | |
| 6 | +echo " -> Performances" | |
| 7 | +echo " + avec les cpufrequtils en root : cpufreq-set -g performance" | |
| 8 | +echo | |
| 9 | +echo "Si ce n'est pas fait tapez <Ctrl> C pour interrompre " | |
| 10 | +echo " sinon continuez avec <Entree>" | |
| 11 | + | |
| 12 | +read a | |
| 13 | + | |
| 14 | +# Unpack lapack archive | |
| 15 | +echo "Archive lapack (netlib)" | |
| 16 | +tar xzf lapack.tgz | |
| 17 | + | |
| 18 | +# Compilation lapack | |
| 19 | +cp make.inc.gfortran.lapack lapack-3.1.1/ | |
| 20 | +cd lapack-3.1.1 | |
| 21 | +make lapacklib | |
| 22 | + | |
| 23 | +# Unpack atlas archive | |
| 24 | +echo "Archive atlas" | |
| 25 | +tar xjf atlas3.8.2.tar.bz2 | |
| 26 | +cd ATLAS | |
| 27 | +mkdir build | |
| 28 | +mkdir install | |
| 29 | +cd build | |
| 30 | +../configure --prefix=../install --with-netlib-lapack=../../lapack-3.1.1/lapack_LINUX.a | |
| 31 | +make | |
| 32 | +make install | |
| 33 | + | |
| 34 | + |
lapack.tgz
No preview for this file type
make.inc.gfortran.lapack
| ... | ... | @@ -0,0 +1,55 @@ |
| 1 | +#################################################################### | |
| 2 | +# LAPACK make include file. # | |
| 3 | +# LAPACK, Version 3.1.1 # | |
| 4 | +# February 2007 # | |
| 5 | +#################################################################### | |
| 6 | +# | |
| 7 | +SHELL = /bin/sh | |
| 8 | +# | |
| 9 | +# The machine (platform) identifier to append to the library names | |
| 10 | +# | |
| 11 | +PLAT = _LINUX | |
| 12 | +# | |
| 13 | +# Modify the FORTRAN and OPTS definitions to refer to the | |
| 14 | +# compiler and desired compiler options for your machine. NOOPT | |
| 15 | +# refers to the compiler options desired when NO OPTIMIZATION is | |
| 16 | +# selected. Define LOADER and LOADOPTS to refer to the loader and | |
| 17 | +# desired load options for your machine. | |
| 18 | +# | |
| 19 | +FORTRAN = gfortran | |
| 20 | +OPTS = -O2 | |
| 21 | +DRVOPTS = $(OPTS) | |
| 22 | +NOOPT = -O0 | |
| 23 | +LOADER = gfortran | |
| 24 | +LOADOPTS = | |
| 25 | +# | |
| 26 | +# Timer for the SECOND and DSECND routines | |
| 27 | +# | |
| 28 | +# Default : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME | |
| 29 | +#TIMER = EXT_ETIME | |
| 30 | +# For RS6K : SECOND and DSECND will use a call to the EXTERNAL FUNCTION ETIME_ | |
| 31 | +# TIMER = EXT_ETIME_ | |
| 32 | +# For gfortran compiler: SECOND and DSECND will use a call to the INTERNAL FUNCTION ETIME | |
| 33 | +TIMER = INT_ETIME | |
| 34 | +# If your Fortran compiler does not provide etime (like Nag Fortran Compiler, etc...) | |
| 35 | +# SECOND and DSECND will use a call to the INTERNAL FUNCTION CPU_TIME | |
| 36 | +# TIMER = INT_CPU_TIME | |
| 37 | +# If neither of this works...you can use the NONE value... In that case, SECOND and DSECND will always return 0 | |
| 38 | +# TIMER = NONE | |
| 39 | +# | |
| 40 | +# The archiver and the flag(s) to use when building archive (library) | |
| 41 | +# If you system has no ranlib, set RANLIB = echo. | |
| 42 | +# | |
| 43 | +ARCH = ar | |
| 44 | +ARCHFLAGS= cr | |
| 45 | +RANLIB = ranlib | |
| 46 | +# | |
| 47 | +# The location of the libraries to which you will link. (The | |
| 48 | +# machine-specific, optimized BLAS library should be used whenever | |
| 49 | +# possible.) | |
| 50 | +# | |
| 51 | +BLASLIB = ../../blas$(PLAT).a | |
| 52 | +LAPACKLIB = lapack$(PLAT).a | |
| 53 | +TMGLIB = tmglib$(PLAT).a | |
| 54 | +EIGSRCLIB = eigsrc$(PLAT).a | |
| 55 | +LINSRCLIB = linsrc$(PLAT).a |