Mentions légales du service

Skip to content
Snippets Groups Projects
Commit dd70163d authored by Adrien Leman's avatar Adrien Leman Committed by hhakim
Browse files

modif AL doc latex doc GPU

parent c56cd213
No related branches found
No related tags found
No related merge requests found
......@@ -628,8 +628,8 @@ file(GLOB CPP_FILES "${FAUST_ALGORITHM_CONSTRAINT_SRC_DIR}/*.cpp" "${FAUST_ALGOR
### include directory
include_directories(${FAUST_SRC_LINEAR_OPERATOR_DIR} ${FAUST_LINEAR_OPERATOR_CPU_SRC_DIR} ${EIGEN_INC_DIR})
if (BUILD_USE_GPU)
#include_directories(${FAUST_SRC_LINEAR_OPERATOR_GPU_DIR} ${CUDA_INC_DIR} ${CUDA_RUNTIME_API_INC_DIR} ${CUSPARSE_INC_DIR} ${CUBLAS_V2_INC_DIR})
include_directories(${FAUST_SRC_LINEAR_OPERATOR_GPU_DIR})
include_directories(${FAUST_SRC_LINEAR_OPERATOR_GPU_DIR} ${CUDA_INC_DIR} ${CUDA_RUNTIME_API_INC_DIR} ${CUSPARSE_INC_DIR} ${CUBLAS_V2_INC_DIR})
#include_directories(${FAUST_SRC_LINEAR_OPERATOR_GPU_DIR})
endif()
if(BUILD_OPENBLAS)
include_directories(${OPENBLAS_INC_DIR})
......
########################################################################## ######## 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: When optional parameter BUILD_USE_GPU ="ON" is ON, CPU and GPU processor are used. CMake files include both ./src/faust_linear_operator/CPU and ./src/faust_linear_operator/GPU files. In main Cmakelist.txt some components must be include: include_directories(${FAUST_SRC_LINEAR_OPERATOR_GPU_DIR} ${CUDA_INC_DIR} ${CUDA_RUNTIME_API_INC_DIR} ${CUSPARSE_INC_DIR} ${CUBLAS_V2_INC_DIR}) - source code - In case of GPU, the "CUDA" library called FAUST_LINEAR_OPERATOR_GPU_TARGET is generated contrary to others OBJECT library. ########################################################################## ########################################################################## 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). 4- Verify install of GPU library by typing in a terminal: $ echo $CUDADIR You must obtain the path of your cuda directory like $ /usr/local/cuda-7.5 If not, export CUDADIR (in your /.bashrc file). export CUDADIR=/usr/local/cuda-7.5 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: When optional parameter BUILD_USE_GPU ="ON" is ON, CPU and GPU processor are used. CMake files include both ./src/faust_linear_operator/CPU and ./src/faust_linear_operator/GPU files. Environment variable CUDADIR=/usr/local/cuda-7.5 must be declared in view to find the following externals GPU library (cf. ./Cmake/findExternalLibs.cmake) check_external_libraries(cublas CUBLAS_LIB_FILE 1) check_external_libraries(cudart CUDART_LIB_FILE 1) check_external_libraries(cusparse CUSPARSE_LIB_FILE 1) check_external_includes("cublas_v2.h" CUBLAS_V2_INC_DIR 1) check_external_includes("cusparse.h" CUSPARSE_INC_DIR 1) check_external_includes("cuda.h" CUDA_INC_DIR 1) check_external_includes("cuda_runtime_api.h" CUDA_RUNTIME_API_INC_DIR 1) In case of GPU, the "CUDA" library called FAUST_LINEAR_OPERATOR_GPU_TARGET is generated contrary to others OBJECT library. ########################################################################## ########################################################################## 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
......
......@@ -59,7 +59,23 @@ You must obtain the path of your \texttt{nvcc} compiler like
\begin{lstlisting}
/usr/local/cuda-7.5/bin/nvcc
\end{lstlisting}
If not, add \texttt{nvcc} directory in your environment path (in your ~/.bashrc file).
If not, add \texttt{nvcc} directory in your environment path (in your ~/.bashrc file).
\item \textbf{Verify install of GPU library} by typing in a terminal:
\begin{lstlisting}
> echo CUDADIR
\end{lstlisting}
You must obtain the path of your cuda directory like
\begin{lstlisting}
/usr/local/cuda-7.5
\end{lstlisting}
If not, export CUDADIR (in your .bashrc file for example).
\begin{lstlisting}
export CUDADIR=/usr/local/cuda-7.5
\end{lstlisting}
\end{itemize}
When prerequisities listed in Section \ref{sec:RequiredTools} are checked, you can get the package FA$\mu$ST.
......
......@@ -26,6 +26,7 @@ add_definitions(-DEIGEN_MPL2_ONLY)
#${FAUST_SRC_LINEAR_OPERATOR_DIR} ${FAUST_LINEAR_OPERATOR_CPU_SRC_DIR} ${FAUST_SRC_LINEAR_OPERATOR_GPU_DIR}
include_directories( ${FAUST_SRC_LINEAR_OPERATOR_DIR} ${FAUST_LINEAR_OPERATOR_CPU_SRC_DIR} ${FAUST_ALGORITHM_CONSTRAINT_SRC_DIR} ${FAUST_ALGORITHM_FACTORIZATION_SRC_DIR} ${EIGEN_INC_DIR} ${CUDA_INC_DIR} ${CUDA_RUNTIME_API_INC_DIR} ${CUSPARSE_INC_DIR} ${CUBLAS_V2_INC_DIR})
#include_directories( ${FAUST_SRC_LINEAR_OPERATOR_DIR} ${FAUST_LINEAR_OPERATOR_CPU_SRC_DIR} ${FAUST_ALGORITHM_CONSTRAINT_SRC_DIR} ${FAUST_ALGORITHM_FACTORIZATION_SRC_DIR} ${EIGEN_INC_DIR})
#if(BUILD_OPENBLAS)
# include_directories( ${OPENBLAS_INC_DIR} )
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment