-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsetup.sh
More file actions
executable file
·34 lines (28 loc) · 999 Bytes
/
Copy pathsetup.sh
File metadata and controls
executable file
·34 lines (28 loc) · 999 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env bash
set -euo pipefail
preset="${1:-cpu-release}"
case "${preset}" in
cpu-debug|cpu-release|cuda-release) ;;
*) echo "Usage: $0 [cpu-debug|cpu-release|cuda-release]" >&2; exit 2 ;;
esac
for command in cmake python3 cargo; do
if ! command -v "${command}" >/dev/null 2>&1; then
echo "Missing required command: ${command}" >&2
exit 1
fi
done
python3 -c 'import torch; print("PyTorch", torch.__version__, "CMake", torch.utils.cmake_prefix_path)'
if [[ "${preset}" == "cuda-release" ]]; then
if ! command -v nvcc >/dev/null 2>&1; then
echo "cuda-release requires nvcc in PATH or CUDACXX." >&2
exit 1
fi
nvidia-smi --query-gpu=name,driver_version --format=csv,noheader
fi
cmake --preset "${preset}"
cmake --build --preset "${preset}" --parallel "${CMAKE_BUILD_PARALLEL_LEVEL:-2}"
if [[ "${preset}" == "cuda-release" ]]; then
ctest --preset cuda-release
else
ctest --test-dir "build/${preset}" --output-on-failure
fi