|
| 1 | +# Copyright 2026 FlagOS Contributors |
| 2 | +# |
| 3 | +# Licensed under the Apache License, Version 2.0 (the "License"); |
| 4 | +# you may not use this file except in compliance with the License. |
| 5 | +# You may obtain a copy of the License at |
| 6 | +# |
| 7 | +# http://www.apache.org/licenses/LICENSE-2.0 |
| 8 | +# |
| 9 | +# Unless required by applicable law or agreed to in writing, software |
| 10 | +# distributed under the License is distributed on an "AS IS" BASIS, |
| 11 | +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 12 | +# See the License for the specific language governing permissions and |
| 13 | +# limitations under the License. |
| 14 | + |
| 15 | +# MThreads MUSA S5000 Hardware Configuration |
| 16 | +# This file defines CI/CD settings for MUSA-based testing. |
| 17 | + |
| 18 | +hardware_name: musa |
| 19 | +display_name: "MThreads MUSA Tests" |
| 20 | + |
| 21 | +# Latest train/inference images validated end-to-end on S5000. |
| 22 | +# The platform currently does not publish an all-in-one image. |
| 23 | +ci_image: harbor.baai.ac.cn/flagscale/flagscale-train:dev-musa-s5000-py3.10-8aa5314e94bc |
| 24 | +ci_train_image: harbor.baai.ac.cn/flagscale/flagscale-train:dev-musa-s5000-py3.10-8aa5314e94bc |
| 25 | +ci_inference_image: harbor.baai.ac.cn/flagscale/flagscale-inference:dev-musa-s5000-py3.10-8aa5314e94bc |
| 26 | + |
| 27 | +# Runner labels for MThreads MUSA hardware |
| 28 | +runner_labels: ["flagscale-mthreads-s5000-gpu8"] |
| 29 | + |
| 30 | +# Image build contract consumed by the generic image-build workflow. |
| 31 | +# max_parallel keeps the three image tasks serialized on each S5000 runner. |
| 32 | +image_build: |
| 33 | + enabled: true |
| 34 | + registry: harbor.baai.ac.cn |
| 35 | + target: dev |
| 36 | + network: default |
| 37 | + max_parallel: 1 |
| 38 | + runtime_device_count: '8' |
| 39 | + registry_login: true |
| 40 | + validation_script: tools/install/musa/validate_image_build.sh |
| 41 | + tasks: |
| 42 | + train: |
| 43 | + dockerfile: docker/musa/Dockerfile.train |
| 44 | + image: flagos-dev/flagscale-train |
| 45 | + base_image: harbor.baai.ac.cn/flagos-dev/transformerengine-fl:manual-20260802-musa-torch2.7.1-e73781e-vllm29ceebd |
| 46 | + runtime_smoke_nproc: '2' |
| 47 | + test_roles: [train] |
| 48 | + build_args: |
| 49 | + PKG_MGR: pip |
| 50 | + PIP_INDEX_URL: https://pypi.org/simple |
| 51 | + PIP_DEFAULT_TIMEOUT: '300' |
| 52 | + FLAGSCALE_TE_VERSION: 2.0.0+e73781e |
| 53 | + source_refs: |
| 54 | + FLAGSCALE_MEGATRON_REF: megatron_lm_fl |
| 55 | + inference: |
| 56 | + dockerfile: docker/musa/Dockerfile.inference |
| 57 | + image: flagos-dev/flagscale-inference |
| 58 | + base_image: harbor.baai.ac.cn/flagos-dev/transformerengine-fl:manual-20260802-musa-torch2.7.1-e73781e-vllm29ceebd |
| 59 | + runtime_smoke_nproc: '2' |
| 60 | + test_roles: [inference] |
| 61 | + build_args: |
| 62 | + PKG_MGR: pip |
| 63 | + PIP_INDEX_URL: https://pypi.org/simple |
| 64 | + PIP_DEFAULT_TIMEOUT: '300' |
| 65 | +# Container volumes (hardware-specific paths) |
| 66 | +container_volumes: |
| 67 | + - /mnt/airs-business/cicd/baai_datasets:/home/gitlab-runner/data |
| 68 | + - /mnt/airs-business/cicd/baai_tokenizers:/home/gitlab-runner/tokenizers |
| 69 | + |
| 70 | +# Container options for MThreads MUSA runtime |
| 71 | +container_options: >- |
| 72 | + --hostname=flagscale-ci |
| 73 | + --privileged |
| 74 | + --ipc=host |
| 75 | + --shm-size=100g |
| 76 | + --ulimit memlock=-1 |
| 77 | + --env MTHREADS_VISIBLE_DEVICES=all |
| 78 | + --env MTHREADS_DRIVER_CAPABILITIES=all |
| 79 | + --user root |
| 80 | + --ulimit nofile=65535:65535 |
| 81 | +
|
| 82 | +# Runtime allowances for models loaded from the shared network volume. |
| 83 | +timeouts: |
| 84 | + inference_minutes: 45 |
| 85 | + serve_ready_seconds: 600 |
| 86 | + |
| 87 | +# ============================================================================= |
| 88 | +# Package Manager Configuration |
| 89 | +# ============================================================================= |
| 90 | +pkg_mgr: "pip" |
| 91 | + |
| 92 | +# Environment path (conda installation path) |
| 93 | +env_path: "" |
| 94 | + |
| 95 | +# Conda environment names |
| 96 | +env_names: |
| 97 | + train: "" |
| 98 | + hetero_train: "" |
| 99 | + inference: "" |
| 100 | + serve: "" |
| 101 | + rl: "" |
0 commit comments