config.yml 18 KB
Newer Older
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
1
2
3
4
5
6
# Python CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-python/ for more details
#
# Adopted from
# https://github.com/facebookresearch/detectron2/blob/master/.circleci/config.yml
7
8
#
# Pro tip: download circle ci cli to validate the config locally during development.
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
9

Min Xu's avatar
Min Xu committed
10
version: 2.1
11
12
orbs:
  codecov: codecov/codecov@1.0.2
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
13
14
15
# -------------------------------------------------------------------------------------
# Environments to run the jobs in
# -------------------------------------------------------------------------------------
16
cpu_py37: &cpu_py37
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
17
18
  docker:
    - image: circleci/python:3.7
19
  resource_class: large
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
20

21
22
23
cpu_py38: &cpu_py38
  docker:
    - image: circleci/python:3.8
24
  resource_class: large
25
26
27
28

cpu_py39: &cpu_py39
  docker:
    - image: circleci/python:3.9
29
  resource_class: large
30

31
32
# Here are list of GPU images:
#   https://circleci.com/docs/2.0/configuration-reference/#available-linux-gpu-images
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
33
34
35
gpu: &gpu
  environment:
    CUDA_VERSION: "10.1"
36
    CUDA_HOME: /usr/local/cuda-10.1
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
37
38
39
40
  machine:
    image: ubuntu-1604-cuda-10.1:201909-23
  resource_class: gpu.large

41
42
43
gpu_cu111: &gpu_cu111
  environment:
    CUDA_VERSION: "11.1"
44
    CUDA_HOME: /usr/local/cuda-11.1
45
46
47
48
  machine:
    image: ubuntu-1604-cuda-11.1:202012-01
  resource_class: gpu.large

Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# -------------------------------------------------------------------------------------
# Re-usable commands
# -------------------------------------------------------------------------------------
setup_venv: &setup_venv
  - run:
      name: Setup Virtual Env
      working_directory: ~/
      command: |
        python -m venv ~/venv
        echo ". ~/venv/bin/activate" >> $BASH_ENV
        . ~/venv/bin/activate
        python --version
        which python
        which pip
        pip install --upgrade pip

65
install_dep_160: &install_dep_160
66
  - run:
67
      name: Install Dependencies with torch 1.6.0
68
      command: |
69
        # check if we have restored venv cache (/home/circleci/venv) correctly, if so, just skip
Min Xu's avatar
Min Xu committed
70
        if [ -f /home/circleci/venv/check_version.py ]; then python /home/circleci/venv/check_version.py torch eq 1.6 && exit 0; fi
71
        # start installing
72
        pip install --progress-bar off torch==1.6.0+cu101 torchvision==0.7.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html
73
        pip install --progress-bar off -r requirements-test.txt
74
        pip install --progress-bar off -r requirements-benchmarks.txt
75
        python -c 'import torch; print("Torch version:", torch.__version__)'
76
        python -c 'import torch; assert torch.__version__.split(".")[:2] == ["1", "6"], "wrong torch version"'
77
        python -m torch.utils.collect_env
Min Xu's avatar
Min Xu committed
78
        wget -O /home/circleci/venv/check_version.py https://raw.githubusercontent.com/min-xu-ai/check_verion/main/check_version.py
79

80
install_dep_171: &install_dep_171
81
  - run:
82
      name: Install Dependencies with torch 1.7.1
83
      command: |
84
        # check if we have restored venv cache (/home/circleci/venv) correctly, if so, just skip
Min Xu's avatar
Min Xu committed
85
        if [ -f /home/circleci/venv/check_version.py ]; then python /home/circleci/venv/check_version.py torch eq 1.7 && exit 0; fi
86
        # start installing
87
88
89
90
91
92
        pip install --progress-bar off torch==1.7.1+cu110 torchvision==0.8.2+cu110 -f https://download.pytorch.org/whl/torch_stable.html
        pip install --progress-bar off -r requirements-test.txt
        pip install --progress-bar off -r requirements-benchmarks.txt
        python -c 'import torch; print("Torch version:", torch.__version__)'
        python -c 'import torch; assert torch.__version__.split(".")[:2] == ["1", "7"], "wrong torch version"'
        python -m torch.utils.collect_env
Min Xu's avatar
Min Xu committed
93
        wget -O /home/circleci/venv/check_version.py https://raw.githubusercontent.com/min-xu-ai/check_verion/main/check_version.py
94

95
install_dep_181: &install_dep_181
96
  - run:
97
      name: Install Dependencies with torch 1.8.1
98
      command: |
99
        # check if we have restored venv cache (/home/circleci/venv) correctly, if so, just skip
Min Xu's avatar
Min Xu committed
100
        if [ -f /home/circleci/venv/check_version.py ]; then python /home/circleci/venv/check_version.py torch eq 1.8 && exit 0; fi
101
        # start installing
102
        pip install --progress-bar off torch==1.8.1+cu101 torchvision==0.9.1+cu101 -f https://download.pytorch.org/whl/torch_stable.html
103
        pip install --progress-bar off -r requirements-test.txt
104
        pip install --progress-bar off -r requirements-benchmarks.txt
105
106
107
        python -c 'import torch; print("Torch version:", torch.__version__)'
        python -c 'import torch; assert torch.__version__.split(".")[:2] == ["1", "8"], "wrong torch version"'
        python -m torch.utils.collect_env
Min Xu's avatar
Min Xu committed
108
        wget -O /home/circleci/venv/check_version.py https://raw.githubusercontent.com/min-xu-ai/check_verion/main/check_version.py
109

110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
install_dep_190: &install_dep_190
  - run:
      name: Install Dependencies with torch 1.9.0
      command: |
        # check if we have restored venv cache (/home/circleci/venv) correctly, if so, just skip
        if [ -f /home/circleci/venv/check_version.py ]; then python /home/circleci/venv/check_version.py torch eq 1.8 && exit 0; fi
        # start installing
        pip install --pre --progress-bar off torch==1.9.0.dev20210330+cu101 torchvision==0.10.0.dev20210330+cu101 -f https://download.pytorch.org/whl/nightly/cu101/torch_nightly.html
        pip install --progress-bar off -r requirements-test.txt
        pip install --progress-bar off -r requirements-benchmarks.txt
        python -c 'import torch; print("Torch version:", torch.__version__)'
        python -c 'import torch; assert torch.__version__.split(".")[:2] == ["1", "9"], "wrong torch version"'
        python -m torch.utils.collect_env
        wget -O /home/circleci/venv/check_version.py https://raw.githubusercontent.com/min-xu-ai/check_verion/main/check_version.py

125
install_repo: &install_repo
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
126
127
128
  - run:
      name: Install Repository
      command: |
129
130
131
        pip install .
        # Test import.
        python -c 'import sys; sys.path = sys.path[1:]; import fairscale'
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
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
run_isort: &run_isort
   - run:
       name: Run Linter (isort)
       command: |
         isort . --check

run_black: &run_black
   - run:
       name: Run Linter (black)
       command: |
         black --check .

run_mypy: &run_mypy
   - run:
       name: Run type-checking (mypy)
       command: |
         mypy --ignore-missing-imports --scripts-are-modules --pretty .

run_flake8: &run_flake8
  - run:
      name: Run Linter (flake8)
      command: |
        flake8 --show-source --statistics

157
158
159
160
161
162
check_test_list: &check_test_list
  - run:
      name: Verify that unit test list files are correct
      command: |
        bash ./tests/ci_test_list_check.sh

163

164
165
166
167
upload_coverage: &upload_coverage
  - codecov/upload:
      file: 'coverage.xml'
      token: $CODECOV_TOKEN
msbaines's avatar
msbaines committed
168

Jun Ru Anderson's avatar
Jun Ru Anderson committed
169
run_pipe_benchmark: &run_pipe_benchmark
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
170
  - run:
Jun Ru Anderson's avatar
Jun Ru Anderson committed
171
      name: Run Pipe Benchmark
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
172
      command: |
Jun Ru Anderson's avatar
Jun Ru Anderson committed
173
        python benchmarks/pipe.py
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
174

175
176
177
178
run_oss_benchmark: &run_oss_benchmark
  - run:
      name: Run OSS Benchmark
      command: |
179
        python benchmarks/oss.py --world_size 4 --epochs 2
180
        python benchmarks/oss.py --check_regression --world_size 4 --optim_type oss_sharded_ddp
181
182

run_oss_gloo: &run_oss_gloo
183
184
185
186
187
188
  - run:
      name: Run OSS with Gloo
      command: |
        python benchmarks/oss.py --gloo --optim_type oss_ddp --epochs 2
        python benchmarks/oss.py --gloo --optim_type oss_sharded_ddp --epochs 2

189
run_oss_amp: &run_oss_amp
190
191
192
193
194
   - run:
       name: Run OSS with Torch AMP
       command: |
         python benchmarks/oss.py --amp --epochs 3 --optim_type oss_sharded_ddp

195
196
197
198
199
200
run_oss_for_each: &run_oss_for_each
   - run:
       name: Run OSS with Torch AMP and ForEach optmizer
       command: |
         python benchmarks/oss.py --amp --epochs 3 --optim_type oss_sharded_ddp --multi_tensor_optim

201
202
203
204
205
206
207
208
209
210

run_doc_build: &run_doc_build
   - run:
       name: Testing doc build
       command: |
         cd docs
         pip install --progress-bar off -r requirements.txt
         make help
         make singlehtml | tee make.out
         ! tail make.out | grep -q warning
211

212
213
214
215
216
217
# This is an alias to run all unit tests possible on a platform.
run_unittests: &run_unittests
   - run:
       name: Run all unit tests.
       # We run all and not stopping on failure on CPU since docker time is cheaper.
       command: |
218
         pytest --junitxml=test-results/junit.xml --verbose --timeout 60 --cov-report=xml --cov=./
219

Min Xu's avatar
Min Xu committed
220
commands:
221
222
223
224

   # This is a command (like a function) that run tests from a given test_list_file.
   # If test_list_file is not given, this results in an error.
   run_unittests_from_list:
Min Xu's avatar
Min Xu committed
225
     parameters:
226
       test_list_file:
Min Xu's avatar
Min Xu committed
227
         type: string
228
         default: "/dev/non_exist"  # Default to error out
Min Xu's avatar
Min Xu committed
229
230
231
232
     steps:
       - run:
           name: Run Unit Tests
           command: |
233
             if [ ! -f <<parameters.test_list_file>> ]; then exit 1; fi
234
             pytest --junitxml=test-results/junit.xml --verbose --timeout 60 --cov-report=xml --cov=./ `cat <<parameters.test_list_file>>`
Min Xu's avatar
Min Xu committed
235

Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
236
237
238
239
240
# -------------------------------------------------------------------------------------
# Jobs to run
# -------------------------------------------------------------------------------------

jobs:
241
242
  cpu_tests_py37:
    <<: *cpu_py37
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
243
244
245
246
247

    working_directory: ~/fairscale

    steps:
      - checkout
248
      - <<: *check_test_list
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
249
250
251
252
253
      - <<: *setup_venv

      # Cache the venv directory that contains dependencies
      - restore_cache:
          keys:
254
            - cache-key-cpu-py37-181-{{ checksum "setup.py"}}-{{ checksum "requirements-test.txt"}}
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
255

256
      - <<: *install_dep_181
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
257
258
259
260

      - save_cache:
          paths:
            - ~/venv
261
          key: cache-key-cpu-py37-181-{{ checksum "setup.py"}}-{{ checksum "requirements-test.txt"}}
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
262

263
      - <<: *install_repo
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
264

265
266
267
268
      - <<: *run_isort
      - <<: *run_black
      - <<: *run_mypy
      - <<: *run_flake8
269
      - <<: *run_unittests
270
271
272
273
      - <<: *run_doc_build

      - store_test_results:
          path: test-results
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
274

275
276
  cpu_tests_py38:
    <<: *cpu_py38
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
277

278
    working_directory: ~/fairscale
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
279

280
281
    steps:
      - checkout
282
      - <<: *check_test_list
283
      - <<: *setup_venv
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
284

285
286
287
      # Cache the venv directory that contains dependencies
      - restore_cache:
          keys:
288
289
            - cache-key-cpu-py38-181-{{ checksum "setup.py"}}-{{ checksum "requirements-test.txt"}}
      - <<: *install_dep_181
290
291
292
293

      - save_cache:
          paths:
            - ~/venv
294
          key: cache-key-cpu-py38-181-{{ checksum "setup.py"}}-{{ checksum "requirements-test.txt"}}
295

296
      - <<: *install_repo
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
297

298
299
300
301
      - <<: *run_isort
      - <<: *run_black
      - <<: *run_mypy
      - <<: *run_flake8
302
      - <<: *run_unittests
303
      - <<: *run_doc_build
304

Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
305
306
307
      - store_test_results:
          path: test-results

308
309
310
311
312
313
314
  cpu_tests_py39:
    <<: *cpu_py39

    working_directory: ~/fairscale

    steps:
      - checkout
315
      - <<: *check_test_list
316
317
318
319
320
      - <<: *setup_venv

      # Cache the venv directory that contains dependencies
      - restore_cache:
          keys:
321
            - cache-key-cpu-py39-181-0-{{ checksum "setup.py"}}-{{ checksum "requirements-test.txt"}}
322

323
      - <<: *install_dep_181
324
325
326
327

      - save_cache:
          paths:
            - ~/venv
328
          key: cache-key-cpu-py39-181-0-{{ checksum "setup.py"}}-{{ checksum "requirements-test.txt"}}
329

330
      - <<: *install_repo
331
332
333
334
335

      - <<: *run_isort
      - <<: *run_black
      - <<: *run_mypy
      - <<: *run_flake8
336
      - <<: *run_unittests
337
338
339
340
341
342
      - <<: *run_doc_build

      - store_test_results:
          path: test-results


343
  gpu_tests_160:
Min Xu's avatar
Min Xu committed
344
    parameters:
345
      test_list_file:
Min Xu's avatar
Min Xu committed
346
        type: string
347
        default: "/dev/non_exist"
348

349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
    <<: *gpu

    working_directory: ~/fairscale

    steps:
      - checkout

      - run: nvidia-smi

      - run: pyenv global 3.7.0

      - <<: *setup_venv

      # Cache the venv directory that contains dependencies
      - restore_cache:
          keys:
365
            - cache-key-gpu-160-101-{{ checksum "setup.py"}}-{{ checksum "requirements-test.txt"}}
366

367
      - <<: *install_dep_160
368
369
370
371

      - save_cache:
          paths:
            - ~/venv
372
          key: cache-key-gpu-160-101-{{ checksum "setup.py"}}-{{ checksum "requirements-test.txt"}}
373

374
      - <<: *install_repo
375

376
377
      - run_unittests_from_list:
          test_list_file: <<parameters.test_list_file>>
378
379
380

      - store_test_results:
          path: test-results
381

382
      - <<: *upload_coverage
383

384
  gpu_tests_171:
Min Xu's avatar
Min Xu committed
385
    parameters:
386
      test_list_file:
Min Xu's avatar
Min Xu committed
387
        type: string
388
        default: "/dev/non_exist"
Min Xu's avatar
Min Xu committed
389

390
    <<: *gpu_cu111
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
391
392
393
394
395
396
397
398

    working_directory: ~/fairscale

    steps:
      - checkout

      - run: nvidia-smi

399
400
      # Run this to make sure we use python3 from the system.
      - run: pyenv global 3.8.6
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
401
402
403
404
405
406

      - <<: *setup_venv

      # Cache the venv directory that contains dependencies
      - restore_cache:
          keys:
407
            - cache-key-gpu-171-110-{{ checksum "setup.py"}}-{{ checksum "requirements-test.txt"}}
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
408

409
      - <<: *install_dep_171
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
410
411
412
413

      - save_cache:
          paths:
            - ~/venv
414
          key: cache-key-gpu-171-110-{{ checksum "setup.py"}}-{{ checksum "requirements-test.txt"}}
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
415

416
      - <<: *install_repo
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
417

418
419
      - run_unittests_from_list:
          test_list_file: <<parameters.test_list_file>>
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
420
421
422

      - store_test_results:
          path: test-results
423

424
      - <<: *upload_coverage
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
425

426
  gpu_tests_181:
Min Xu's avatar
Min Xu committed
427
    parameters:
428
      test_list_file:
Min Xu's avatar
Min Xu committed
429
        type: string
430
        default: "/dev/non_exist"
Min Xu's avatar
Min Xu committed
431

432
    <<: *gpu
433
434
435
436
437
438
439
440

    working_directory: ~/fairscale

    steps:
      - checkout

      - run: nvidia-smi

441
      # Run this to make sure we use python3 from the system.
442
      - run: pyenv global 3.7.0
443
444
445
446
447
448

      - <<: *setup_venv

      # Cache the venv directory that contains dependencies
      - restore_cache:
          keys:
449
            - cache-key-gpu-181-101-{{ checksum "setup.py"}}-{{ checksum "requirements-test.txt"}}
450

451
      - <<: *install_dep_181
452
453
454
455

      - save_cache:
          paths:
            - ~/venv
456
          key: cache-key-gpu-181-101-{{ checksum "setup.py"}}-{{ checksum "requirements-test.txt"}}
457

458
      - <<: *install_repo
459

460
461
      - run_unittests_from_list:
          test_list_file: <<parameters.test_list_file>>
462
463
464

      - store_test_results:
          path: test-results
465

466
      - <<: *upload_coverage
467

468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
  gpu_tests_190:
    parameters:
      test_list_file:
        type: string
        default: "/dev/non_exist"

    <<: *gpu

    working_directory: ~/fairscale

    steps:
      - checkout

      - run: nvidia-smi

      # Run this to make sure we use python3 from the system.
      - run: pyenv global 3.7.0

      - <<: *setup_venv

      # Cache the venv directory that contains dependencies
      - restore_cache:
          keys:
            - cache-key-gpu-190-101-{{ checksum "setup.py"}}-{{ checksum "requirements-test.txt"}}

      - <<: *install_dep_190

      - save_cache:
          paths:
            - ~/venv
          key: cache-key-gpu-190-101-{{ checksum "setup.py"}}-{{ checksum "requirements-test.txt"}}

      - <<: *install_repo

      - run_unittests_from_list:
          test_list_file: <<parameters.test_list_file>>

      - store_test_results:
          path: test-results

508
  benchmarks_1:
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
509
510
511
512
513
514
515
516
517
    <<: *gpu

    working_directory: ~/fairscale

    steps:
      - checkout

      - run: nvidia-smi

518
519
520
521
      - run: pyenv uninstall -f 3.7.0

      - run: pyenv install 3.7.0

Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
522
523
524
525
526
527
528
      - run: pyenv global 3.7.0

      - <<: *setup_venv

      # Cache the venv directory that contains dependencies
      - restore_cache:
          keys:
529
            - cache-key-benchmarks-181-101-{{ checksum "setup.py"}}-{{ checksum "requirements-test.txt"}}
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
530

531
532
533
534
535
      # Cache the MNIST directory that contains benchmark data
      - restore_cache:
          keys:
            - cache-key-benchmark-MNIST-{{ checksum "benchmarks/datasets/mnist.py"}}

536
      - <<: *install_dep_181
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
537
538
539
540

      - save_cache:
          paths:
            - ~/venv
541
          key: cache-key-benchmarks-181-101-{{ checksum "setup.py"}}-{{ checksum "requirements-test.txt"}}
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
542

543
      - <<: *install_repo
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
544

Jun Ru Anderson's avatar
Jun Ru Anderson committed
545
      - <<: *run_pipe_benchmark
Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
546

547
548
549
      - <<: *run_oss_amp

      - <<: *run_oss_for_each
550

551
552
      - <<: *run_oss_gloo

553
554
555
556
557
      - save_cache:
          paths:
            - /tmp/MNIST
          key: cache-key-benchmark-MNIST-{{ checksum "benchmarks/datasets/mnist.py"}}

558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
  benchmarks_2:
    <<: *gpu

    working_directory: ~/fairscale

    steps:
      - checkout

      - run: nvidia-smi

      - run: pyenv uninstall -f 3.7.0

      - run: pyenv install 3.7.0

      - run: pyenv global 3.7.0

      - <<: *setup_venv

      # Cache the venv directory that contains dependencies
      - restore_cache:
          keys:
579
            - cache-key-benchmarks-181-101-{{ checksum "setup.py"}}-{{ checksum "requirements-test.txt"}}
580

581
582
583
584
585
586

      # Cache the MNIST directory that contains benchmark data
      - restore_cache:
          keys:
            - cache-key-benchmark-MNIST-{{ checksum "benchmarks/datasets/mnist.py"}}

587
      - <<: *install_dep_181
588
589
590
591

      - save_cache:
          paths:
            - ~/venv
592
          key: cache-key-benchmarks-181-101-{{ checksum "setup.py"}}-{{ checksum "requirements-test.txt"}}
593

594
      - <<: *install_repo
595
596

      - <<: *run_oss_benchmark
597

598
599
600
601
602
      - save_cache:
          paths:
            - /tmp/MNIST
          key: cache-key-benchmark-MNIST-{{ checksum "benchmarks/datasets/mnist.py"}}

Mandeep Singh Baines's avatar
Mandeep Singh Baines committed
603
604
605
606
607

workflows:
  version: 2
  build:
    jobs:
608
609
610
      - cpu_tests_py37
      - cpu_tests_py38
      - cpu_tests_py39
Min Xu's avatar
Min Xu committed
611
      - gpu_tests_160:
612
          test_list_file: tests/ci_test_list_1.txt
Min Xu's avatar
Min Xu committed
613
      - gpu_tests_171:
614
          test_list_file: tests/ci_test_list_1.txt
615
      - gpu_tests_181:
616
          test_list_file: tests/ci_test_list_1.txt
617
618
      - gpu_tests_190:
          test_list_file: tests/ci_test_list_1.txt
Min Xu's avatar
Min Xu committed
619
      - gpu_tests_160:
620
          test_list_file: tests/ci_test_list_2.txt
Min Xu's avatar
Min Xu committed
621
      - gpu_tests_171:
622
          test_list_file: tests/ci_test_list_2.txt
623
      - gpu_tests_181:
624
          test_list_file: tests/ci_test_list_2.txt
625
626
      - gpu_tests_190:
          test_list_file: tests/ci_test_list_2.txt
Min Xu's avatar
Min Xu committed
627
      - gpu_tests_160:
628
          test_list_file: tests/ci_test_list_3.txt
Min Xu's avatar
Min Xu committed
629
      - gpu_tests_171:
630
          test_list_file: tests/ci_test_list_3.txt
631
      - gpu_tests_181:
632
          test_list_file: tests/ci_test_list_3.txt
633
634
      - gpu_tests_190:
          test_list_file: tests/ci_test_list_3.txt
635
636
      - benchmarks_1
      - benchmarks_2