Created
July 1, 2024 16:49
-
-
Save jlewi/86ab34b7adb9d22dd267fa656d967695 to your computer and use it in GitHub Desktop.
cmake_build
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
# | |
# Build script for Triton Inference Server | |
# | |
# Exit script immediately if any command fails | |
set -e | |
######## | |
# Triton core library and tritonserver executable | |
# | |
mkdir -p /tmp/tritonbuild/tritonserver/build | |
cd /tmp/tritonbuild/tritonserver/build | |
cmake "-DTRT_VERSION=${TRT_VERSION}" "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}" "-DVCPKG_TARGET_TRIPLET=${VCPKG_TARGET_TRIPLET}" "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_INSTALL_PREFIX:PATH=/tmp/tritonbuild/tritonserver/install" "-DTRITON_VERSION:STRING=2.46.0" "-DTRITON_REPO_ORGANIZATION:STRING=https://github.com/triton-inference-server" "-DTRITON_COMMON_REPO_TAG:STRING=r24.05" "-DTRITON_CORE_REPO_TAG:STRING=r24.05" "-DTRITON_BACKEND_REPO_TAG:STRING=r24.05" "-DTRITON_THIRD_PARTY_REPO_TAG:STRING=r24.05" "-DTRITON_ENABLE_LOGGING:BOOL=ON" "-DTRITON_ENABLE_STATS:BOOL=ON" "-DTRITON_ENABLE_METRICS:BOOL=ON" "-DTRITON_ENABLE_METRICS_GPU:BOOL=ON" "-DTRITON_ENABLE_METRICS_CPU:BOOL=ON" "-DTRITON_ENABLE_TRACING:BOOL=ON" "-DTRITON_ENABLE_NVTX:BOOL=OFF" "-DTRITON_ENABLE_GPU:BOOL=ON" "-DTRITON_MIN_COMPUTE_CAPABILITY=6.0" "-DTRITON_ENABLE_MALI_GPU:BOOL=OFF" "-DTRITON_ENABLE_GRPC:BOOL=ON" "-DTRITON_ENABLE_HTTP:BOOL=ON" "-DTRITON_ENABLE_SAGEMAKER:BOOL=OFF" "-DTRITON_ENABLE_VERTEX_AI:BOOL=OFF" "-DTRITON_ENABLE_GCS:BOOL=ON" "-DTRITON_ENABLE_S3:BOOL=ON" "-DTRITON_ENABLE_AZURE_STORAGE:BOOL=OFF" "-DTRITON_ENABLE_ENSEMBLE:BOOL=ON" "-DTRITON_ENABLE_TENSORRT:BOOL=OFF" /workspace | |
cmake --build . --config Release -j20 -t install | |
mkdir -p /tmp/tritonbuild/install/bin | |
cp /tmp/tritonbuild/tritonserver/install/bin/tritonserver /tmp/tritonbuild/install/bin | |
mkdir -p /tmp/tritonbuild/install/lib | |
cp /tmp/tritonbuild/tritonserver/install/lib/libtritonserver.so /tmp/tritonbuild/install/lib | |
mkdir -p /tmp/tritonbuild/install/python | |
cp /tmp/tritonbuild/tritonserver/install/python/tritonserver*.whl /tmp/tritonbuild/install/python | |
mkdir -p /tmp/tritonbuild/install/include/triton | |
cp -r /tmp/tritonbuild/tritonserver/install/include/triton/core /tmp/tritonbuild/install/include/triton/core | |
cp /workspace/LICENSE /tmp/tritonbuild/install | |
cp /workspace/TRITON_VERSION /tmp/tritonbuild/install | |
mkdir -p /tmp/tritonbuild/install/third-party-src | |
cd /tmp/tritonbuild/tritonserver/build | |
tar zcf /tmp/tritonbuild/install/third-party-src/src.tar.gz third-party-src | |
cp /workspace/docker/README.third-party-src /tmp/tritonbuild/install/third-party-src/README | |
# | |
# end Triton core library and tritonserver executable | |
######## | |
######## | |
# 'tensorrtllm' backend | |
# Delete this section to remove backend from build | |
# | |
mkdir -p /tmp/tritonbuild | |
cd /tmp/tritonbuild | |
rm -fr tensorrtllm | |
if [[ ! -e tensorrtllm ]]; then | |
git clone --recursive --single-branch --depth=1 -b rel https://github.com/triton-inference-server/tensorrtllm_backend.git tensorrtllm; | |
fi | |
export TRT_ROOT=/usr/local/tensorrt | |
export ARCH=$(uname -m) | |
export LD_LIBRARY_PATH="/usr/local/cuda/compat/lib.real:${LD_LIBRARY_PATH}" | |
mkdir -p /tmp/tritonbuild/tensorrtllm/build | |
cd /tmp/tritonbuild/tensorrtllm/build | |
apt-get update && apt-get install -y libcudnn8-dev && ldconfig | |
python3 ../tensorrt_llm/scripts/build_wheel.py --trt_root /usr/local/tensorrt | |
cmake "-DTRT_VERSION=${TRT_VERSION}" "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}" "-DVCPKG_TARGET_TRIPLET=${VCPKG_TARGET_TRIPLET}" "-DTRT_LIB_DIR=${TRT_ROOT}/targets/${ARCH}-linux-gnu/lib" "-DTRT_INCLUDE_DIR=${TRT_ROOT}/include" "-DUSE_CXX11_ABI:BOOL=ON" "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_INSTALL_PREFIX:PATH=/tmp/tritonbuild/tensorrtllm/install" "-DTRITON_REPO_ORGANIZATION:STRING=https://github.com/triton-inference-server" "-DTRITON_COMMON_REPO_TAG:STRING=r24.05" "-DTRITON_CORE_REPO_TAG:STRING=r24.05" "-DTRITON_BACKEND_REPO_TAG:STRING=r24.05" "-DTRITON_ENABLE_GPU:BOOL=ON" "-DTRITON_ENABLE_MALI_GPU:BOOL=OFF" "-DTRITON_ENABLE_STATS:BOOL=ON" "-DTRITON_ENABLE_METRICS:BOOL=ON" "-DTRITON_ENABLE_MEMORY_TRACKER:BOOL=ON" -S ../inflight_batcher_llm -B . | |
cmake --build . --config Release -j20 -t install | |
mkdir -p /tmp/tritonbuild/tensorrtllm/install/backends/tensorrtllm | |
cp /tmp/tritonbuild/tensorrtllm/tensorrt_llm/build/tensorrt_llm-*.whl /tmp/tritonbuild/tensorrtllm/install/backends/tensorrtllm | |
cp /tmp/tritonbuild/tensorrtllm/build/libtriton_tensorrtllm*.so /tmp/tritonbuild/tensorrtllm/install/backends/tensorrtllm | |
cp /tmp/tritonbuild/tensorrtllm/build/trtllmExecutorWorker /tmp/tritonbuild/tensorrtllm/install/backends/tensorrtllm | |
mkdir -p /tmp/tritonbuild/install/backends | |
rm -fr /tmp/tritonbuild/install/backends/tensorrtllm | |
cp -r /tmp/tritonbuild/tensorrtllm/install/backends/tensorrtllm /tmp/tritonbuild/install/backends | |
# | |
# end 'tensorrtllm' backend | |
######## | |
######## | |
# 'python' backend | |
# Delete this section to remove backend from build | |
# | |
mkdir -p /tmp/tritonbuild | |
cd /tmp/tritonbuild | |
rm -fr python | |
if [[ ! -e python ]]; then | |
git clone --recursive --single-branch --depth=1 -b r24.04 https://github.com/triton-inference-server/python_backend.git python; | |
fi | |
mkdir -p /tmp/tritonbuild/python/build | |
cd /tmp/tritonbuild/python/build | |
cmake "-DTRT_VERSION=${TRT_VERSION}" "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}" "-DVCPKG_TARGET_TRIPLET=${VCPKG_TARGET_TRIPLET}" "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_INSTALL_PREFIX:PATH=/tmp/tritonbuild/python/install" "-DTRITON_REPO_ORGANIZATION:STRING=https://github.com/triton-inference-server" "-DTRITON_COMMON_REPO_TAG:STRING=r24.05" "-DTRITON_CORE_REPO_TAG:STRING=r24.05" "-DTRITON_BACKEND_REPO_TAG:STRING=r24.05" "-DTRITON_ENABLE_GPU:BOOL=ON" "-DTRITON_ENABLE_MALI_GPU:BOOL=OFF" "-DTRITON_ENABLE_STATS:BOOL=ON" "-DTRITON_ENABLE_METRICS:BOOL=ON" "-DTRITON_ENABLE_MEMORY_TRACKER:BOOL=ON" .. | |
cmake --build . --config Release -j20 -t install | |
mkdir -p /tmp/tritonbuild/install/backends | |
rm -fr /tmp/tritonbuild/install/backends/python | |
cp -r /tmp/tritonbuild/python/install/backends/python /tmp/tritonbuild/install/backends | |
# | |
# end 'python' backend | |
######## | |
######## | |
# Collect Triton CI artifacts | |
# | |
mkdir -p /tmp/tritonbuild/ci | |
cp -r /workspace/qa /tmp/tritonbuild/ci | |
cp -r /workspace/deploy /tmp/tritonbuild/ci | |
mkdir -p /tmp/tritonbuild/ci/docs | |
cp -r /workspace/docs/examples /tmp/tritonbuild/ci/docs | |
mkdir -p /tmp/tritonbuild/ci/src/test | |
cp -r /workspace/src/test/models /tmp/tritonbuild/ci/src/test | |
cp -r /tmp/tritonbuild/tritonserver/install/bin /tmp/tritonbuild/ci | |
mkdir -p /tmp/tritonbuild/ci/lib | |
cp /tmp/tritonbuild/tritonserver/install/lib/libtritonrepoagent_relocation.so /tmp/tritonbuild/ci/lib | |
cp -r /tmp/tritonbuild/tritonserver/install/python /tmp/tritonbuild/ci | |
mkdir -p /tmp/tritonbuild/ci/backends | |
if [[ -e /tmp/tritonbuild/identity/install/backends/identity ]]; then | |
cp -r /tmp/tritonbuild/identity/install/backends/identity /tmp/tritonbuild/ci/backends | |
fi | |
if [[ -e /tmp/tritonbuild/repeat/install/backends/repeat ]]; then | |
cp -r /tmp/tritonbuild/repeat/install/backends/repeat /tmp/tritonbuild/ci/backends | |
fi | |
if [[ -e /tmp/tritonbuild/square/install/backends/square ]]; then | |
cp -r /tmp/tritonbuild/square/install/backends/square /tmp/tritonbuild/ci/backends | |
fi | |
mkdir -p /tmp/tritonbuild/ci/tritonbuild/tritonserver/backends | |
if [[ -e /tmp/tritonbuild/tritonserver/install/backends/query ]]; then | |
cp -r /tmp/tritonbuild/tritonserver/install/backends/query /tmp/tritonbuild/ci/tritonbuild/tritonserver/backends | |
fi | |
if [[ -e /tmp/tritonbuild/tritonserver/install/backends/implicit_state ]]; then | |
cp -r /tmp/tritonbuild/tritonserver/install/backends/implicit_state /tmp/tritonbuild/ci/tritonbuild/tritonserver/backends | |
fi | |
if [[ -e /tmp/tritonbuild/tritonserver/install/backends/sequence ]]; then | |
cp -r /tmp/tritonbuild/tritonserver/install/backends/sequence /tmp/tritonbuild/ci/tritonbuild/tritonserver/backends | |
fi | |
if [[ -e /tmp/tritonbuild/tritonserver/install/backends/dyna_sequence ]]; then | |
cp -r /tmp/tritonbuild/tritonserver/install/backends/dyna_sequence /tmp/tritonbuild/ci/tritonbuild/tritonserver/backends | |
fi | |
if [[ -e /tmp/tritonbuild/tritonserver/install/backends/distributed_addsub ]]; then | |
cp -r /tmp/tritonbuild/tritonserver/install/backends/distributed_addsub /tmp/tritonbuild/ci/tritonbuild/tritonserver/backends | |
fi | |
if [[ -e /tmp/tritonbuild/tritonserver/install/backends/iterative_sequence ]]; then | |
cp -r /tmp/tritonbuild/tritonserver/install/backends/iterative_sequence /tmp/tritonbuild/ci/tritonbuild/tritonserver/backends | |
fi | |
mkdir -p /tmp/tritonbuild/ci/tritonbuild | |
rm -fr /tmp/tritonbuild/python/build | |
rm -fr /tmp/tritonbuild/python/install | |
cp -r /tmp/tritonbuild/python /tmp/tritonbuild/ci/tritonbuild | |
# | |
# end Triton CI artifacts | |
######## | |
chmod -R a+rw /tmp/tritonbuild/install | |
chmod -R a+rw /tmp/tritonbuild/ci |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment