##########################################################################
######## README for developer ##########
######## FAuST Toolbox ##########
######## Flexible Approximate Multi-Layer Sparse Transform ##########
##########################################################################
##########################################################################
General purpose:
The FAuST toolbox contains a C++ code implementing a general framework
designed to factorize matrices of interest into multiple sparse factors.
It contains a template CPU/GPU C++ code and a Matlab wrapper.
The algorithms implemented here are described in details in [1]- Le Magoarou
For more information on the FAuST Project, please visit the website of the
project: <http://faust.gforge.inria.fr>
##########################################################################
##########################################################################
Installation:
Please refer to the document "./gettingStartedFAuST-version2_0.pdf"
##########################################################################
##########################################################################
FAuST structure directory:
./CMake/
--> contains ".cmake" files used to execute some internal cmake
command as to find the path of the externals library, Matlab Path,
Python Path, ...
./externals/
--> contains the externals Library like Eigen, Openblas, ...
./gen_doc/
--> contains both user and developer documentation:
- Developer documentation with Doxygen tool
- User documentation with the getting Started intituled
"gettingStartedFAuST-versionX.pdf" in a LaTeX format in
./gen_doc/LaTeX for
./misc/
--> contains the tests (Ctest tool), the demonstrations, the data,
the configuration files, and the CTest_nightly tools for Continuous
Integration.
./src/
--> contains the C++ sources of the project
./wrapper/
--> contains the wrapper of the project (Matlab, Python, ...)
##########################################################################
##########################################################################
Documentation for developer: Doxygen
The Doxygen documentation is available in the following directory:
./gen_doc/
To build Doxygen documentation, build the project with following option:
cmake .. -DBUILD_DOCUMENTATION="ON"
The configuration of Doxygen are defined in the file ./gen_doc/Doxyfile.in
Main page of doxygen is available in following link :
./build/doc/html/index.html
##########################################################################
##########################################################################
Website of FAuST project:
To modify and/or update the website of the project FAuST, refer to
following README.txt file :
../website/README.txt
##########################################################################
##########################################################################
Integration Continue:
The Continuous Integration for the project FAUST is based on the CDASH tool
(see. http://www.cdash.org/). The building and test are available on the
public link:
http://cdash.inria.fr/CDash/index.php?project=faust
For more detail concerning C.I. (Virtual Machine, CDash, etc...), refer
to README.txt file in the following directory:
"./devcpp/misc/Ctest_nightly/README.txt"
##########################################################################
##########################################################################
Create Package of the FAuST toolbox with CPack tool:
CPack tool is used to generate the FAuST Package. CPack is configured in the
principal CMakeList.txt, at the end of the file.
Two types of package can be generated:
- Source package :
* Type following COMMAND in your build directory :
$ cmake ..
$ make package_source
* The FAuST source package is created in your build directory.
* It contains only the sources of the project (all the ./trunk/devcpp
directory, exept the directory defined by the otion :
set(CPACK_SOURCE_IGNORE_FILES "/build/;...).
* This package is working for multiplatform deployment.
- Binaries Packages :
* Type following COMMAND in your build directory :
$ cmake ..
$ make
$ sudo make install
$ sudo make package
* The FAuST binary package is created in your build directory.
* It contains only the files generated by "make install" as library
binarie file...
* This package is dependent to the platform used.
HELP : cf. https://cmake.org/Wiki/CMake:Packaging_With_CPack
##########################################################################
##########################################################################
License:
Copyright (2016): Luc Le Magoarou, Remi Gribonval,
Nicolas Bellot, Adrien Leman, Thomas Gautrais
INRIA Rennes, FRANCE
http://www.inria.fr/
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 <http://www.gnu.org/licenses/>.
##########################################################################
##########################################################################
Contacts:
Luc Le Magoarou: luc.le-magoarou@inria.fr
Remi Gribonval : remi.gribonval@inria.fr
Nicolas Bellot : nicolas.bellot@inria.fr
Adrien Leman : adrien.leman@inria.fr
Thomas Gautrais : thomas.gautrais@inria.fr
##########################################################################
##########################################################################
References:
[1] Le Magoarou L. and Gribonval R., "Flexible multi-layer sparse
approximations of matrices and applications", Journal of Selected
Topics in Signal Processing, 2016.
<https://hal.archives-ouvertes.fr/hal-01167948v1>
##########################################################################
\ No newline at end of file
##########################################################################
######## README for developer ##########
######## FAuST Toolbox ##########
######## Flexible Approximate Multi-Layer Sparse Transform ##########
##########################################################################
##########################################################################
General purpose:
The FAuST toolbox contains a C++ code implementing a general framework
designed to factorize matrices of interest into multiple sparse factors.
It contains a template CPU/GPU C++ code and a Matlab wrapper.
The algorithms implemented here are described in details in [1]- Le Magoarou
For more information on the FAuST Project, please visit the website of the
project: <http://faust.gforge.inria.fr>
##########################################################################
##########################################################################
Installation:
Please refer to the document "./gettingStartedFAuST-version2_0.pdf"
##########################################################################
##########################################################################
FAuST structure directory:
./CMake/
--> contains ".cmake" files used to execute some internal cmake
command as to find the path of the externals library, Matlab Path,
Python Path, ...
./externals/
--> contains the externals Library like Eigen, Openblas, ...
./gen_doc/
--> contains both user and developer documentation:
- Developer documentation with Doxygen tool
- User documentation with the getting Started intituled
"gettingStartedFAuST-versionX.pdf" in a LaTeX format in
./gen_doc/LaTeX for
./misc/
--> contains the tests (Ctest tool), the demonstrations, the data,
the configuration files, and the CTest_nightly tools for Continuous
Integration.
./src/
--> contains the C++ sources of the project
./wrapper/
--> contains the wrapper of the project (Matlab, Python, ...)
##########################################################################
##########################################################################
Graphics Processing Unit (GPU): Installation and information
A GPU version of the code is under development, it already shows some time
savings compared to the CPU code for certain computations, but is not
enough user-friendly and not easy to install to be in this release.
The most advanced development is currently on Linux, you can play with it
following the steps described in Section 5.2 of the document
"gettingStartedFAuST-version2_0.pdf".
Report any problem and/or suggestion to the mailing list
http://lists.gforge.inria.fr/pipermail/faust-install/.
INSTALLATION:
As a beta version, the FAµST toolbox integrates optional GPU
(Graphics Processing Unit) acceleration to improve its time performance.
Warning: Currently, this optional GPU install has only be implemented and
tested on a Linux machine. There is no guarantee that the installation and
the use will be effective for every system.
1- Install the CUDA Toolkit from NVIDIA website:
https://developer.nvidia.com/cuda-downloads.
2- Install the drivers for NVIDIA from NVIDIA website:
http://www.nvidia.fr/Download/index.aspx.
3- Verify install of GPU tools by typing in a terminal :
$ which nvcc
You must obtain the path of your nvcc compiler like
$ /usr/local/cuda-7.5/bin/nvcc
If not, add nvcc directory in your environment path (in your /.bashrc file).
When prerequisities listed in Section 2.1 of the document
"gettingStartedFAuST-version2_0.pdf" are checked, you can get the package FAµST.
1- Download the FAµST package on the website : http://faust.gforge.inria.fr/
2- Unzip the FAµST package into your FAµST directory.
3- Open a command terminal
4- Set the current directory to your FAµST directory (NOTE: do not use any special
character in your FAµST directory path, for example the character µ) and type :
$ mkdir build
$ cd build
$ cmake - DBUILD_USE_GPU ="ON" ..
$ make
$ sudo make install # run with administrator privilege
The FAµST Toolbox should be installed. Now, refer to Quick-Start Chapter 4 to check the
install and to try FAµST toolbox using GPU process.
INFORMATION:
##########################################################################
##########################################################################
Documentation for developer: Doxygen
The Doxygen documentation is available in the following directory:
./gen_doc/
To build Doxygen documentation, build the project with following option:
cmake .. -DBUILD_DOCUMENTATION="ON"
The configuration of Doxygen are defined in the file ./gen_doc/Doxyfile.in
Main page of doxygen is available in following link :
./build/doc/html/index.html
##########################################################################
##########################################################################
Website of FAuST project:
To modify and/or update the website of the project FAuST, refer to
following README.txt file :
../website/README.txt
##########################################################################
##########################################################################
Integration Continue:
The Continuous Integration for the project FAUST is based on the CDASH tool
(see. http://www.cdash.org/). The building and test are available on the
public link:
http://cdash.inria.fr/CDash/index.php?project=faust
For more detail concerning C.I. (Virtual Machine, CDash, etc...), refer
to README.txt file in the following directory:
"./devcpp/misc/Ctest_nightly/README.txt"
##########################################################################
##########################################################################
Create Package of the FAuST toolbox with CPack tool:
CPack tool is used to generate the FAuST Package. CPack is configured in the
principal CMakeList.txt, at the end of the file.
Two types of package can be generated:
- Source package :
* Type following COMMAND in your build directory :
$ cmake ..
$ make package_source
* The FAuST source package is created in your build directory.
* It contains only the sources of the project (all the ./trunk/devcpp
directory, exept the directory defined by the otion :
set(CPACK_SOURCE_IGNORE_FILES "/build/;...).
* This package is working for multiplatform deployment.
- Binaries Packages :
* Type following COMMAND in your build directory :
$ cmake ..
$ make
$ sudo make install
$ sudo make package
* The FAuST binary package is created in your build directory.
* It contains only the files generated by "make install" as library
binarie file...
* This package is dependent to the platform used.
HELP : cf. https://cmake.org/Wiki/CMake:Packaging_With_CPack
##########################################################################
##########################################################################
License:
Copyright (2016): Luc Le Magoarou, Remi Gribonval,
Nicolas Bellot, Adrien Leman, Thomas Gautrais
INRIA Rennes, FRANCE
http://www.inria.fr/
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 <http://www.gnu.org/licenses/>.
##########################################################################
##########################################################################
Contacts:
Luc Le Magoarou: luc.le-magoarou@inria.fr
Remi Gribonval : remi.gribonval@inria.fr
Nicolas Bellot : nicolas.bellot@inria.fr
Adrien Leman : adrien.leman@inria.fr
Thomas Gautrais : thomas.gautrais@inria.fr
##########################################################################
##########################################################################
References:
[1] Le Magoarou L. and Gribonval R., "Flexible multi-layer sparse
approximations of matrices and applications", Journal of Selected
Topics in Signal Processing, 2016.
<https://hal.archives-ouvertes.fr/hal-01167948v1>
##########################################################################