Skip to content

Commit 226e452

Browse files
committed
Improve build and run workflow with detailed logs
Enhanced logging and error checking in TornadoVM and GPULlama3 build steps. Update build-and-run.yml Update build-and-run.yml Update build-and-run.yml Refactor build-and-run workflow for GPULlama3 Updated the GitHub Actions workflow for GPULlama3 to improve clarity and organization. Adjusted environment variables and streamlined the build process for TornadoVM and GPULlama3. Update build-and-run.yml Refactor TornadoVM SDK path handling in workflow Add LLAMA_ROOT environment variable to workflow
1 parent 6df00dc commit 226e452

File tree

1 file changed

+53
-34
lines changed

1 file changed

+53
-34
lines changed
Lines changed: 53 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,91 @@
11
name: GPULlama3 Build & Run
2+
23
on:
34
push:
4-
branches:
5-
- main
5+
branches: [ main ]
66
pull_request:
7+
78
jobs:
89
build-and-run:
910
runs-on: self-hosted
11+
1012
env:
11-
# TornadoVM paths
12-
TORNADO_ROOT: ${{ github.workspace }}/GPULlama3.java/external/tornadovm
13-
TORNADO_SDK: ${{ github.workspace }}/GPULlama3.java/external/tornadovm/bin/sdk # Keep this for make
14-
# Java
1513
JAVA_HOME: /opt/jenkins/jdks/graal-23.1.0/jdk-21.0.3
14+
TORNADO_ROOT: ${{ github.workspace }}/GPULlama3.java/external/tornadovm
15+
LLAMA_ROOT: ${{ github.workspace }}
16+
1617
steps:
1718
- name: Checkout GPULlama3
1819
uses: actions/checkout@v4
1920
with:
2021
fetch-depth: 0
22+
2123
- name: Clone TornadoVM explicitly
2224
run: |
23-
git clone --branch master https://github.com/beehive-lab/TornadoVM.git GPULlama3.java/external/tornadovm
24-
cd GPULlama3.java/external/tornadovm
25-
git pull origin master
25+
git clone --depth 1 --branch master \
26+
https://github.com/beehive-lab/TornadoVM.git \
27+
GPULlama3.java/external/tornadovm
28+
2629
- name: Verify Java
2730
run: |
2831
java -version
29-
echo "JAVA_HOME=$JAVA_HOME"
32+
echo JAVA_HOME=$JAVA_HOME
33+
3034
- name: Set up Python 3
3135
uses: actions/setup-python@v4
3236
with:
33-
python-version: '3.11'
37+
python-version: "3.11"
38+
3439
- name: Create Python venv
3540
run: |
3641
cd GPULlama3.java/external/tornadovm
3742
python3 -m venv venv
38-
source venv/bin/activate
43+
3944
- name: Build TornadoVM
4045
run: |
46+
set -x
4147
cd GPULlama3.java/external/tornadovm
4248
source venv/bin/activate
43-
make # Uses the initial TORNADO_SDK from env
49+
echo "=== Building TornadoVM ==="
50+
make
51+
echo "=== Searching for TornadoVM SDK directory ==="
52+
SDK_DIR=$(find dist -type d -maxdepth 3 -path "*/tornadovm-*-opencl" | head -n 1)
53+
if [ -z "$SDK_DIR" ]; then
54+
echo "::error::Could not locate TornadoVM SDK directory!"
55+
find dist -maxdepth 5 -type d
56+
exit 1
57+
fi
58+
FULL_SDK="${PWD}/${SDK_DIR}"
59+
echo "Detected TornadoVM SDK: $FULL_SDK"
60+
61+
# Export for current shell session
62+
export TORNADO_SDK="$FULL_SDK"
63+
export PATH="$FULL_SDK/bin:$JAVA_HOME/bin:$PATH"
4464
45-
# After build, find and update TORNADO_SDK to the actual SDK location
46-
TORNADO_SDK_DIR=$(ls -d dist/tornado-sdk/tornado-sdk-* | head -1)
47-
FULL_TORNADO_SDK="${PWD}/${TORNADO_SDK_DIR}"
48-
echo "TORNADO_SDK=${FULL_TORNADO_SDK}" >> $GITHUB_ENV
49-
echo "Updated TORNADO_SDK to: ${FULL_TORNADO_SDK}"
65+
# Save for subsequent steps
66+
echo "TORNADO_SDK=$FULL_SDK" >> $GITHUB_ENV
67+
echo "PATH=$PATH" >> $GITHUB_ENV
5068
51-
# Verify TornadoVM with the updated path
52-
export TORNADO_SDK="${FULL_TORNADO_SDK}"
53-
export PATH="${TORNADO_SDK}/bin:$JAVA_HOME/bin:$PATH"
69+
echo "=== Checking tornado CLI ==="
70+
which tornado || { echo "::error::tornado not in PATH"; exit 1; }
5471
tornado --devices
72+
5573
- name: Build GPULlama3
5674
run: |
57-
export PATH="${TORNADO_SDK}/bin:$JAVA_HOME/bin:$PATH"
58-
echo "Using TORNADO_SDK: $TORNADO_SDK"
59-
pwd
60-
ls -l
75+
set -x
76+
cd ${{ github.workspace }}
77+
echo "Using TORNADO_SDK=$TORNADO_SDK"
78+
export PATH="$TORNADO_SDK/bin:$JAVA_HOME/bin:$PATH"
79+
which tornado || { echo "::error::tornado unavailable during GPULlama3 build"; exit 1; }
80+
tornado --version
6181
make
82+
6283
- name: Run llama-tornado test prompt
6384
run: |
64-
# The TORNADO_SDK variable is available because it was updated via GITHUB_ENV
65-
export PATH="${TORNADO_SDK}/bin:$JAVA_HOME/bin:$PATH"
66-
echo "Using TORNADO_SDK: $TORNADO_SDK"
67-
./llama-tornado --gpu --opencl --model /home/michalis/models/Llama-3.2-1B-Instruct-F16.gguf --prompt "Say hello"
68-
# - name: Run llama-tornado test prompt
69-
# run: |
70-
# # export PATH="${TORNADO_SDK}/bin:$JAVA_HOME/bin:$PATH"
71-
# echo "Using TORNADO_SDK: $TORNADO_SDK"
72-
# ./llama-tornado --gpu --opencl --model /home/michalis/models/Llama-3.2-1B-Instruct-F16.gguf --prompt "Say hello"
85+
set -x
86+
cd ${{ github.workspace }}
87+
export PATH="$TORNADO_SDK/bin:$JAVA_HOME/bin:$PATH"
88+
which tornado || { echo "::error::tornado not found at runtime"; exit 1; }
89+
./llama-tornado --gpu --opencl \
90+
--model /home/michalis/models/Llama-3.2-1B-Instruct-F16.gguf \
91+
--prompt "Say hello"

0 commit comments

Comments
 (0)