Skip to content

Commit 88ef799

Browse files
authored
Refactor build-and-run workflow with model matrix
Updated workflow to include matrix strategy for models and modified test prompt.
1 parent 1174056 commit 88ef799

File tree

1 file changed

+22
-18
lines changed

1 file changed

+22
-18
lines changed
Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
name: GPULlama3 Build & Run
2-
32
on:
43
push:
54
branches: [ main ]
@@ -8,20 +7,29 @@ on:
87
types: [opened, synchronize, reopened]
98

109
jobs:
11-
build-and-run:
10+
build-and-test:
1211
runs-on: self-hosted
1312

13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
model:
17+
- Llama-3.2-1B-Instruct-F16.gguf
18+
- Qwen3-4B-f16.gguf
19+
- DeepSeek-R1-Distill-Qwen-1.5B-F16.gguf
20+
1421
env:
1522
JAVA_HOME: /opt/jenkins/jdks/graal-23.1.0/jdk-21.0.3
1623
TORNADO_ROOT: ${{ github.workspace }}/GPULlama3.java/external/tornadovm
17-
LLAMA_ROOT: ${{ github.workspace }}
24+
LLAMA_ROOT: ${{ github.workspace }}
25+
MODEL_DIR: /home/michalis/models
1826

1927
steps:
2028
- name: Checkout GPULlama3
2129
uses: actions/checkout@v4
2230
with:
2331
fetch-depth: 0
24-
32+
2533
- name: Check code formatting (Spotless)
2634
run: |
2735
cd ${{ github.workspace }}
@@ -32,17 +40,12 @@ jobs:
3240
git clone --depth 1 --branch master \
3341
https://github.com/beehive-lab/TornadoVM.git \
3442
GPULlama3.java/external/tornadovm
35-
36-
- name: Set up Python venv for TornadoVM
37-
run: |
38-
python3 -m venv GPULlama3.java/external/tornadovm/venv
39-
source GPULlama3.java/external/tornadovm/venv/bin/activate
40-
python --version
41-
43+
4244
- name: Build TornadoVM
4345
run: |
4446
set -x
4547
cd GPULlama3.java/external/tornadovm
48+
python3 -m venv venv
4649
source venv/bin/activate
4750
echo "=== Building TornadoVM ==="
4851
make
@@ -56,18 +59,16 @@ jobs:
5659
FULL_SDK="${PWD}/${SDK_DIR}"
5760
echo "Detected TornadoVM SDK: $FULL_SDK"
5861
59-
# Export for current shell session
6062
export TORNADO_SDK="$FULL_SDK"
6163
export PATH="$FULL_SDK/bin:$JAVA_HOME/bin:$PATH"
6264
63-
# Save for subsequent steps
6465
echo "TORNADO_SDK=$FULL_SDK" >> $GITHUB_ENV
6566
echo "PATH=$PATH" >> $GITHUB_ENV
6667
6768
echo "=== Checking tornado CLI ==="
6869
which tornado || { echo "::error::tornado not in PATH"; exit 1; }
6970
tornado --devices
70-
71+
7172
- name: Build GPULlama3
7273
run: |
7374
set -x
@@ -77,13 +78,16 @@ jobs:
7778
which tornado || { echo "::error::tornado unavailable during GPULlama3 build"; exit 1; }
7879
tornado --version
7980
make
80-
81-
- name: Run llama-tornado test prompt
81+
82+
- name: Test Inference ${{ matrix.model.name }} with OpenCL
8283
run: |
8384
set -x
8485
cd ${{ github.workspace }}
8586
export PATH="$TORNADO_SDK/bin:$JAVA_HOME/bin:$PATH"
8687
which tornado || { echo "::error::tornado not found at runtime"; exit 1; }
88+
89+
echo "=== Testing ${{ matrix.model.name }} ==="
8790
./llama-tornado --gpu --opencl \
88-
--model /home/michalis/models/Llama-3.2-1B-Instruct-F16.gguf \
89-
--prompt "Say hello"
91+
--model $MODEL_DIR/${{ matrix.model.file }} \
92+
--prompt "Tell me a joke" \
93+
--max-tokens 50

0 commit comments

Comments
 (0)