Skip to content

Commit b1c5259

Browse files
committed
Merge branch 'reduce_python_dependencies' into regression
# Conflicts: # README.md
2 parents 9033d3c + 7c02de9 commit b1c5259

File tree

4 files changed

+103
-381
lines changed

4 files changed

+103
-381
lines changed

CMakeLists.txt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -288,12 +288,6 @@ else ()
288288
message(FATAL_ERROR "Can't find Python3. Please manually specify PLSSVM_TARGET_PLATFORMS (e.g. -DPLSSVM_TARGET_PLATFORMS=\"cpu;nvidia:sm_70,sm_86;amd:gfx906;intel:skl\"!")
289289
endif ()
290290

291-
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/check_python_libs.cmake)
292-
set(PLSSVM_TARGET_PLATFORMS_PYTHON_SCRIPT_REQUIRED_LIBS cpuinfo GPUtil pyamdgpuinfo pylspci)
293-
message(STATUS "Checking required Python3 libraries (${PLSSVM_TARGET_PLATFORMS_PYTHON_SCRIPT_REQUIRED_LIBS}) to automatically determine the PLSSVM_TARGET_PLATFORMS.")
294-
set(PLSSVM_TARGET_PLATFORMS_PYTHON_SCRIPT_REQUIRED_LIBS_ERROR_MESSAGE "or manually define PLSSVM_TARGET_PLATFORMS (e.g. -DPLSSVM_TARGET_PLATFORMS=\"cpu;nvidia:sm_70,sm_86;amd:gfx906;intel:skl\"!")
295-
check_python_libs(${PLSSVM_TARGET_PLATFORMS_PYTHON_SCRIPT_REQUIRED_LIBS} ${PLSSVM_TARGET_PLATFORMS_PYTHON_SCRIPT_REQUIRED_LIBS_ERROR_MESSAGE})
296-
297291
# run our `plssvm_target_platforms.py` script to determine the PLSSVM_TARGET_PLATFORMS string
298292
execute_process(
299293
COMMAND ${Python3_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/utility_scripts/plssvm_target_platforms.py" "--quiet"

README.md

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -188,13 +188,9 @@ Valid targets are:
188188
- `intel`: compile for Intel GPUs; **at least one** architectural specification is necessary, e.g., `intel:skl`
189189

190190
At least one of the above targets must be present. If the option `PLSSVM_TARGET_PLATFORMS` is not present, the targets
191-
are automatically determined using the Python3 `utility_scripts/plssvm_target_platforms.py` script (required Python3 dependencies:
192-
[`argparse`](https://docs.python.org/3/library/argparse.html), [`py-cpuinfo`](https://pypi.org/project/py-cpuinfo/),
193-
[`GPUtil`](https://pypi.org/project/GPUtil/), [`pyamdgpuinfo`](https://pypi.org/project/pyamdgpuinfo/), and
194-
[`pylspci`](https://pypi.org/project/pylspci/)).
191+
are automatically determined using the Python3 `utility_scripts/plssvm_target_platforms.py` script.
195192

196-
Note that when using DPC++/icpx only a single architectural specification for `cpu`, `nvidia` or `amd` is allowed and that
197-
automatically retrieving AMD GPU information on Windows is currently not supported due to `pyamdgpuinfo` limitations.
193+
Note that when using DPC++/icpx only a single architectural specification for `cpu`, `nvidia` or `amd` is allowed.
198194

199195

200196
```bash
@@ -204,8 +200,9 @@ python3 utility_scripts/plssvm_target_platforms.py --help
204200
usage: plssvm_target_platforms.py [-h] [--quiet]
205201
206202
optional arguments:
207-
-h, --help show this help message and exit
208-
--quiet only output the final PLSSVM_TARGET_PLATFORMS string
203+
-h, --help show this help message and exit
204+
--quiet only output the final PLSSVM_TARGET_PLATFORMS string
205+
--gpus_only only output gpu architectures to the final PLSSVM_TARGET_PLATFORMS string
209206
```
210207

211208
Example invocation:
@@ -214,10 +211,9 @@ Example invocation:
214211
python3 utility_scripts/plssvm_target_platforms.py
215212
```
216213
```
217-
Intel(R) Core(TM) i9-10980XE CPU @ 3.00GHz: {'avx512': True, 'avx2': True, 'avx': True, 'sse4_2': True}
214+
supported CPU SIMD flags: {'avx512': True, 'avx2': True, 'avx': True, 'sse4_2': True}
218215
219-
Found 1 NVIDIA GPU(s):
220-
1x NVIDIA GeForce RTX 3080: sm_86
216+
Found 1 NVIDIA GPU(s): [sm_86]
221217
222218
Possible -DPLSSVM_TARGET_PLATFORMS entries:
223219
cpu:avx512;nvidia:sm_86
@@ -231,13 +227,11 @@ or with the `--quiet` flag provided:
231227
python3 utility_scripts/plssvm_target_platforms.py --quiet
232228
```
233229
```
234-
cpu:avx512;intel:dg1
230+
cpu:avx512;nvidia:sm_86
235231
```
236232

237233
If the architectural information for the requested GPU could not be retrieved, one option would be to have a look at:
238234

239-
- for NVIDIA GPUs: [Your GPU Compute Capability](https://developer.nvidia.com/cuda-gpus)
240-
- for AMD GPUs: [clang AMDGPU backend usage](https://llvm.org/docs/AMDGPUUsage.html)
241235
- for Intel GPUs and CPUs: [Ahead of Time Compilation](https://www.intel.com/content/www/us/en/develop/documentation/oneapi-dpcpp-cpp-compiler-dev-guide-and-reference/top/compilation/ahead-of-time-compilation.html) and [Intel graphics processor table](https://dgpu-docs.intel.com/devices/hardware-table.html)
242236

243237

install/python_requirements.txt

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
### optional and required python packages
22

3-
## for the data set generation
4-
# LIBSVM
5-
argparse
3+
## for the data set generation (LIBSVM file format)
64
scikit-learn
75
humanize
86

@@ -17,23 +15,11 @@ pandas
1715
# for plotting the generated data set (only available if #features <= 3)
1816
matplotlib
1917

20-
21-
## for the automatic PLSSVM target platform determination
22-
# argparse
23-
py-cpuinfo
24-
GPUtil
25-
pyamdgpuinfo; platform_system != "Windows"
26-
pylspci
27-
28-
2918
## for the performance tracker parser
30-
# argparse
3119
# matplotlib
3220
pyyaml
3321
pint
3422

35-
3623
## for the performance analysis
37-
# argparse
3824
# scikit-learn
3925
wrapt-timeout-decorator

0 commit comments

Comments
 (0)