Skip to content

Commit e18be3a

Browse files
Merge commit '4a784a2962f93389f6177008526ac082acc72041' into chore/bump-mcore-main-260813
2 parents 4e10c71 + 4a784a2 commit e18be3a

3 files changed

Lines changed: 38 additions & 37 deletions

File tree

‎.github/scripts/test_docker_dependency_layers.sh‎

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,12 +232,41 @@ if "$temporary_dir/revision-validator" "$revision_repo" not-a-full-sha; then
232232
exit 1
233233
fi
234234

235+
if ! grep -A1 '^te = \[$' pyproject.toml | grep -Fxq ' "megatron-core[te]",'; then
236+
echo "Bridge's TE extra must enable the selected MCore ref's TE extra" >&2
237+
exit 1
238+
fi
239+
grep -Fq '{ name = "megatron-core", extra = ["te"] }' uv.lock
235240
if grep -q 'transformer-engine @ git+https://github.com/NVIDIA/TransformerEngine.git@' pyproject.toml || \
236241
grep -q '^name = "transformer-engine"$' pyproject.toml; then
237242
echo "Bridge must inherit the TransformerEngine source and metadata from the selected MCore ref" >&2
238243
exit 1
239244
fi
240245

246+
lock_package_field() {
247+
local lock_file="$1"
248+
local package="$2"
249+
local field="$3"
250+
251+
awk -v package="$package" -v field="$field" '
252+
$0 == "[[package]]" { in_package = 1; package_matches = 0; next }
253+
in_package && $0 ~ /^\[\[/ { in_package = 0; package_matches = 0 }
254+
in_package && $0 == "name = \"" package "\"" { package_matches = 1; next }
255+
package_matches && index($0, field " = ") == 1 { print; exit }
256+
' "$lock_file"
257+
}
258+
259+
mlm_te_source=$(lock_package_field 3rdparty/Megatron-LM/uv.lock transformer-engine source)
260+
bridge_te_source=$(lock_package_field uv.lock transformer-engine source)
261+
if [[ ! "$mlm_te_source" =~ ^source\ =\ \{\ git\ =\ \"https://github.com/NVIDIA/TransformerEngine\.git\?rev=[0-9a-f]{40}#[0-9a-f]{40}\"\ \}$ ]]; then
262+
echo "Selected MCore lock must pin TransformerEngine to a full source revision" >&2
263+
exit 1
264+
fi
265+
if [[ "$bridge_te_source" != "$mlm_te_source" ]]; then
266+
echo "Bridge must lock the TransformerEngine source selected by MCore" >&2
267+
exit 1
268+
fi
269+
241270
composite_action=".github/actions/test-template/action.yml"
242271
if grep -qE 'mcore_(commit|ref)|MCORE_COMMIT|uv sync --all-extras --all-groups' "$composite_action"; then
243272
echo "Test template must use the already-validated MCore in the built image" >&2

‎pyproject.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ tensor-inspect = [
173173
"nvdlfw-inspect==0.2.1",
174174
]
175175
te = [
176-
"transformer-engine[pytorch,core_cu13]",
176+
"megatron-core[te]",
177177
]
178178
ssm = [
179179
"mamba-ssm",

‎uv.lock‎

Lines changed: 8 additions & 36 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)