forked from pytorch/pytorch
-
Notifications
You must be signed in to change notification settings - Fork 81
95 lines (88 loc) · 3.41 KB
/
Copy pathtorchtitan.yml
File metadata and controls
95 lines (88 loc) · 3.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# Owner(s): ["oncall: distributed"]
name: torchtitan-test
on:
push:
branches:
- main
- release/*
tags:
- ciflow/torchtitan/*
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref_name }}-${{ github.ref_type == 'branch' && github.sha }}-${{ github.event_name == 'workflow_dispatch' }}
cancel-in-progress: true
permissions:
id-token: write
contents: read
actions: read
jobs:
get-label-type:
name: get-label-type
uses: pytorch/pytorch/.github/workflows/_runner-determinator.yml@main
if: ${{ (github.event_name != 'schedule' || github.repository == 'pytorch/pytorch') && github.repository_owner == 'pytorch' }}
with:
triggering_actor: ${{ github.triggering_actor }}
issue_owner: ${{ github.event.pull_request.user.login || github.event.issue.user.login }}
curr_branch: ${{ github.head_ref || github.ref_name }}
curr_ref_type: ${{ github.ref_type }}
check_experiments: arc,lf
# Resolve the stable CUDA version from generate_binary_build_matrix.py
# (CUDA_STABLE) so the build/test environment tracks it without hardcoding.
get-cuda-version:
name: get-cuda-version
runs-on: ubuntu-latest
if: github.repository_owner == 'pytorch'
outputs:
stable-cuda: ${{ steps.get.outputs.stable-cuda }}
steps:
- name: Checkout PyTorch
uses: pytorch/pytorch/.github/actions/checkout-pytorch@main
with:
submodules: false
fetch-depth: 1
- name: Get stable CUDA version
id: get
run: |
set -eou pipefail
echo "stable-cuda=$(python3 .github/scripts/get_ci_variable.py --cuda-stable-version)" >> "${GITHUB_OUTPUT}"
build:
name: torchtitan-x-pytorch-build
if: github.repository_owner == 'pytorch'
uses: ./.github/workflows/_linux-build.yml
needs:
- get-label-type
- get-cuda-version
with:
runner_prefix: "${{ needs.get-label-type.outputs.label-type }}"
build-environment: linux-jammy-cuda${{ needs.get-cuda-version.outputs.stable-cuda }}-py3-gcc11
docker-image-name: ci-image:pytorch-linux-jammy-cuda${{ needs.get-cuda-version.outputs.stable-cuda }}-cudnn9-py3-gcc11
ci-docker-hash: ${{ needs.get-label-type.outputs.ci-docker-hash }}
cuda-arch-list: '8.0 8.9 9.0 10.0'
runner: linux.24xlarge.memory
# torchtitan_h100_integration disabled pending runner availability
test-matrix: |
{ include: [
{ config: "torchtitan_features_integration", shard: 1, num_shards: 1, runner: "linux.g5.48xlarge.nvidia.gpu" },
{ config: "torchtitan_models_integration", shard: 1, num_shards: 1, runner: "linux.g5.48xlarge.nvidia.gpu" }
]}
use-arc: true
python-version: "3.10"
compiler: gcc11
cuda-version: ${{ needs.get-cuda-version.outputs.stable-cuda }}
secrets: inherit
test:
name: torchtitan-x-pytorch-test
uses: ./.github/workflows/_linux-test.yml
needs:
- build
- get-label-type
- get-cuda-version
with:
build-environment: linux-jammy-cuda${{ needs.get-cuda-version.outputs.stable-cuda }}-py3-gcc11
docker-image: ${{ needs.build.outputs.docker-image }}
test-matrix: ${{ needs.build.outputs.test-matrix }}
use-arc: true
python-version: "3.10"
compiler: gcc11
cuda-version: ${{ needs.get-cuda-version.outputs.stable-cuda }}
secrets: inherit