TornadoVM v1.0
TornadoVM 1.0
05/12/2023
Improvements
- Brand-new API for allocating off-heap objects and array collections using the Panama Memory Segment API.
- New Arrays, Matrix and Vector type objects are allocated using the Panama API.
- Migration of existing applications to use the new Panama-based types: https://tornadovm.readthedocs.io/en/latest/offheap-types.html
- Handling of the TornadoVM's internal bytecode improved to avoid write-only copies from host to device.
cospi
andsinpi
math operations supported for OpenCL, PTX and SPIR-V.- Vector 16 data types supported for
float
,double
andint
. - Support for Mesa's
rusticl
. - Device default ordering improved based on maximum thread size.
- Move all the installation and configuration scripts from Bash to Python.
- The installation process has been improved for Linux and OSx with M1/M2 chips.
- Documentation improved.
- Add profiling information for the testing scripts.
Compatibility/Integration
- Integration with the Graal 23.1.0 JIT Compiler.
- Integration with OpenJDK 21.
- Integration with Truffle Languages (Python, Ruby and Javascript) using Graal 23.1.0.
- TornadoVM API Refactored.
- Backport bug-fixes for branch using OpenJDK 17:
master-jdk17
Bug fixes:
- Multiple SPIR-V Devices fixed.
- Runtime Exception when no SPIR-V devices are present.
- Issue with the kernel context API when invoking multiple kernels fixed.
- MTMD mode is fixed when running multiple backends on the same device.
long
type as a constant parameter for a kernel fixed.- FPGA Compilation and Execution fixed for AWS and Xilinx devices.
- Batch processing fixed for different data types of the same size.