You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+29-12Lines changed: 29 additions & 12 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
-
2
1
# Least-Squares Support-Vector Machine  [](https://www.codacy.com/gh/SC-SGS/PLSSVM/dashboard?utm_source=github.com&utm_medium=referral&utm_content=SC-SGS/PLSSVM&utm_campaign=Badge_Grade) [](https://vancraar.github.io/PLSSVM/) [](https://simsgs.informatik.uni-stuttgart.de/jenkins/view/PLSSVM/job/PLSSVM/job/Multibranch-Github/job/main/) [](https://github.com/SC-SGS/PLSSVM/actions/workflows/msvc_windows.yml)
3
2
4
3
Implementation of a parallel [least-squares support-vector machine](https://en.wikipedia.org/wiki/Least-squares_support-vector_machine) using multiple different backends.
5
4
The currently available backends are:
5
+
6
6
-[OpenMP](https://www.openmp.org/)
7
7
-[CUDA](https://developer.nvidia.com/cuda-zone)
8
8
-[OpenCL](https://www.khronos.org/opencl/)
@@ -13,26 +13,32 @@ The currently available backends are:
13
13
### Dependencies
14
14
15
15
General dependencies:
16
+
16
17
- a C++17 capable compiler (e.g. [`gcc`](https://gcc.gnu.org/) or [`clang`](https://clang.llvm.org/))
17
18
-[CMake](https://cmake.org/) 3.18 or newer
18
19
-[cxxopts](https://github.com/jarro2783/cxxopts), [fast_float](https://github.com/fastfloat/fast_float) and [{fmt}](https://github.com/fmtlib/fmt) (all three are automatically build during the CMake configuration if they couldn't be found using the respective `find_package` call)
19
20
-[GoogleTest](https://github.com/google/googletest) if testing is enabled (automatically build during the CMake configuration if `find_package(GTest)` wasn't successful)
20
21
-[doxygen](https://www.doxygen.nl/index.html) if documentation generation is enabled
21
22
22
23
Additional dependencies for the OpenMP backend:
24
+
23
25
- compiler with OpenMP support
24
26
25
27
Additional dependencies for the CUDA backend:
28
+
26
29
- CUDA SDK
27
30
- either NVIDIA [`nvcc`](https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html) or [`clang` with CUDA support enabled](https://llvm.org/docs/CompileCudaWithLLVM.html)
28
31
29
32
Additional dependencies for the OpenCL backend:
33
+
30
34
- OpenCL runtime and header files
31
35
32
36
Additional dependencies for the SYCL backend:
37
+
33
38
- the code must be compiled with a SYCL capable compiler; currently tested with [DPC++](https://github.com/intel/llvm) and [hipSYCL](https://github.com/illuhad/hipSYCL)
34
39
35
40
Additional dependencies if `PLSSVM_ENABLE_TESTING` and `PLSSVM_GENERATE_TEST_FILE` are both set to `ON`:
41
+
36
42
-[Python3](https://www.python.org/) with the [`argparse`](https://docs.python.org/3/library/argparse.html) and [`sklearn`](https://scikit-learn.org/stable/) modules
37
43
38
44
### Building
@@ -51,6 +57,7 @@ Building the library can be done using the normal CMake approach:
51
57
52
58
The **required** CMake option `PLSSVM_TARGET_PLATFORMS` is used to determine for which targets the backends should be compiled.
53
59
Valid targets are:
60
+
54
61
-`cpu`: compile for the CPU; **no** architectural specifications is allowed
55
62
-`nvidia`: compile for NVIDIA GPUs; **at least one** architectural specification is necessary, e.g. `nvidia:sm_86,sm_70`
56
63
-`amd`: compile for AMD GPUs; **at least one** architectural specification is necessary, e.g. `amd:gfx906`
@@ -83,6 +90,7 @@ If no GPU name is provided, the script tries to automatically detect any NVIDIA
83
90
(requires the Python3 dependencies [`GPUtil`](https://pypi.org/project/GPUtil/) and [`pyamdgpuinfo`](https://pypi.org/project/pyamdgpuinfo/)).
84
91
85
92
If the architectural information for the requested GPU could not be retrieved, one option would be to have a look at:
93
+
86
94
- for NVIDIA GPUs: [Your GPU Compute Capability](https://developer.nvidia.com/cuda-gpus)
87
95
- for AMD GPUs: [ROCm Documentation](https://github.com/RadeonOpenCompute/ROCm_Documentation/blob/master/ROCm_Compiler_SDK/ROCm-Native-ISA.rst)
88
96
@@ -91,17 +99,18 @@ If the architectural information for the requested GPU could not be retrieved, o
91
99
The `[optional_options]` can be one or multiple of:
0 commit comments