Skip to content

beehive-lab/tornadovm-benchmarks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

90 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TornadoVM Benchmark Suite

TornadoVM Benchmark Suite. This is a work in progress and it is a framework to compare the TornadoVM applications with Java Streams and Java Vector API. Not all implementations contain the Java Vector API at the moment.

Note: this benchmarking suite is currently under development and definition. Some kernels may not be suitable due to lack of relevance or input size limitations on certain accelerators. The suite aims to showcase code diversification, with a focus on LLM, physics, and math simulation workloads.

How to build?

./build.sh

Then install TornadoVM in a separated directory:

git clone https://github.com/beehive-lab/TornadoVM
cd tornadovm 
./bin/tornadovm-installer --backend=opencl --jdk jdk21 
cp setvars.sh .. 
cd ..

How to run?

Setup the environment:

source setvars.sh

Run Individual benchamrk:

# Matrix Multiplication
./run.sh mxm

# Matrix Vector
./run.sh mxv

# Mandelbrot
./run.sh mandelbrot

# Montecarlo
./run.sh motecarlo

# Run DFT
./run.sh dft

# Matrix Transpose
./run.sh mt

Run all:

./run.sh 

Run with JMH

./run.sh <benchmark> jmh

For example, to run mxm with jmh:

./run.sh mxm jmh

How to Change Device for an Specific Benchmark?

For example, device 0:2 for the benchmark mxv:

tornado --printKernel --jvm="-Dtornado.device.memory=2GB -Dbenchmark.mxv.device=0:2" -cp target/tornadovm-benchmarks-1.0-SNAPSHOT.jar tornadovm.benchmarks.Main mxv

About

TornadoVM Benchmark Suite

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published