11name : GPULlama3 Build & Run
2+
23on :
34 push :
45 branches : [ main ]
78 types : [opened, synchronize, reopened]
89
910jobs :
10- build-and-test :
11+ build-and-run :
1112 runs-on : self-hosted
1213
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-
2114 env :
2215 JAVA_HOME : /opt/jenkins/jdks/graal-23.1.0/jdk-21.0.3
2316 TORNADO_ROOT : ${{ github.workspace }}/GPULlama3.java/external/tornadovm
24- LLAMA_ROOT : ${{ github.workspace }}
25- MODEL_DIR : /home/michalis/models
17+ LLAMA_ROOT : ${{ github.workspace }}
2618
2719 steps :
2820 - name : Checkout GPULlama3
2921 uses : actions/checkout@v4
3022 with :
3123 fetch-depth : 0
32-
24+
3325 - name : Check code formatting (Spotless)
3426 run : |
3527 cd ${{ github.workspace }}
@@ -40,12 +32,15 @@ jobs:
4032 git clone --depth 1 --branch master \
4133 https://github.com/beehive-lab/TornadoVM.git \
4234 GPULlama3.java/external/tornadovm
43-
35+ - name : Set up Python venv for TornadoVM
36+ run : |
37+ python3 -m venv GPULlama3.java/external/tornadovm/venv
38+ source GPULlama3.java/external/tornadovm/venv/bin/activate
39+ python --version
4440 - name : Build TornadoVM
4541 run : |
4642 set -x
4743 cd GPULlama3.java/external/tornadovm
48- python3 -m venv venv
4944 source venv/bin/activate
5045 echo "=== Building TornadoVM ==="
5146 make
@@ -59,16 +54,17 @@ jobs:
5954 FULL_SDK="${PWD}/${SDK_DIR}"
6055 echo "Detected TornadoVM SDK: $FULL_SDK"
6156
57+ # Export for current shell session
6258 export TORNADO_SDK="$FULL_SDK"
6359 export PATH="$FULL_SDK/bin:$JAVA_HOME/bin:$PATH"
6460
61+ # Save for subsequent steps
6562 echo "TORNADO_SDK=$FULL_SDK" >> $GITHUB_ENV
6663 echo "PATH=$PATH" >> $GITHUB_ENV
6764
6865 echo "=== Checking tornado CLI ==="
6966 which tornado || { echo "::error::tornado not in PATH"; exit 1; }
7067 tornado --devices
71-
7268 - name : Build GPULlama3
7369 run : |
7470 set -x
@@ -78,16 +74,12 @@ jobs:
7874 which tornado || { echo "::error::tornado unavailable during GPULlama3 build"; exit 1; }
7975 tornado --version
8076 make
81-
82- - name : Test Inference ${{ matrix.model.name }} with OpenCL
77+ - name : Run Test Inference
8378 run : |
8479 set -x
8580 cd ${{ github.workspace }}
8681 export PATH="$TORNADO_SDK/bin:$JAVA_HOME/bin:$PATH"
8782 which tornado || { echo "::error::tornado not found at runtime"; exit 1; }
88-
89- echo "=== Testing ${{ matrix.model.name }} ==="
9083 ./llama-tornado --gpu --opencl \
91- --model $MODEL_DIR/${{ matrix.model.file }} \
92- --prompt "Tell me a joke" \
93- --max-tokens 50
84+ --model /home/michalis/models/Llama-3.2-1B-Instruct-F16.gguf \
85+ --prompt "Say hello"
0 commit comments