Cyclone is a library that aims at using hardware acceleration to perform operations on multidimensional arrays. Through the use of TornadoVM, Cyclone is able to offload operations onto hardware specialized in parallel computation (e.g. GPUs). In essence, this library offers a wide variety of wrappers for computation kernels for common operations on n-dimensional arrays. This allows developers to write high-performance code in Java, while still benefiting from the expansive Java ecosystem.
Currently, Cyclone is still very much a WIP. The following steps can be followed to build the library:
git clone https://github.com/PolyRocketMatt/Cyclone.git
cd Cyclone
./gradlew clean build publishToMavenLocal
Please note that since this library makes use of TornadoVM, it is necessary to have its SDK installed. A guide on how to do this can be found here.
Cyclone is still in early development. The following features are planned for the library:
- Arithmetic operations on n-d arrays
- Utility functions for n-d arrays
- ... more to be announced later
Icons made by Freepik from Flaticon