Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
4449f0f
[CICD] Simplify and consolidate CI workflows for CUDA & Metax
BrianPei Apr 17, 2026
5cadac7
[Test] Add self-contained functional test cases and extend GPT coverage
BrianPei Apr 17, 2026
0c303bf
[Fix] Code fixes for inference, RL, optimizer and dependency management
BrianPei Apr 17, 2026
2237b39
fix cuda ci_image and runner_label
BrianPei Apr 17, 2026
9efcb3f
Declare regex as base runtime dependency
Apr 17, 2026
cfa308f
fix envsubst install logic
BrianPei Apr 17, 2026
31fa404
restore nv original ymls
BrianPei Apr 18, 2026
1c17216
run functional_tests after unit_tests
BrianPei Apr 18, 2026
c947ec4
modify all_tests to pipeline workflow
BrianPei Apr 18, 2026
1fc170a
Simplify yq handling for functional tests
AlexMa616 Apr 22, 2026
fa607fb
Install simpy and move mock RL agent under tests
AlexMa616 Apr 22, 2026
da46542
Unify optimizer param group key handling
AlexMa616 Apr 22, 2026
76e44f3
Refocus PR on train-only functional coverage
AlexMa616 Apr 22, 2026
4f05d79
Revert non-train inference and RL source changes
AlexMa616 Apr 22, 2026
4d229b3
Trim extra mock train feature-axis cases
AlexMa616 Apr 22, 2026
f447046
Restore GRPO timing check to dev baseline
AlexMa616 Apr 22, 2026
64d9db4
pr-repair
AlexMa616 Apr 22, 2026
12862ec
Re-enable unit tests in cuda workflow
AlexMa616 Apr 22, 2026
74ce8e7
Revert unrelated Megatron source changes
AlexMa616 Apr 22, 2026
c20508d
Shrink functional coverage to minimal reviewer scope
AlexMa616 Apr 22, 2026
9524d3a
Temporarily disable unit tests to verify functional flow
AlexMa616 Apr 22, 2026
98191cf
Fix functional job matrix in cuda workflow
AlexMa616 Apr 22, 2026
b32b657
Avoid skipping functional job when unit tests are disabled
AlexMa616 Apr 22, 2026
434af08
Add no-shared-fs for minimal GPT functional case
AlexMa616 Apr 22, 2026
72371c6
Restore reviewer runner config and unit flow on pr-0417
AlexMa616 Apr 22, 2026
e4315f5
add metax BAAI container_volumes
AlexMa616 Apr 22, 2026
cd9aba9
update pr_template
AlexMa616 Apr 22, 2026
d6cfe90
Limit lint setup to lint tools only
AlexMa616 Apr 22, 2026
f435415
Use isolated tool env for lint workflow
AlexMa616 Apr 22, 2026
dc9aedb
Fix root path initialization in functional test runner
AlexMa616 Apr 22, 2026
cf10b49
use original lint logic
AlexMa616 Apr 22, 2026
a91eb1b
lint add install uv
AlexMa616 Apr 22, 2026
907063a
Remove invalid no-shared-fs arg from minimal GPT case
AlexMa616 Apr 22, 2026
24176b7
debug lint; metax add ignore unitcase
AlexMa616 Apr 22, 2026
3e764ad
Handle missing no-shared-fs arg in plugin utils
AlexMa616 Apr 22, 2026
b03a04f
Restore upstream lint flow with minimal bootstrap
AlexMa616 Apr 22, 2026
7d844ca
Add qwen3 metax functional regression case
AlexMa616 Apr 23, 2026
a16b4ef
Tune qwen3 functional case for A100 validation
AlexMa616 Apr 23, 2026
75ea7f7
add log-memory params for unit_test_core
BrianPei Apr 23, 2026
7604756
Use platform-specific qwen3 golden for metax
AlexMa616 Apr 23, 2026
3c97648
unittests install torch; qwen case add log params
BrianPei Apr 23, 2026
2da1cef
Update qwen3 c500 golden baseline
AlexMa616 Apr 23, 2026
846995f
keep lint trigger when PR
BrianPei Apr 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 0 additions & 50 deletions .github/CODEOWNERS

This file was deleted.

152 changes: 144 additions & 8 deletions .github/configs/cuda.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,18 @@
hardware_name: cuda
display_name: 'CUDA Tests'

# CI image for BAAI env
ci_image: harbor.baai.ac.cn/flagscale/megatron-lm-fl:cuda12.8.1-cudnn9.8.0-torch2.7.0-python3.12-dev-02111650

# Runner labels for self-hosted A100 node
# runner_labels:
# - self-hosted
# - Linux
# - X64
# - nvidia
# - gpu-8

# Runner labels for BAAI env
runner_labels:
Comment thread
Darryl233 marked this conversation as resolved.
- nv-8g-cicd-megatron

Expand All @@ -21,10 +25,13 @@ runner_labels:
# - /home/flagscale_cicd/flask/static:/workspace/report
# - /home/flagscale_cicd/flask/config:/workspace/config
# - /home/flagscale_cicd/docker/docker_build/docker_data:/home/gitlab-runner/data
# # Official functional recipes expect frozen checkpoints and artifacts here.
# - /home/flagscale_cicd/docker/docker_build/docker_data:/mnt/artifacts
# - /home/flagscale_cicd/docker/docker_build/docker_tokenizers:/home/gitlab-runner/tokenizers
# - /home/flagscale_cicd/docker/docker_build/docker_data/Megatron-LM/datasets:/opt/data/datasets
# - /home/flagscale_cicd/docker/docker_build/docker_tokenizers/Megatron-LM/tokenizers:/opt/data/tokenizers

# Container volumes for BAAI env
container_volumes:
Comment thread
Darryl233 marked this conversation as resolved.
- /mnt/airs-business/cicd/baai_datasets:/home/gitlab-runner/data
- /mnt/airs-business/cicd/baai_tokenizers:/home/gitlab-runner/tokenizers
Expand All @@ -51,14 +58,15 @@ test_matrix:
- tests/unit_tests/dist_checkpointing/test_optimizer.py
- tests/unit_tests/dist_checkpointing/test_safe_globals.py
- tests/unit_tests/dist_checkpointing/models/test_moe_experts.py
- tests/unit_tests/dist_checkpointing/test_local.py
- tests/unit_tests/distributed/test_grad_sync_with_expert_parallel.py
- tests/unit_tests/distributed/test_mcore_fully_sharded_data_parallel.py
- tests/unit_tests/distributed/test_param_and_grad_buffer.py ## test_bucket_sizes[True-True-False-18050] FAILED NCCL SIGABRT
- tests/unit_tests/export/trtllm/test_distributed_fp8.py
- tests/unit_tests/export/trtllm/test_single_device_fp8.py
- tests/unit_tests/transformer/moe/test_a2a_token_dispatcher.py
- tests/unit_tests/test_inference.py
- tests/unit_tests/test_rl_utils.py
# - tests/unit_tests/test_rl_utils.py
- tests/unit_tests/models/test_gpt_model.py
- tests/unit_tests/models/test_mamba_model.py
- tests/unit_tests/post_training/test_modelopt_module_spec.py
Expand All @@ -74,7 +82,6 @@ test_matrix:
- tests/unit_tests/transformer/test_retro_attention.py
- tests/unit_tests/transformer/test_transformer_block.py
- tests/unit_tests/transformer/test_transformer_block_custom_pgs.py
- tests/unit_tests/dist_checkpointing/test_local.py

# test_straggler_detector causes a SIGSEGV (Signal 11) crash during pytest session teardown on A100.
# Root cause: UCX (HPC-X libucs.so) crashes in torch.distributed.barrier() called from the
Expand All @@ -83,9 +90,138 @@ test_matrix:
# not a logic bug. Skipped until the teardown issue is resolved.
- tests/unit_tests/test_utils.py::test_straggler_detector

# functional:
# train:
# - device: a100
# task: train
# model: gpt
# case: all
functional:
train:
# Start with a mock-data regular case so we can validate the full
# functional pipeline without depending on missing external real-data assets.
- model: multimodal-llava
test_case: multimodal_llava_mcore_te_tp1_pp1
training_script: pretrain_vlm.py
n_repeat: 1
golden_environment: dev
golden_platform: dgx_a100
enable_lightweight_mode: false
# This mock-data checkpoint-resume case reuses the same llava stack and
# has been validated end-to-end on the DGX A100 server.
- model: multimodal-llava
test_case: multimodal_llava_mcore_te_tp1_pp1_resume_torch
training_script: pretrain_vlm.py
n_repeat: 1
golden_environment: dev
golden_platform: dgx_a100
enable_lightweight_mode: false
# Self-contained GPT inference coverage validated end-to-end on the
# DGX A100 runner without external datasets or tokenizer assets.
- model: gpt
test_case: gpt_static_inference_tp1_pp1_tiny_null_selfcontained
training_script: examples/inference/gpt/gpt_static_inference.py
n_repeat: 1
golden_environment: dev
golden_platform: dgx_a100
enable_lightweight_mode: false
data_path: /tmp/data_unused
data_cache_path: /tmp/data_cache
checkpoint_load_path: /tmp/selfcontained_inference_ckpt
tensorboard_subpath: generations.json
# Self-contained GRPO coverage validated end-to-end on the DGX A100
# runner using the mock null-numeric RL environment.
- model: gpt
test_case: gpt_grpo_tp1_pp1_tiny_null_selfcontained
training_script: train_rl.py
n_repeat: 1
golden_environment: dev
golden_platform: dgx_a100
enable_lightweight_mode: false
data_path: /tmp/data_unused
data_cache_path: /tmp/data_cache
checkpoint_load_path: /tmp/selfcontained_rl_ckpt
# Keep PR-fast GPT training coverage lightweight and self-contained.
# Use mock-data regular/resume cases to exercise pretrain_gpt.py with
# tp1/pp1 + transformer_engine + distributed optimizer, while leaving
# real-data recipes such as no_mmap_bin_files in heavier lanes that have
# the required dataset/tokenizer assets.
- model: gpt
test_case: gpt3_mcore_te_tp1_pp1_mock_data_dist_optimizer
training_script: pretrain_gpt.py
n_repeat: 1
golden_environment: dev
golden_platform: dgx_a100
enable_lightweight_mode: true
- model: gpt
test_case: gpt3_mcore_te_tp1_pp1_mock_data_resume_torch_dist_dist_optimizer
training_script: pretrain_gpt.py
n_repeat: 1
golden_environment: dev
golden_platform: dgx_a100
enable_lightweight_mode: true
# Extend GPT training coverage with a second lightweight feature axis:
# activation recompute. These mock-data regular/resume cases keep the
# lane self-contained while exercising tp1/pp1 + transformer_engine with
# uniform full recompute enabled.
- model: gpt
test_case: gpt3_mcore_te_tp1_pp1_mock_data_uniform_full_recompute
training_script: pretrain_gpt.py
n_repeat: 1
golden_environment: dev
golden_platform: dgx_a100
enable_lightweight_mode: true
- model: gpt
test_case: gpt3_mcore_te_tp1_pp1_mock_data_resume_torch_dist_uniform_full_recompute
training_script: pretrain_gpt.py
n_repeat: 1
golden_environment: dev
golden_platform: dgx_a100
enable_lightweight_mode: true
# Extend GPT training coverage with a third lightweight feature axis:
# pp4 pipeline-parallel execution plus SwiGLU. This mirrors the modern
# architecture choices used in FlagScale train configs while keeping the
# lane mock-data based and self-contained.
- model: gpt
test_case: gpt3_mcore_te_tp1_pp4_mock_data_swiglu
training_script: pretrain_gpt.py
n_repeat: 1
golden_environment: dev
golden_platform: dgx_a100
enable_lightweight_mode: true
- model: gpt
test_case: gpt3_mcore_te_tp1_pp4_mock_data_resume_torch_dist_swiglu
training_script: pretrain_gpt.py
n_repeat: 1
golden_environment: dev
golden_platform: dgx_a100
enable_lightweight_mode: true
# Extend GPT training coverage with a fourth lightweight feature axis:
# disable_bias_linear under pp4. This keeps the same mock-data CI shape
# while exercising a commonly toggled transformer architecture option.
- model: gpt
test_case: gpt3_mcore_te_tp1_pp4_mock_data_disable_bias_linear
training_script: pretrain_gpt.py
n_repeat: 1
golden_environment: dev
golden_platform: dgx_a100
enable_lightweight_mode: true
- model: gpt
test_case: gpt3_mcore_te_tp1_pp4_mock_data_resume_torch_dist_disable_bias_linear
training_script: pretrain_gpt.py
n_repeat: 1
golden_environment: dev
golden_platform: dgx_a100
enable_lightweight_mode: true
# Extend GPT training coverage with a fifth lightweight feature axis:
# real tensor parallelism plus distributed optimizer overlap settings.
# This mirrors the overlap-enabled train shapes used in FlagScale while
# staying mock-data based for PR-fast stability.
- model: gpt
test_case: gpt3_mcore_te_tp4_pp1_mock_data_dist_optimizer_overlap_grad_reduce_param_gather
training_script: pretrain_gpt.py
n_repeat: 1
golden_environment: dev
golden_platform: dgx_a100
enable_lightweight_mode: true
- model: gpt
test_case: gpt3_mcore_te_tp4_pp1_mock_data_resume_torch_dist_dist_optimizer_overlap_grad_reduce_param_gather
training_script: pretrain_gpt.py
n_repeat: 1
golden_environment: dev
golden_platform: dgx_a100
enable_lightweight_mode: true
Loading
Loading