Skip to content

Commit 0cd9f61

Browse files
committed
Add first GitHub Action
Add build n run action Add build n run action test Add build n run action test [CI] Test [CI] Test [CI] Test [CI] Test [CI] Test [CI] Test [CI] Remove unused `PATH` env configuration from build-and-run workflow [CI] Remove unused `PATH` env configuration from build-and-run workflow [CI] Simplify checkout step in build-and-run workflow [CI] Remove duplicate checkout step from build-and-run workflow [CI] Comment out unused `PATH` env configuration in build-and-run workflow Simplify TornadoVM build command Add Tornado SDK to PATH in build workflow Reorder PATH export and directory change for TornadoVM Fixed the order of PATH export and directory change for building TornadoVM. Update build-and-run.yml Update build-and-run workflow for TornadoVM Update build-and-run.yml Simplify build step in workflow Removed unnecessary directory change before build step. Update build-and-run.yml Update build-and-run.yml Update build-and-run.yml Update build-and-run.yml Update build-and-run.yml
1 parent 0060fc6 commit 0cd9f61

File tree

2 files changed

+86
-0
lines changed

2 files changed

+86
-0
lines changed
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
name: GPULlama3 Build & Run
2+
on:
3+
push:
4+
branches:
5+
- main
6+
pull_request:
7+
jobs:
8+
build-and-run:
9+
runs-on: self-hosted
10+
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
15+
JAVA_HOME: /opt/jenkins/jdks/graal-23.1.0/jdk-21.0.3
16+
steps:
17+
- name: Checkout GPULlama3
18+
uses: actions/checkout@v4
19+
with:
20+
fetch-depth: 0
21+
- name: Clone TornadoVM explicitly
22+
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
26+
- name: Verify Java
27+
run: |
28+
java -version
29+
echo "JAVA_HOME=$JAVA_HOME"
30+
- name: Set up Python 3
31+
uses: actions/setup-python@v4
32+
with:
33+
python-version: '3.11'
34+
- name: Create Python venv
35+
run: |
36+
cd GPULlama3.java/external/tornadovm
37+
python3 -m venv venv
38+
source venv/bin/activate
39+
- name: Build TornadoVM
40+
run: |
41+
cd GPULlama3.java/external/tornadovm
42+
source venv/bin/activate
43+
make # Uses the initial TORNADO_SDK from env
44+
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}"
50+
51+
# Verify TornadoVM with the updated path
52+
export TORNADO_SDK="${FULL_TORNADO_SDK}"
53+
export PATH="${TORNADO_SDK}/bin:$JAVA_HOME/bin:$PATH"
54+
tornado --devices
55+
- name: Build GPULlama3
56+
run: |
57+
export PATH="${TORNADO_SDK}/bin:$JAVA_HOME/bin:$PATH"
58+
echo "Using TORNADO_SDK: $TORNADO_SDK"
59+
pwd
60+
ls -l
61+
make
62+
- name: Run llama-tornado test prompt
63+
run: |
64+
# export PATH="${TORNADO_SDK}/bin:$JAVA_HOME/bin:$PATH"
65+
echo "Using TORNADO_SDK: $TORNADO_SDK"
66+
./llama-tornado --gpu --opencl --model /home/michalis/models/Llama-3.2-1B-Instruct-F16.gguf --prompt "Say hello"

.github/workflows/first-action.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: My First Action
2+
3+
on:
4+
push:
5+
branches: [ main ] # runs every time you push to main
6+
workflow_dispatch: # allows you to trigger manually
7+
8+
jobs:
9+
hello:
10+
runs-on: self-hosted # runs on your thunder-server
11+
steps:
12+
- name: Checkout code
13+
uses: actions/checkout@v4
14+
15+
- name: Say hello
16+
run: |
17+
echo "👋 Hello from my self-hosted runner!"
18+
echo "Running on $(hostname)"
19+
echo "Time: $(date)"
20+

0 commit comments

Comments
 (0)