mirror of
https://github.com/deepseek-ai/DeepInfer.git
synced 2026-10-26 16:35:05 +00:00
50 lines
1.1 KiB
Bash
50 lines
1.1 KiB
Bash
#!/bin/bash
|
|
# shellcheck disable=SC2329
|
|
|
|
set -e
|
|
|
|
set_max_jobs() {
|
|
export MAX_JOBS="${MAX_JOBS:-16}"
|
|
echo "Setting MAX_JOBS to $MAX_JOBS"
|
|
}
|
|
|
|
PY_BUILDTAG=$(python -c "import sys, sysconfig; print(f'{sysconfig.get_platform()}-{sys.implementation.cache_tag}')")
|
|
PLATFORM_TAG="${DEEPINFER_ACCELERATOR:-nvidia}-$(uname -m)"
|
|
BUILD_BASE="build/$PLATFORM_TAG"
|
|
SO_DST="deepinfer/_so/$PLATFORM_TAG"
|
|
|
|
_build() {
|
|
set_max_jobs
|
|
python setup.py build --build-base "$BUILD_BASE"
|
|
(
|
|
set +e
|
|
set -x
|
|
shopt -s failglob
|
|
mkdir -p "$SO_DST"
|
|
for so in "${BUILD_BASE}/lib.${PY_BUILDTAG}/deepinfer/"*.so; do
|
|
ln -fs "$(realpath --relative-to="$SO_DST" "$so")" "$SO_DST/"
|
|
done
|
|
)
|
|
[ -n "$(ls -A "$SO_DST")" ] || { echo "No .so was linked into $SO_DST" >&2; exit 1; }
|
|
python -m compileall deepinfer -j "$MAX_JOBS" -q
|
|
}
|
|
|
|
_clean() {
|
|
set +e
|
|
set -x
|
|
rm -rf "$BUILD_BASE" "$SO_DST"
|
|
rm -f deepinfer/*.so
|
|
find . -type d -name "__pycache__" -exec rm -rf {} +
|
|
}
|
|
|
|
case "$1" in
|
|
build | clean)
|
|
"_$1"
|
|
exit 0
|
|
;;
|
|
*)
|
|
echo "Unknown command: '$1'"
|
|
exit 1
|
|
;;
|
|
esac
|