SuiteSparse
Version 4.2.1 et Openblas
Pour récupérer OpenBlas :
git clone git://github.com/xianyi/OpenBLAScd OpenBlasmakesudo make PREFIX=/opt/OpenBLAS
Version 4.2.1 (utilisation sous Matlab sur gpuschwarz)
Utilisation sur gpuschwarz de la SuiteSparse 4.2.1 (a suite of sparse matrix software) de Tim Davis sous
Matlab.
Pour utiliser la SuiteSparse sur gpuschwarz, il faut récupérer le fichier suivant SuiteSparsePath.m et
executer la commande suivante
- sous Matlab R2012b :
SuiteSparsePath(’/usr/local/MATLAB/toolbox/R2012b/SuiteSparse/4.2.1’)
- sous Matlab R2013a :
SuiteSparsePath(’/usr/local/MATLAB/toolbox/R2013a/SuiteSparse/4.2.1’)
Version 4.2.1 (installation)
Installation de SuiteSparse 4.2.1 (a suite of sparse matrix software) de Tim Davis sous Matlab et Linux.
Effectuée le 28 avril 2013.
- Configuration :
-
machine :
- gpuschwarz
-
system :
- Ubuntu 12.04 LTS (x86_64)
-
matlab :
- R2012b/R2013a
- Liens utiles :
- Installation de Intel’s Threading Building Blocks :
On récupère les sources
wget http://threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb41_20130314oss_src.tgz
On décompresse
tar zxvf tbb41_20130314oss_src.tgz
On compile On copie les librairies et les fichiers include. Le répertoire contenant les librairies
dépend de la configuration courante de la machine, dans notre cas elles sont dans
build/linux_intel64_gcc_cc4.6_libc2.15_kernel3.2.0_release/libtbb*. Il faut donc adapter la
première commande :
sudo cp build/linux_intel64_gcc_cc4.6_libc2.15_kernel3.2.0_release/libtbb* /usr/lib/
sudo cp -r include/tbb /usr/include/
- Préparation de SuiteSparse :
On récupère les dernières sources en date et on décompresse :
wget http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-4.2.1.tar.gztar zxvf SuiteSparse-4.2.1.tar.gz
Le répertoire SuiteSparse contient l’intégralité de la librairie. On lui adjoint la version 4.0.1 de Metis
disponible à l’adresse http://glaros.dtc.umn.edu/gkhome/fsroot/sw/metis/OLD
cd SuiteSparsewget http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/OLD/metis-4.0.1.tar.gz
tar zxvf metis-4.0.1.tar.gz
Suite a un ch’tit bug (voir explications section Other packages required : de la SuiteSparse), il faut éditer
le fichier metis-4.0/Lib/rename.h et remplacer la dernière ligne du fichier :
#define log2 __log2
par
#define log2 METIS__log2
Pour améliorer les performances, T. Davis sugère de modifier le fichier metis-4.0/Makefile.in comme
suit
...
CC = gcc
...
OPTFLAGS = -O3
...
- Installation sous Linux :
Dans le répertoire SuiteSparse :
Version 4.0.2
Installation de SuiteSparse 4.0.2 (a suite of sparse matrix software) de Tim Davis sous Matlab et Linux.
Effectuée le 18 décembre 2012.
- Configuration :
-
machine :
- gpuschwarz
-
system :
- Ubuntu 12.04 LTS (x86_64)
-
matlab :
- R2012b
- Liens utiles :
- Installation de Intel’s Threading Building Blocks :
On récupère les sources
wget http://threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb41_20121003oss_src.tgz
On décompresse
tar zxvf tbb41_20121003oss_src.tgz
On compile On copie les librairies et les fichiers include. Le répertoire contenant les librairies dépend de la configuration
courante de la machine, dans notre cas elles sont dans lib/intel64/cc4.1.0_libc2.4_kernel2.6.16.21/.
Il faut donc adapter la première commande :
sudo cp lib/intel64/cc4.1.0_libc2.4_kernel2.6.16.21/libtbb* /usr/lib/sudo cp -r include/tbb /usr/include/
- Préparation de SuiteSparse :
On récupère les dernières sources en date et on décompresse :
wget http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-4.0.2.tar.gztar zxvf SuiteSparse-4.0.2.tar.gz
Le répertoire SuiteSparse contient l’intégralité de la librairie. On lui adjoint la version 4.0.1 de Metis
disponible à l’adresse http://glaros.dtc.umn.edu/gkhome/fsroot/sw/metis/OLD
cd SuiteSparsewget http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/OLD/metis-4.0.1.tar.gz
tar zxvf metis-4.0.1.tar.gz
Suite a un ch’tit bug (voir explications section Other packages required : de la SuiteSparse), il faut éditer
le fichier metis-4.0/Lib/rename.h et remplacer la dernière ligne du fichier :
#define log2 __log2#
par
#define log2 METIS__log2#
Pour améliorer les performances, T. Davis sugère de modifier le fichier metis-4.0/Makefile.in comme
suit
...
CC = gcc
...
OPTFLAGS = -O3
...
- Installation sous Matlab R2012b :
Actuellement la version par default de gcc est la version 4.6.3 or la version supportée avec
MEX est la "4.4.6". On installe classiquement la version 4.4 du compilateur (gcc, g++ et
gfortran).
Pour forcer Matlab à utiliser la version 4.4 du compilateur, on modifie le fichier ~/.matlab/R2012b/mexopts.sh
section glnxa64) comme suit
...
CC=’gcc-4.4’
...
CXX=’g++-4.4’
...
FC=’gfortran-4.4’
Si le fichier n’existe pas, lancer Matlab R2012b puis executer la commande mex -setup
>> mex -setup Options files control which compiler to use, the compiler and link command
options, and the runtime libraries to link against.
Using the ’mex -setup’ command selects an options file that is
placed in /home/<...>/.matlab/R2012b and used by default for ’mex’. An options
file in the current working directory or specified on the command line
overrides the default options file in /home/<...>/.matlab/R2012b.
To override the default options file, use the ’mex -f’ command
(see ’mex -help’ for more information).The options files available for mex are:
1: <...>/bin/mexopts.sh : Template Options file for building gcc MEX-files
0: Exit with no changesEnter the number of the compiler (0-1):1<...>/bin/mexopts.sh is being copied to
/home/<...>/.matlab/R2012b/mexopts.sh**************************************************************************
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. In the near future
you will be required to update your code to utilize the new
API. You can find more information about this at:
http://www.mathworks.com/help/techdoc/matlab_external/bsflnue-1.html
Building with the -largeArrayDims option enables the new API.
**************************************************************************
Changer les droits sur le fichier et effectuer les modifications précédentes.
Ensuite, sous Matlab R2012b et dans le répertoire SparseSuite, lancer le programme
SuiteSparse_install.m
Une fois l’installation terminée, pour utiliser cette librairie, il faudra ajouter
addpath SuiteSparse
addpath SuiteSparse/UMFPACK/MATLAB
addpath SuiteSparse/CHOLMOD/MATLAB
addpath SuiteSparse/AMD/MATLAB
addpath SuiteSparse/COLAMD/MATLAB
addpath SuiteSparse/CCOLAMD/MATLAB
addpath SuiteSparse/CAMD/MATLAB
addpath SuiteSparse/CXSparse/MATLAB/UFget
addpath SuiteSparse/CXSparse/MATLAB/Demo
addpath SuiteSparse/CXSparse/MATLAB/CSparse
addpath SuiteSparse/LDL/MATLAB
addpath SuiteSparse/BTF/MATLAB
addpath SuiteSparse/KLU/MATLAB
addpath SuiteSparse/SPQR/MATLAB
addpath SuiteSparse/RBio/RBio
addpath SuiteSparse/MATLAB_Tools
addpath SuiteSparse/MATLAB_Tools/Factorize
addpath SuiteSparse/MATLAB_Tools/MESHND
addpath SuiteSparse/MATLAB_Tools/LINFACTOR
addpath SuiteSparse/MATLAB_Tools/find_components
addpath SuiteSparse/MATLAB_Tools/GEE
addpath SuiteSparse/MATLAB_Tools/shellgui
addpath SuiteSparse/MATLAB_Tools/waitmex
addpath SuiteSparse/MATLAB_Tools/spqr_rank
addpath SuiteSparse/MATLAB_Tools/spqr_rank/SJget
addpath SuiteSparse/MATLAB_Tools/UFcollection
addpath SuiteSparse/MATLAB_Tools/SSMULT
addpath SuiteSparse/MATLAB_Tools/dimacs10
addpath SuiteSparse/MATLAB_Tools/spok
addpath SuiteSparse/MATLAB_Tools/sparseinv
- Installation sous Linux :
Dans le répertoire SuiteSparse :