# 定义流水线要使用的 Docker 镜像 image: harbor.sourcefind.cn:5443/dcu/admin/base/pytorch:2.5.1-ubuntu22.04-dtk25.04.4-1230-py3.10-20260115 # 只定义一个阶段 stages: - test # === 唯一的作业:使用预置文件运行基准测试 === benchmark_sdxl: stage: test tags: - demos script: - echo "=========================================" - echo "Step 1:Setting up the environment from /workspace/packages/sdxl" - echo "=========================================" # 定义预置文件的根目录 - export PACKAGE_DIR="/workspace/packages/sdxl" # 从预置目录解压库文件 - tar -xzf "$PACKAGE_DIR/rocblas-install-0626-bug.tar.gz" - tar -xzf "$PACKAGE_DIR/package-miopen-dev-0801-ubuntu20.tar.gz" - tar -xzf "$PACKAGE_DIR/transformers.tar.gz" # 从预置目录替换 VAE 权重 - cd "$PACKAGE_DIR/stable-diffusion-xl-base-1.0" - mv vae vae_bak || true - mkdir -p vae - cp ../sdxl-vae-fp16-fix/c* ./vae/ - cp ../sdxl-vae-fp16-fix/s* ./vae/ - cp ../sdxl-vae-fp16-fix/d* ./vae/ - cd $CI_PROJECT_DIR # 返回到项目工作目录 - echo "=========================================" - echo "Step 2:Installing Python packages from /workspace/packages/sdxl" - echo "=========================================" # 从预置目录安装 Python 包 - pip install "$PACKAGE_DIR/diffusers-0.33.1-py3-none-any.whl" "$PACKAGE_DIR/lightop-0.5.0+das.dtk25041-cp310-cp310-linux_x86_64.whl" "$PACKAGE_DIR/litserve-0.2.15-py3-none-any.whl" --no-deps - pip install tokenizers==0.21 - echo "=========================================" - echo "Step 3:Running the benchmark" - echo "=========================================" # 设置环境变量,模型路径指向预置目录 - export LD_LIBRARY_PATH="$CI_PROJECT_DIR/rocblas-install/lib/:$LD_LIBRARY_PATH" - export LD_LIBRARY_PATH="$CI_PROJECT_DIR/package-miopen-dev-0801-ubuntu20/lib/:$LD_LIBRARY_PATH" - export PYTORCH_MIOPEN_SUGGEST_NHWC=1 - export PYTHONPATH="$CI_PROJECT_DIR/transformers:$PYTHONPATH" - export MODEL_PATH="$PACKAGE_DIR/stable-diffusion-xl-base-1.0" # 运行测试脚本 - python test.py # 定义产物,只保留测试生成的文件 artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_REF_NAME" paths: - "*.png" - "results.json" expire_in: 1 week