Mentions légales du service

Skip to content
Snippets Groups Projects
Commit c62a6ac6 authored by hhakim's avatar hhakim
Browse files

Fix minor bugs in GPU tests + update to gpu_mod@4408485d.

parent 4ef36643
Branches
Tags
No related merge requests found
Pipeline #850467 failed
...@@ -685,23 +685,27 @@ if(BUILD_MULTITHREAD) ...@@ -685,23 +685,27 @@ if(BUILD_MULTITHREAD)
endif() endif()
if(USE_GPU_MOD) if(USE_GPU_MOD)
# TODO: test existence of build-cu9.2 # TODO: it must be a cmake variable if (DEFINED ENV{CUDA_VERSIONS})
set(CUDA_VERSIONS $ENV{CUDA_VERSIONS})
else()
# default versions
set(CUDA_VERSIONS cu11.4)
set(CUDA_VERSIONS cu12.1;cu11.4)
endif()
# TODO: test existence of build-cuX.X # TODO: it must be a cmake variable
# the headers for gpu_mod are the same for any version of cuda # the headers for gpu_mod are the same for any version of cuda
include_directories(${FAUST_TARGET} ${GPU_MOD_INCLUDE_DIR} ${GPU_MOD_INCLUDE_DIR}/../build-cu11.4) file(GLOB GPU_MOD_BUILD_DIR "${GPU_MOD_INCLUDE_DIR}/../build*")
list(GET GPU_MOD_BUILD_DIR 0 GPU_MOD_BUILD_DIR)
include_directories(${FAUST_TARGET} ${GPU_MOD_INCLUDE_DIR} ${GPU_MOD_BUILD_DIR})
include_directories(${FAUST_TARGET} ${FAUST_SRC_LINEAR_OPERATOR_GPU2_DIR}) include_directories(${FAUST_TARGET} ${FAUST_SRC_LINEAR_OPERATOR_GPU2_DIR})
target_include_directories(${FAUST_TARGET} PUBLIC ${GPU_MOD_INCLUDE_DIR} ${GPU_MOD_INCLUDE_DIR}/../build-cu11.4) target_include_directories(${FAUST_TARGET} PUBLIC ${GPU_MOD_INCLUDE_DIR} ${GPU_MOD_BUILD_DIR})
target_link_libraries(${FAUST_TARGET} ${GPU_MOD_LIBS}) target_link_libraries(${FAUST_TARGET} ${GPU_MOD_LIBS})
if(UNIX) if(UNIX)
target_link_libraries(${FAUST_TARGET} dl) target_link_libraries(${FAUST_TARGET} dl)
endif(UNIX) endif(UNIX)
# TODO: used versions of CUDA and include dir should be CMake variables # TODO: used versions of CUDA and include dir should be CMake variables
# do not support CUDA 9.2 on Windows (require too old version VS <= 2017) # do not support CUDA 9.2 on Windows (require too old version VS <= 2017)
if (DEFINED ENV{CUDA_VERSIONS})
set(CUDA_VERSIONS $ENV{CUDA_VERSIONS})
else()
set(CUDA_VERSIONS cu11.4)
set(CUDA_VERSIONS cu12.1;cu11.4)
endif()
foreach(CUDA_CONF IN LISTS CUDA_VERSIONS) foreach(CUDA_CONF IN LISTS CUDA_VERSIONS)
string(REGEX REPLACE "\\." "-${CUDA_CONF}." GPU_MOD_LIB_CUDA_CONF ${GPU_MOD_LIB}) string(REGEX REPLACE "\\." "-${CUDA_CONF}." GPU_MOD_LIB_CUDA_CONF ${GPU_MOD_LIB})
# if ${GPU_MOD_LIB} is already a symlink, then we've already gone through it, skip # if ${GPU_MOD_LIB} is already a symlink, then we've already gone through it, skip
......
Subproject commit 47ad960169c5920c2b34da272171012f4a7850b8 Subproject commit 4408485df920f55f64118ada65533316d5ab338a
...@@ -45,8 +45,7 @@ int main(int argc, const char** argv) ...@@ -45,8 +45,7 @@ int main(int argc, const char** argv)
} }
// CONSTRAINT_NAME_SPLINCOL // CONSTRAINT_NAME_SPLINCOL
// CONSTRAINT_NAME_SP // CONSTRAINT_NAME_SP
// const string MatrixFilename = "@FAUST_DATA_MAT_DIR@/matrix_MEG.mat"; const string MatrixFilename = "@FAUST_DATA_MAT_DIR@/matrix_MEG.mat";
const string MatrixFilename = "matrix_MEG.mat";
Faust::MatDense<double,Cpu> MEG; Faust::MatDense<double,Cpu> MEG;
#if(!defined(ON_CPU) && defined(USE_GPU_MOD)) #if(!defined(ON_CPU) && defined(USE_GPU_MOD))
Faust::MatDense<double,GPU2> gpu_MEG; Faust::MatDense<double,GPU2> gpu_MEG;
......
...@@ -95,12 +95,10 @@ int main(int argc, char* argv[]) ...@@ -95,12 +95,10 @@ int main(int argc, char* argv[])
cout<<"floating point precision == float"<<endl; cout<<"floating point precision == float"<<endl;
} }
Faust::enable_gpu_mod(); Faust::enable_gpu_mod();
//default value //default value
// string configFilename = "@FAUST_CONFIG_MAT_DIR@/config_hierarchical_fact.mat"; string configFilename = "@FAUST_CONFIG_MAT_DIR@/config_hierarchical_fact.mat";
// string MatrixFilename = "@FAUST_DATA_MAT_DIR@/matrix_hierarchical_fact.mat"; string MatrixFilename = "@FAUST_DATA_MAT_DIR@/matrix_hierarchical_fact.mat";
string configFilename = "config_hierarchical_fact.mat";
string MatrixFilename = "matrix_hierarchical_fact.mat";
if (argc >= 3) if (argc >= 3)
{ {
......
...@@ -17,10 +17,6 @@ ...@@ -17,10 +17,6 @@
#include <random> #include <random>
#include <vector> #include <vector>
/**
* \brief Unit tests for Faust::MatDense<FPP, GPU2>.
*/
typedef @TEST_FPP@ FPP; typedef @TEST_FPP@ FPP;
using namespace std; using namespace std;
...@@ -526,7 +522,7 @@ void test_eltwise_mul_ids_vec() ...@@ -526,7 +522,7 @@ void test_eltwise_mul_ids_vec()
for(int j=0; j < cpu_mat->getNbCol(); j++) for(int j=0; j < cpu_mat->getNbCol(); j++)
{ {
auto test_elt = cpu_mat_out.getData()[j*cpu_mat_out.getNbRow()+i]; auto test_elt = cpu_mat_out.getData()[j*cpu_mat_out.getNbRow()+i];
auto ref_elt = cpu_mat->getData()[j*cpu_mat->getNbRow()+i] * v_cpu[ids[i]]; auto ref_elt = cpu_mat->getData()[j*cpu_mat->getNbRow()+ids[i]] * v_cpu[i];
assert(std::abs(test_elt - ref_elt) < 1e-6); assert(std::abs(test_elt - ref_elt) < 1e-6);
} }
delete cpu_mat; delete cpu_mat;
......
...@@ -9,7 +9,9 @@ endif() ...@@ -9,7 +9,9 @@ endif()
if(USE_GPU_MOD) if(USE_GPU_MOD)
include_directories(${GPU_MOD_INCLUDE_DIR} ${GPU_MOD_INCLUDE_DIR}/../build-cu11.4) file(GLOB GPU_MOD_BUILD_DIR "${GPU_MOD_INCLUDE_DIR}/../build*")
list(GET GPU_MOD_BUILD_DIR 0 GPU_MOD_BUILD_DIR)
include_directories(${GPU_MOD_INCLUDE_DIR} ${GPU_MOD_BUILD_DIR})
include_directories(${FAUST_SRC_LINEAR_OPERATOR_GPU2_DIR}) include_directories(${FAUST_SRC_LINEAR_OPERATOR_GPU2_DIR})
endif() endif()
include_directories(${FAUST_SRC_LINEAR_OPERATOR_DIR} ${FAUST_LINEAR_OPERATOR_CPU_SRC_DIR} ${FAUST_ALGORITHM_CONSTRAINT_SRC_DIR} ${FAUST_ALGORITHM_FACTORIZATION_SRC_DIR} ${FAUST_UTILS_SRC_DIR} ${EIGEN_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} ${FAUST_UTILS_SRC_DIR} ${EIGEN_INC_DIR})
......
...@@ -110,7 +110,9 @@ endforeach() ...@@ -110,7 +110,9 @@ endforeach()
file(GLOB CPP_MEXTOOLS_FILES "${FAUST_MATLAB_TOOLS_SRC_DIR}/*.cpp") file(GLOB CPP_MEXTOOLS_FILES "${FAUST_MATLAB_TOOLS_SRC_DIR}/*.cpp")
include_directories(${FAUST_MATLAB_TOOLS_SRC_DIR} ${MATLAB_INCLUDE_DIR}) include_directories(${FAUST_MATLAB_TOOLS_SRC_DIR} ${MATLAB_INCLUDE_DIR})
if(USE_GPU_MOD) if(USE_GPU_MOD)
include_directories(${FAUST_SRC_LINEAR_OPERATOR_GPU2_DIR} ${GPU_MOD_INCLUDE_DIR} ${GPU_MOD_INCLUDE_DIR}/../build-cu11.4) file(GLOB GPU_MOD_BUILD_DIR "${GPU_MOD_INCLUDE_DIR}/../build*")
list(GET GPU_MOD_BUILD_DIR 0 GPU_MOD_BUILD_DIR)
include_directories(${FAUST_SRC_LINEAR_OPERATOR_GPU2_DIR} ${GPU_MOD_INCLUDE_DIR} ${GPU_MOD_BUILD_DIR})
endif() endif()
add_library(${FAUST_MEXTOOLS_TARGET} OBJECT ${CPP_MEXTOOLS_FILES}) add_library(${FAUST_MEXTOOLS_TARGET} OBJECT ${CPP_MEXTOOLS_FILES})
target_compile_definitions(${FAUST_MEXTOOLS_TARGET} PRIVATE MATLAB_DEFAULT_RELEASE=R2018a) #R2017b) # for complex (deprecated) separate complex API target_compile_definitions(${FAUST_MEXTOOLS_TARGET} PRIVATE MATLAB_DEFAULT_RELEASE=R2018a) #R2017b) # for complex (deprecated) separate complex API
......
...@@ -196,7 +196,9 @@ if(BUILD_FLOAT_PYX) ...@@ -196,7 +196,9 @@ if(BUILD_FLOAT_PYX)
endif() endif()
if(USE_GPU_MOD) if(USE_GPU_MOD)
set(FAUST_PYTHON_INCLUDE_DIR "${FAUST_PYTHON_INCLUDE_DIR}, '${GPU_MOD_INCLUDE_DIR}', '${GPU_MOD_INCLUDE_DIR}/../build-cu11.4/', '${FAUST_SRC_LINEAR_OPERATOR_GPU2_DIR}'") file(GLOB GPU_MOD_BUILD_DIR "${GPU_MOD_INCLUDE_DIR}/../build*")
list(GET GPU_MOD_BUILD_DIR 0 GPU_MOD_BUILD_DIR)
set(FAUST_PYTHON_INCLUDE_DIR "${FAUST_PYTHON_INCLUDE_DIR}, '${GPU_MOD_INCLUDE_DIR}', '${GPU_MOD_BUILD_DIR}', '${FAUST_SRC_LINEAR_OPERATOR_GPU2_DIR}'")
set(FAUST_SETUP_PY_CFLAGS "${FAUST_SETUP_PY_CFLAGS}, '-DUSE_GPU_MOD'") set(FAUST_SETUP_PY_CFLAGS "${FAUST_SETUP_PY_CFLAGS}, '-DUSE_GPU_MOD'")
set(GPU_MOD_LIB_PPATH ${FAUST_PYTHON_BIN_DIR}/pyfaust/lib) set(GPU_MOD_LIB_PPATH ${FAUST_PYTHON_BIN_DIR}/pyfaust/lib)
...@@ -405,7 +407,7 @@ add_library(${PY_CPP_TARGET} STATIC ${PY_CPP_FILES}) ...@@ -405,7 +407,7 @@ add_library(${PY_CPP_TARGET} STATIC ${PY_CPP_FILES})
set(FAUST_PYTHON_LIBS "${FAUST_PYTHON_LIBS},'${PY_CPP_TARGET}'") set(FAUST_PYTHON_LIBS "${FAUST_PYTHON_LIBS},'${PY_CPP_TARGET}'")
target_include_directories(${PY_CPP_TARGET} PRIVATE ${FAUST_PYTHON_SRC_SRC_DIR}) # py include dir is set later target_include_directories(${PY_CPP_TARGET} PRIVATE ${FAUST_PYTHON_SRC_SRC_DIR}) # py include dir is set later
if(USE_GPU_MOD) if(USE_GPU_MOD)
target_include_directories(${PY_CPP_TARGET} PRIVATE ${GPU_MOD_INCLUDE_DIR} PRIVATE ${GPU_MOD_INCLUDE_DIR}/../build-cu11.4/ PRIVATE ${FAUST_SRC_LINEAR_OPERATOR_GPU2_DIR}) target_include_directories(${PY_CPP_TARGET} PRIVATE ${GPU_MOD_INCLUDE_DIR} PRIVATE ${GPU_MOD_BUILD_DIR} PRIVATE ${FAUST_SRC_LINEAR_OPERATOR_GPU2_DIR})
target_compile_definitions(${PY_CPP_TARGET} PRIVATE -DUSE_GPU_MOD) target_compile_definitions(${PY_CPP_TARGET} PRIVATE -DUSE_GPU_MOD)
endif() endif()
if(BUILD_FLOAT_PYX) if(BUILD_FLOAT_PYX)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment