The FA$\mu$ST project is based on an C++ library available for both UNIX and Windows environments. CMake has been choose to build the project FA$\mu$ST because it is an open-source, cross-platform family of tools designed to build, test and package software (cf. website \url{https://cmake.org/}).
First section \ref{sec:UnixInstall}gives information about Unix installation and second section \ref{sec:WinInstall} corresponds to the Windows installation.
First section \ref{sec:UnixInstall}explains how to install the project FA$\mu$ST for UNIX platform and second section \ref{sec:WinInstall} corresponds to the Windows installation.
\section{Unix platform}\label{sec:UnixInstall}
\subsection{Prerequisities for installation}\label{sec:UnixPrerequisitiesInstall}
\paragraph{}The use of the mex function in Matlab require that you have a third-party compiler installed on your system. The latest version of Matlab (2016a in our case) only supports up to GCC 4.7 (see \url{http://fr.mathworks.com/support/compilers/R2016a/index.html?sec=glnxa64} for more detail). Please adjust your version of GCC compiler in order to run the installation properly.
\paragraph{}The use of the mex function in Matlab requires that you have a third-party compiler installed on your system. The latest version of Matlab (2016a in our case) only supports up to GCC 4.7 (see \url{http://fr.mathworks.com/support/compilers/R2016a/index.html?sec=glnxa64} for more detail). Please adjust your version of GCC compiler in order to run the installation properly.
\paragraph{}[OPTIONAL] The use of GPU process in FAUST project required the drivers for NVIDIA and CUDA install.
...
...
@@ -17,7 +17,7 @@ First section \ref{sec:UnixInstall} gives information about Unix installation an
\paragraph{}In your environment PATH, please add following components :
The project FAUST can be configured with optional parameters. They can be activated in the principal CMakeList.txt file, or directly by the cmake command line
The project FAUST can be configured with optional parameters. They can be activated in the principal CMakeList.txt file, or directly using the cmake command line
\item BUILD\_READ\_MAT\_FILE : Using matio library to read mat files (default value is OFF)
\end{itemize}
Following the selected option, the cmake installer automatically check the dependent component (OpenBlas, eigen, matio, libxml2).
Following the selected option, the cmake installer automatically checks the dependent component (library OpenBlas, eigen, matio, libxml2).
\section{Windows platform}\label{sec:WinInstall}
...
...
@@ -72,35 +72,36 @@ The installation of the FA$\mu$ST project depends on other components to be inst
\begin{enumerate}
\item\textbf{Install CMake} for building the FAUST project.
In \url{https://cmake.org/download/}, download Binary distributions correspond to your environment (in our case cmake-3.6.1-win64-x64.zip)
In \url{https://cmake.org/download/}, download Binary distributions correspond to your environment (in our case cmake-3.6.1-win64-x64.zip)
The directory of binary must be add to the environment PATH.
\item\textbf{Install 7-Zip}\url{http://www.7-zip.org/} . 7-Zip is a file archiver used for external library
\item\textbf{Install Matlab} if not already done (MATLAB R2015b in our case).
Note for the case of the use of compiler MinGW : In Matlab, you must install MinGW version 4.9.2 from MATLAB using the ADDON menu. For more detail, please follow the instruction give in following link :
\url{http://fr.mathworks.com/help/matlab/matlab_external/install-mingw-support-package.html}. For that you must have a id session for Mathwork. It is easy to create.
Note for the case of the use of compiler MinGW : In Matlab, you must install MinGW version 4.9.2 from MATLAB using the \textbf{ADDON menu}. For more detail, please follow the instruction given in following link :
\url{http://fr.mathworks.com/help/matlab/matlab_external/install-mingw-support-package.html}. For that, you must have a id session for Mathwork. It is easy to create.
Current this latest step, an environment variable called MW\_MINGW64\_LOC is automatically generated.
\item\textbf{Install C++ Compiler:} Both \textbf{Microsoft visual C++} and \textbf{MinGW "Minimalist GNU for Windows"} compiler have been tested. The version of this compilers must be coherent with the version of your Matlab version. Here is the compiler installation corresponding to Matlab 2014 and 2015. If you use an others versions of matlab, please refers to the Mathworks website \url{http://fr.mathworks.com/support/compilers/<R20XXa>}.
\item\textbf{Install C++ Compiler:} Both \textbf{Microsoft visual C++} and \textbf{MinGW "Minimalist GNU for Windows"} compiler have been tested. The version of this compilers must be coherent with the version of your Matlab version. Here is the compiler installation corresponding to Matlab 2014 and 2015. If you use an other version of Matlab, please refers to the Mathworks website \url{http://fr.mathworks.com/support/compilers/<R20XXa>}.
\paragraph{}In the case of\textbf{Microsoft visual C++} :
Launch install file and choose MINGW version 4.9.2 for mexFunction compatibility
The directory of binary must be add to the environment PATH.
\paragraph{}For \textbf{MinGW} installation :
\begin{itemize}
\item Download Mingw in \url{https://sourceforge.net/projects/mingw/files/latest/download?source=files}
\item Launch install file and choose MINGW version 4.9.2 for mexFunction compatibility
\item The directory of binary must be add to the environment PATH.
\item Note for make tool : In a terminal command, type "make". if it doesn't exist, please check if make.exe is present in MINGW install directory. if not, you can copy and rename mingw32-make.exe to make.exe
\end{itemize}
Note for make tool : In a terminal command, type "make". if it doesn't exist, please check if make.exe is present in MINGW install directory.
if not, you can copy and rename mingw32-make.exe to make.exe
\item In your environment PATH, please verify and add following components :
\paragraph{Presentation}FA$\mu$ST is a C++ toolbox, useful to decompose a given dense matrix into a product of sparse matrices in order to reduce its computational complexity (both for storage and manipulation).
\paragraph{Presentation: }FA$\mu$ST is a C++ toolbox, useful to decompose a given dense matrix into a product of sparse matrices in order to reduce its computational complexity (both for storage and manipulation).
FA$\mu$ST can be used to speed up iterative algorithms commonly used for solving high dimensional linear inverse problems. The algorithms implemented in the toolbox are described in details in Le Magoarou \cite{LeMagoarou2016}.
The FA$\mu$ST toolbox is delivered with a Matlab wrapper.
For more information on the FAuST Project, please visit the website of the project: \url{http://faust.gforge.inria.fr}.
\paragraph{License}
Copyright (2016) Luc Le Magoarou, Remi Gribonval INRIA Rennes, FRANCE
\paragraph{License: }Copyright (2016) Luc Le Magoarou, Remi Gribonval INRIA Rennes, FRANCE
\begin{center}
\url{http://www.inria.fr/}
\end{center}
The FAuST Toolbox is distributed under the terms of the GNU Affero General Public License. This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see \url{http://www.gnu.org/licenses/}.
\paragraph{Organization} The section \ref{sec:install} present the installation of the library FA$\mu$ST, the section \ref{sec:firstUse} show quickly how to used this library and finally an example is proposed in section \ref{sec:example}.
\ No newline at end of file
\paragraph{Organization: }The chapter \ref{sec:install} present the installation of the library FA$\mu$ST, the chapter \ref{sec:firstUse} show quickly how to used this library and finally an example is proposed in chapter \ref{sec:example}.