This project explores the parallelisation of Iterative Stencil Loops using different implementations in Java.
Iterative stencil algorithms are widely used in solving partial differential equations and image processing. This project focuses on parallelising these algorithms to improve performance.
- Executor Service: Utilises Java's
ExecutorServiceframework for parallel execution. - Aparapi: Leverages Aparapi for GPU-accelerated computations.
- Pyjama: Uses the Pyjama research framework from the University of Auckland which utilises OpenMP-like directives to parallelise Java code.
Only the main branch explores the Pyjama implementation, which is under active development.
You can download the latest JAR release here.
To run the JAR file in your terminal:
- Navigate to the directory where
StencilParallelisation.jaris downloaded. - Execute the following command:
java -jar StencilParallelisation.jar
To run from source, follow these steps:
- Clone the repository:
git clone https://github.com/ravinravi03/Stencil-Algorithm-Parallelisation.git
- Navigate into the project directory:
cd Stencil-Algorithm-Parallelisation/Stencil
- Use Maven to execute the Java application:
mvn exec:java