11name : GPULlama3 Build & Run
2-
32on :
43 push :
54 branches : [ main ]
87 types : [opened, synchronize, reopened]
98
109jobs :
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