-
Notifications
You must be signed in to change notification settings - Fork 7
174 lines (140 loc) · 4.17 KB
/
install.yml
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
name: install
on:
pull_request:
# Allows running this workflow manually from the Actions tab
workflow_dispatch:
jobs:
channel:
strategy:
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-latest
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
pytorch-channel:
- stable
- test
- nightly
exclude:
- python-version: "3.8"
pytorch-channel: nightly
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup development environment
uses: ./.github/actions/setup-dev-env
with:
python-version: ${{ matrix.python-version }}
- name: Collect environment information
run: python scripts/collect_env.py
- name: Install PyTorch distributions
run:
ltt install --pytorch-channel=${{ matrix.pytorch-channel }} torch torchvision
torchaudio
- name: Check if CPU only
shell: python
run: |
import sys
import torch
cuda = torch.version.cuda
print(f"cuda = {cuda}")
hip = torch.version.hip
print(f"hip = {hip}")
sys.exit(cuda or hip)
computation-backend:
strategy:
matrix:
os:
- ubuntu-latest
- windows-latest
- macos-latest
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
pytorch-computation-backend:
- cpu
- cu117
- cu118
exclude:
- os: macos-latest
pytorch-computation-backend: cu117
- os: macos-latest
pytorch-computation-backend: cu118
# TODO: find a way to test this
# - os: ubuntu-latest
# pytorch-computation-backend: rocm5.4.2
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup development environment
uses: ./.github/actions/setup-dev-env
with:
python-version: ${{ matrix.python-version }}
- name: Collect environment information
run: python scripts/collect_env.py
- name: Install torch
run:
ltt install --pytorch-computation-backend=${{
matrix.pytorch-computation-backend }} torch==2.0.0
- name: Check computation backend
shell: python
run: |
import sys
import torch
from light_the_torch._cb import ComputationBackend, CUDABackend, ROCmBackend, CPUBackend
expected = ComputationBackend.from_str("${{ matrix.pytorch-computation-backend }}")
cuda = torch.version.cuda
print(f"cuda = {cuda}")
hip = torch.version.hip
print(f"hip = {hip}")
if cuda:
actual = CUDABackend.from_str(f"cu{torch.version.cuda}")
elif hip:
rocm = ".".join(torch.version.hip.split(".")[:2])
actual = ROCmBackend.from_str(f"rocm{rocm}")
else:
actual = CPUBackend()
sys.exit(actual != expected)
local:
strategy:
matrix:
local-project-stub:
- pep517-setuptools
fail-fast: false
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup development environment
uses: ./.github/actions/setup-dev-env
- name: Collect environment information
run: python scripts/collect_env.py
- name: Install local project with PyTorch dependency
run: ltt install --editable local-project-stubs/${{ matrix.local-project-stub }}
- name: Check if CPU only
shell: python
run: |
import sys
import torch
cuda = torch.version.cuda
print(f"cuda = {cuda}")
hip = torch.version.hip
print(f"hip = {hip}")
sys.exit(cuda or hip)