Skip to content

Commit

Permalink
Merge pull request #14 from SC-SGS/develop
Browse files Browse the repository at this point in the history
Update main
  • Loading branch information
breyerml authored Mar 9, 2022
2 parents 9548b19 + 5b2706c commit db15b40
Show file tree
Hide file tree
Showing 36 changed files with 1,551 additions and 533 deletions.
10 changes: 5 additions & 5 deletions .jenkins/Jenkinsfile-multigpu-tests
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ pipeline {
source /scratch/jenkins/spack/share/spack/setup-env.sh && spack load [email protected] &&\
module load cuda/11.2.2 &&\
module use /home/breyerml/.modulefiles/ &&\
module load pcsgs05/hipsycl_20_11_16 &&\
module load plssvm/argon-gtx/hipsycl &&\
mkdir -p build/Release_hip &&\
cd build/Release_hip &&\
rm -rf * &&\
Expand All @@ -166,7 +166,7 @@ pipeline {
srun -w argon-gtx -N 1 -n 1 -t 01:00:00 -D /scratch/jenkins/plssvm/${BUILD_TAG}/PLSSVM --gres=gpu:2 bash -c "\
module load cuda/11.2.2 &&\
module use /home/breyerml/.modulefiles/ &&\
module load pcsgs05/hipsycl_20_11_16 &&\
module load plssvm/argon-gtx/hipsycl &&\
cd build/Release_hip &&\
ctest -j4 --no-compress-output -T Test --timeout 1200; \
returncode=$? && \
Expand All @@ -189,11 +189,11 @@ pipeline {
source /scratch/jenkins/spack/share/spack/setup-env.sh && spack load [email protected] &&\
module load cuda/11.2.2 &&\
module use /home/breyerml/.modulefiles/ &&\
module load pcsgs05/dpcpp_2022_01_18 &&\
module load plssvm/argon-gtx/dpcpp &&\
mkdir -p build/Release_dpcpp &&\
cd build/Release_dpcpp &&\
rm -rf * &&\
cmake -DCMAKE_BUILD_TYPE=Release -DPLSSVM_TARGET_PLATFORMS='cpu;nvidia:sm_61' -DCMAKE_CXX_COMPILER=clang++ -DPLSSVM_ENABLE_OPENMP_BACKEND=OFF -DPLSSVM_ENABLE_CUDA_BACKEND=ON -DPLSSVM_ENABLE_OPENCL_BACKEND=OFF -DPLSSVM_ENABLE_SYCL_BACKEND=ON -DPLSSVM_ENABLE_ASSERTS=ON -DPLSSVM_ENABLE_LTO=OFF -S ../../ &&\
cmake -DCMAKE_BUILD_TYPE=Release -DPLSSVM_TARGET_PLATFORMS='nvidia:sm_61' -DCMAKE_CXX_COMPILER=clang++ -DPLSSVM_ENABLE_OPENMP_BACKEND=OFF -DPLSSVM_ENABLE_CUDA_BACKEND=ON -DPLSSVM_ENABLE_OPENCL_BACKEND=OFF -DPLSSVM_ENABLE_SYCL_BACKEND=ON -DPLSSVM_ENABLE_ASSERTS=ON -DPLSSVM_ENABLE_LTO=OFF -S ../../ &&\
make -j4 "
'''
}
Expand All @@ -207,7 +207,7 @@ pipeline {
srun -w argon-gtx -N 1 -n 1 -t 01:00:00 -D /scratch/jenkins/plssvm/${BUILD_TAG}/PLSSVM --gres=gpu:2 bash -c "\
module load cuda/11.2.2 &&\
module use /home/breyerml/.modulefiles/ &&\
module load pcsgs05/dpcpp_2022_01_18 &&\
module load plssvm/argon-gtx/dpcpp &&\
cd build/Release_dpcpp &&\
ctest -j4 --no-compress-output -T Test --timeout 1200; \
returncode=$? && \
Expand Down
24 changes: 10 additions & 14 deletions .jenkins/Jenkinsfile-tests
Original file line number Diff line number Diff line change
Expand Up @@ -112,9 +112,8 @@ pipeline {
steps {
dir('plssvm') {
sh '''
module load cuda/11.2.2
module use /home/breyerml/.modulefiles/
module load pcsgs05/hipsycl_20_11_16
module load network_hipsycl_cuda
mkdir -p build/Release_hip
cd build/Release_hip
rm -rf *
Expand All @@ -129,9 +128,8 @@ pipeline {
dir('plssvm') {
warnError('hipSYCL Release tests failed!') {
sh '''
module load cuda/11.2.2
module use /home/breyerml/.modulefiles/
module load pcsgs05/hipsycl_20_11_16
module load network_hipsycl_cuda
cd build/Release_hip
ctest -j4 --no-compress-output -T Test
'''
Expand All @@ -143,13 +141,12 @@ pipeline {
steps {
dir('plssvm') {
sh '''
module load cuda/11.2.2
module use /home/breyerml/.modulefiles/
module load pcsgs05/dpcpp_2022_01_18
module load network_dpcpp_cuda
mkdir -p build/Release_dpcpp
cd build/Release_dpcpp
rm -rf *
/import/sgs.scratch/vancraar/spack/opt/spack/linux-ubuntu20.04-cascadelake/clang-12.0.0/cmake-3.20.2-z3urlvzqm5igtwxj25nnd5olciuq7ayb/bin/cmake -DCMAKE_BUILD_TYPE=Release -DPLSSVM_TARGET_PLATFORMS="cpu;nvidia:sm_80" -DCMAKE_CXX_COMPILER=clang++ -DPLSSVM_ENABLE_OPENMP_BACKEND=OFF -DPLSSVM_ENABLE_CUDA_BACKEND=ON -DPLSSVM_ENABLE_OPENCL_BACKEND=OFF -DPLSSVM_ENABLE_SYCL_BACKEND=ON -DPLSSVM_ENABLE_ASSERTS=ON ../../
/import/sgs.scratch/vancraar/spack/opt/spack/linux-ubuntu20.04-cascadelake/clang-12.0.0/cmake-3.20.2-z3urlvzqm5igtwxj25nnd5olciuq7ayb/bin/cmake -DCMAKE_BUILD_TYPE=Release -DPLSSVM_TARGET_PLATFORMS="nvidia:sm_80" -DCMAKE_CXX_COMPILER=clang++ -DPLSSVM_ENABLE_OPENMP_BACKEND=OFF -DPLSSVM_ENABLE_CUDA_BACKEND=ON -DPLSSVM_ENABLE_OPENCL_BACKEND=OFF -DPLSSVM_ENABLE_SYCL_BACKEND=ON -DPLSSVM_ENABLE_ASSERTS=ON ../../
make -j4
'''
}
Expand All @@ -160,9 +157,8 @@ pipeline {
dir('plssvm') {
warnError('DPC++ Release tests failed!') {
sh '''
module load cuda/11.2.2
module use /home/breyerml/.modulefiles/
module load pcsgs05/dpcpp_2022_01_18
module load network_dpcpp_cuda
cd build/Release_dpcpp
ctest -j4 --no-compress-output -T Test
'''
Expand Down Expand Up @@ -191,9 +187,8 @@ pipeline {
steps {
dir('plssvm') {
sh '''
module load cuda/11.2.2
module use /home/breyerml/.modulefiles/
module load pcsgs05/hipsycl_20_11_16
module load network_hipsycl_cuda
mkdir -p build/Debug_hip
cd build/Debug_hip
rm -rf *
Expand All @@ -203,22 +198,23 @@ pipeline {
}
}
}
/*
stage('build plssvm DPC++ Debug') {
steps {
dir('plssvm') {
sh '''
module load cuda/11.2.2
module use /home/breyerml/.modulefiles/
module load pcsgs05/dpcpp_2022_01_18
module load network_dpcpp_cuda
mkdir -p build/Debug_dpcpp
cd build/Debug_dpcpp
rm -rf *
/import/sgs.scratch/vancraar/spack/opt/spack/linux-ubuntu20.04-cascadelake/clang-12.0.0/cmake-3.20.2-z3urlvzqm5igtwxj25nnd5olciuq7ayb/bin/cmake -DCMAKE_BUILD_TYPE=Debug -DPLSSVM_TARGET_PLATFORMS="cpu;nvidia:sm_80" -DCMAKE_CXX_COMPILER=clang++ -DPLSSVM_ENABLE_OPENMP_BACKEND=OFF -DPLSSVM_ENABLE_CUDA_BACKEND=ON -DPLSSVM_ENABLE_OPENCL_BACKEND=OFF -DPLSSVM_ENABLE_SYCL_BACKEND=ON ../../
/import/sgs.scratch/vancraar/spack/opt/spack/linux-ubuntu20.04-cascadelake/clang-12.0.0/cmake-3.20.2-z3urlvzqm5igtwxj25nnd5olciuq7ayb/bin/cmake -DCMAKE_BUILD_TYPE=Debug -DPLSSVM_TARGET_PLATFORMS="nvidia:sm_80" -DCMAKE_CXX_COMPILER=clang++ -DPLSSVM_ENABLE_OPENMP_BACKEND=OFF -DPLSSVM_ENABLE_CUDA_BACKEND=ON -DPLSSVM_ENABLE_OPENCL_BACKEND=OFF -DPLSSVM_ENABLE_SYCL_BACKEND=ON ../../
make -j4
'''
}
}
}
*/
}
post {
always {
Expand Down
20 changes: 11 additions & 9 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@

cmake_minimum_required(VERSION 3.18)

project("PLSSVM - Parallel Least-Squares Support Vector Machine"
VERSION 1.0.1
project("PLSSVM - Parallel Least Squares Support Vector Machine"
VERSION 1.1.0
LANGUAGES CXX
DESCRIPTION "A Support Vector Machine implementation using different backends.")
DESCRIPTION "A Least Squares Support Vector Machine implementation using different backends.")


include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/add_custom_build_type.cmake)
Expand Down Expand Up @@ -39,6 +39,7 @@ set(PLSSVM_BASE_SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/src/plssvm/parameter_predict.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/plssvm/parameter_train.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/plssvm/target_platforms.cpp
${CMAKE_CURRENT_LIST_DIR}/src/plssvm/backends/SYCL/kernel_invocation_type.cpp
)

## create base library: linked against all backend libraries
Expand Down Expand Up @@ -255,28 +256,29 @@ foreach(PLSSVM_PLATFORM ${PLSSVM_TARGET_PLATFORMS})
if(PLSSVM_PLATFORM MATCHES "^cpu")
# parse provided CPU architectures
parse_architecture_info(${PLSSVM_PLATFORM} PLSSVM_CPU_TARGET_ARCHS PLSSVM_NUM_CPU_TARGET_ARCHS)
if(NOT PLSSVM_NUM_CPU_TARGET_ARCHS EQUAL 0)
message(FATAL_ERROR "Target platform \"cpu\" must not have any architecture specifications!")
if(PLSSVM_NUM_CPU_TARGET_ARCHS GREATER 1)
message(FATAL_ERROR "Target platform \"cpu\" must at most have one architecture specification!")
endif()
target_compile_definitions(${PLSSVM_BASE_LIBRARY_NAME} PUBLIC PLSSVM_HAS_CPU_TARGET)
elseif(PLSSVM_PLATFORM MATCHES "^nvidia")
# parse provided NVIDIA GPU architectures
parse_architecture_info(${PLSSVM_PLATFORM} PLSSVM_NVIDIA_TARGET_ARCHS PLSSVM_NUM_NVIDIA_TARGET_ARCHS)
if(PLSSVM_NUM_NVIDIA_TARGET_ARCHS EQUAL 0)
message(FATAL_ERROR "Target platform \"nvidia\" must at least have one architecture specifications!")
message(FATAL_ERROR "Target platform \"nvidia\" must at least have one architecture specification!")
endif()
target_compile_definitions(${PLSSVM_BASE_LIBRARY_NAME} PUBLIC PLSSVM_HAS_NVIDIA_TARGET)
elseif(PLSSVM_PLATFORM MATCHES "^amd")
# parse provided AMD GPU architectures
parse_architecture_info(${PLSSVM_PLATFORM} PLSSVM_AMD_TARGET_ARCHS PLSSVM_NUM_AMD_TARGET_ARCHS)
if(PLSSVM_NUM_AMD_TARGET_ARCHS EQUAL 0)
message(FATAL_ERROR "Target platform \"amd\" must at least have one architecture specifications!")
message(FATAL_ERROR "Target platform \"amd\" must at least have one architecture specification!")
endif()
target_compile_definitions(${PLSSVM_BASE_LIBRARY_NAME} PUBLIC PLSSVM_HAS_AMD_TARGET)
elseif(PLSSVM_PLATFORM MATCHES "^intel")
# parse provided Intel GPU architectures
parse_architecture_info(${PLSSVM_PLATFORM} PLSSVM_INTEL_TARGET_ARCHS PLSSVM_NUM_INTEL_TARGET_ARCHS)
if(NOT PLSSVM_NUM_INTEL_TARGET_ARCHS EQUAL 0)
message(FATAL_ERROR "Target platform \"intel\" must not have any architecture specifications!")
if(PLSSVM_NUM_INTEL_TARGET_ARCHS EQUAL 0)
message(FATAL_ERROR "Target platform \"intel\" must at least have one architecture specification!")
endif()
target_compile_definitions(${PLSSVM_BASE_LIBRARY_NAME} PUBLIC PLSSVM_HAS_INTEL_TARGET)
else()
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
MIT License
# MIT License

Copyright (c) 2021 Alexander Van Craen and Marcel Breyer @ University of Stuttgart

Expand Down
Loading

0 comments on commit db15b40

Please sign in to comment.