-
-
Notifications
You must be signed in to change notification settings - Fork 28
95 lines (89 loc) · 3.09 KB
/
memory-benchmark.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
name: rwkv-x Memory Benchmarks
on:
workflow_dispatch:
# permissions:
# users:
# - picocreator
inputs:
notebookFile:
description: 'Notebook to run (inside `experiment/memory-bench` dir)'
required: true
gpuTarget:
description: 'GPU Target (use 1x24vgb)'
# required: true
default: '1x24vgb'
lanePrefence:
description: 'Lane preferenc (lane1,laneX)'
default: "laneX"
cudaVersion:
description: 'cuda version'
# required: true
default: '11-8'
huggingFaceRepo:
description: 'Hugging Face repo to upload to'
default: 'rwkv-x-dev/rwkv-x-playground'
env:
# Notebook runner settings
gpuTarget: ${{github.event.inputs.gpuTarget}}
cudaVersion: ${{github.event.inputs.cudaVersion}}
# HF repo to sync to
HF_REPO_SYNC: ${{github.event.inputs.huggingFaceRepo}}
# Cache dir size limit
RUNNER_CACHE_SIZE_LIMIT: 100G
# Secrets
HUGGING_FACE_HUB_TOKEN: ${{secrets.HUGGING_FACE_HUB_TOKEN}}
WANDB_API_KEY: ${{secrets.WANDB_API_KEY}}
jobs:
notebook-run:
# Due to github worker hard limitation, of 24 hours
# we apply a timeout of 23 hours instead.
timeout-minutes: 1380
name: ${{github.event.inputs.notebookFile}} - ${{github.event.inputs.gpuTarget}} / cuda-${{github.event.inputs.cudaVersion}}
runs-on:
- cuda-${{github.event.inputs.cudaVersion}}
- ${{github.event.inputs.gpuTarget}}
- ${{github.event.inputs.lanePrefence}}
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Setup HF cache
run: |
cd ./notebook/github-runner
chmod +x ./hf-cache-setup.sh
./hf-cache-setup.sh
- name: Update external services
run: |
pip install --upgrade huggingface_hub
pip install --upgrade wandb
- name: Run the notebook, with harness
run: |
cd ./notebook/github-runner
chmod +x ./github-runner.sh
./github-runner.sh "experiment/memory-bench/${{github.event.inputs.notebookFile}}"
- name: Copy the CSV output files, into output folder
run: |
mkdir -p ./output/experiment/memory-bench/logs/
cp ./notebook/experiment/memory-bench/logs/*.csv ./output/experiment/memory-bench/logs/
ls -lh ./output/experiment/memory-bench/logs/
- name: Save output notebook & CSV files
if: always()
uses: actions/upload-artifact@v3
with:
name: output-notebook
path: |
output
- name: Upload outputs to HF
if: always()
run: |
cd ./notebook/github-runner
chmod +x ./hf-upload-runner.sh
./hf-upload-runner.sh "experiment/memory-bench/${{github.event.inputs.notebookFile}}"
# # Note that this is meant to be a contigency measure, in case the HF upload failed
# - name: Save output models
# uses: actions/upload-artifact@v3
# if: failure()
# with:
# name: output-models
# path: |
# model/*.pth
# retention-days: 14