diff --git a/README.md b/README.md
index 363b5a6f01..1859836e29 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,7 @@ Developers can choose which backends to install and run.
For a quick introduction please read the following [FAQ](https://tornadovm.readthedocs.io/en/latest/).
-**Latest Release:** TornadoVM 0.15.2 - 26/07/2023 : See [CHANGELOG](https://tornadovm.readthedocs.io/en/latest/CHANGELOG.html).
+**Latest Release:** TornadoVM 1.0 - 05/12/2023 : See [CHANGELOG](https://tornadovm.readthedocs.io/en/latest/CHANGELOG.html).
----------------------
@@ -222,12 +222,12 @@ You can import the TornadoVM API by setting this the following dependency in the
tornado
tornado-api
- 0.15.2
+ 1.0
tornado
tornado-matrices
- 0.15.2
+ 1.0
```
diff --git a/bin/tornadovm-installer b/bin/tornadovm-installer
index b537685621..fb07869a0a 100755
--- a/bin/tornadovm-installer
+++ b/bin/tornadovm-installer
@@ -343,10 +343,10 @@ def listSupportedJDKs():
zulu-jdk-21 : Install TornadoVM with Azul Zulu JDK 21"
Usage:
- $ ./scripts/tornadovm-installer --jdk --backend
+ $ ./bin/tornadovm-installer --jdk --backend
If you want to select another version of OpenJDK, you can use --javaHome="" and install as follows:
- $ ./scripts/tornadovm-installer --backend --javaHome=
+ $ ./bin/tornadovm-installer --backend --javaHome=
"""
)
diff --git a/docs/source/CHANGELOG.rst b/docs/source/CHANGELOG.rst
index 12d970930c..55d164eb75 100644
--- a/docs/source/CHANGELOG.rst
+++ b/docs/source/CHANGELOG.rst
@@ -5,11 +5,53 @@ TornadoVM Changelog
This file summarizes the new features and major changes for each *TornadoVM* version.
+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`` and ``sinpi`` math operations supported for OpenCL, PTX and SPIR-V.
+- Vector 16 data types supported for ``float``, ``double`` and ``int``.
+- 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.
+
TornadoVM 0.15.2
----------------
-26/07/2023
+26/07/2023
Improvements
~~~~~~~~~~~~~~~~~~
@@ -20,37 +62,37 @@ Improvements
Compatibility/Integration
-~~~~~~~~~~~~~~~~~~~~~
+~~~~~~~~~~~~~~~~~~~~~~~~~
-- Initial integration with ComputeAorta (part of the Codeplay's oneAPI Construction Kit for RISC-V) to run on RISC-V with Vector Instructions (OpenCL backend) in emulation mode.
+- Initial integration with ComputeAorta (part of the Codeplay's oneAPI Construction Kit for RISC-V) to run on RISC-V with Vector Instructions (OpenCL backend) in emulation mode.
- Beehive SPIR-V Toolkit dependency updated.
-- Tests for prebuilt SPIR-V kernels fixed to dispatch SPIR-V binaries through the Level Zero and OpenCL runtimes.
-- Deprecated ``javac.py`` script removed.
+- Tests for prebuilt SPIR-V kernels fixed to dispatch SPIR-V binaries through the Level Zero and OpenCL runtimes.
+- Deprecated ``javac.py`` script removed.
Bug fixes:
~~~~~~~~~~~~~~~~~
- TornadoVM OpenCL Runtime throws an exception when the detected hardware does not support FP64.
-- Fix the installer for the older Apple with the x86 architecture using AMD GPUs.
+- Fix the installer for the older Apple with the x86 architecture using AMD GPUs.
- Installer for ARM based systems fixed.
-- Installer fixed for Microsoft WSL and NVIDIA GPUs.
+- Installer fixed for Microsoft WSL and NVIDIA GPUs.
- OpenCL code generator fixed to avoid using the reserved OpenCL keywords from Java function parameters.
-- Dump profiler option fixed.
+- Dump profiler option fixed.
TornadoVM 0.15.1
----------------
-15/05/2023
+15/05/2023
Improvements
~~~~~~~~~~~~~~~~~~
-- Introduction of a device selection heuristic based on the computing capabilities of devices. TornadoVM selects, as the default device, the fastest device based on its computing capability.
-- Optimisation of removing redundant data copies for Read-Only and Write-Only buffers from between the host (CPU) and the device (GPU) based on the Tornado Data Flow Graph.
+- Introduction of a device selection heuristic based on the computing capabilities of devices. TornadoVM selects, as the default device, the fastest device based on its computing capability.
+- Optimisation of removing redundant data copies for Read-Only and Write-Only buffers from between the host (CPU) and the device (GPU) based on the Tornado Data Flow Graph.
- New installation script for TornadoVM.
-- Option to dump the TornadoVM bytecodes for the unit tests.
+- Option to dump the TornadoVM bytecodes for the unit tests.
- Full debug option improved. Use ``--fullDebug``.
@@ -58,43 +100,43 @@ Compatibility/Integration
~~~~~~~~~~~~~~~~~~~~~
- Integration and compatibility with the Graal 22.3.2 JIT Compiler.
-- Improved compatibility with Apple M1 and Apple M2 through the OpenCL Backend.
-- GraalVM/Truffle programs integration improved. Use ``--truffle`` in the ``tornado`` script to run guest programs with Truffle.
- Example: ``tornado --truffle python myProgram.py``
- Full documentation: https://tornadovm.readthedocs.io/en/latest/truffle-languages.html
+- Improved compatibility with Apple M1 and Apple M2 through the OpenCL Backend.
+- GraalVM/Truffle programs integration improved. Use ``--truffle`` in the ``tornado`` script to run guest programs with Truffle.
+ Example: ``tornado --truffle python myProgram.py``
+ Full documentation: https://tornadovm.readthedocs.io/en/latest/truffle-languages.html
Bug fixes:
~~~~~~~~~~~~~~~~~
-- Documentation that resets the device's memory: https://github.com/beehive-lab/TornadoVM/blob/master/tornado-api/src/main/java/uk/ac/manchester/tornado/api/TornadoExecutionPlan.java#L282
-- Append the Java ``CLASSPATH`` to the ``cp`` option from the ``tornado`` script.
+- Documentation that resets the device's memory: https://github.com/beehive-lab/TornadoVM/blob/master/tornado-api/src/main/java/uk/ac/manchester/tornado/api/TornadoExecutionPlan.java#L282
+- Append the Java ``CLASSPATH`` to the ``cp`` option from the ``tornado`` script.
- Dependency fixed for the ``cmake-maven`` plugin fixed for ARM-64 arch.
-- Fixed the automatic installation for Apple M1/M2 and ARM-64 and NVIDIA Jetson nano computing systems.
-- Integration with IGV fixed. Use the ``--igv`` option for the ``tornado`` and ``tornado-test`` scripts.
+- Fixed the automatic installation for Apple M1/M2 and ARM-64 and NVIDIA Jetson nano computing systems.
+- Integration with IGV fixed. Use the ``--igv`` option for the ``tornado`` and ``tornado-test`` scripts.
TornadoVM 0.15
----------------
-27/01/2023
+27/01/2023
Improvements
~~~~~~~~~~~~~~~~~~
- New TornadoVM API:
-
+
- API refactoring (``TaskSchedule`` has been renamed to ``TaskGraph``)
- Introduction of the Immutable ``TaskGraphs``
- Introduction of the TornadoVM Execution Plans: (``TornadoExecutionPlan``)
-
- - The documentation of migration of existing TornadoVM applications to the new API can be found here: https://tornadovm.readthedocs.io/en/latest/programming.html#migration-to-tornadovm-v0-15
+
+ - The documentation of migration of existing TornadoVM applications to the new API can be found here: https://tornadovm.readthedocs.io/en/latest/programming.html#migration-to-tornadovm-v0-15
- Launch a new website https://tornadovm.readthedocs.io/en/latest/ for the documentation
-- Improved documentation
-- Initial support for Intel ARC discrete GPUs.
-- Improved TornadoVM installer for Linux
+- Improved documentation
+- Initial support for Intel ARC discrete GPUs.
+- Improved TornadoVM installer for Linux
- ImprovedTornadoVM launch script with optional parameters
- Support of large buffer allocations with Intel Level Zero. Use: ``tornado.spirv.levelzero.extended.memory=True``
@@ -102,7 +144,7 @@ Improvements
Bug fixes:
~~~~~~~~~~~~~~~~~
-- Vector and Matrix types
+- Vector and Matrix types
- TornadoVM Floating Replacement compiler phase fixed
- Fix ``CMAKE`` for Intel ARC GPUs
- Device query tool fixed for the PTX backend
@@ -462,7 +504,7 @@ TornadoVM 0.7
- Support for ARM Mali GPUs.
- Support parallel reductions on FPGAs
- Agnostic FPGA vendor compilation via configuration files (Intel & Xilinx)
-- Support for AWS on Xilinx FPGAs
+- Support for AWS on Xilinx FPGAs
- Recompilation for different input data sizes supported
- New TornadoVM API calls:
@@ -538,7 +580,7 @@ TornadoVM 0.4
- Use ``-Dtornado.feature.extraction=True`` to enable code
extraction features
-- Mac OSx support
+- Mac OSx support
- Automatic reductions composition (map-reduce) within the same
task-schedule
- Bug related to a memory leak when running on GPUs solved
@@ -609,4 +651,4 @@ Tornado 0.1.0
- Initial support in the runtime to execute OpenCL programs generated
by the Tornado JIT compiler
- Initial Tornado-API release (``@Parallel`` Java annotation and ``TaskSchedule`` API)
-- Multi-GPU enabled through multiple tasks-schedules
\ No newline at end of file
+- Multi-GPU enabled through multiple tasks-schedules
diff --git a/docs/source/installation.rst b/docs/source/installation.rst
index 21ab36fc19..a86990ab6c 100644
--- a/docs/source/installation.rst
+++ b/docs/source/installation.rst
@@ -848,13 +848,13 @@ To use the TornadoVM API in your projects, you can checkout our maven repository
tornado
tornado-api
- 0.15.2
+ 1.0
tornado
tornado-matrices
- 0.15.2
+ 1.0
@@ -865,6 +865,7 @@ Notice that, for running with TornadoVM, you will need either the docker images
Versions available
------------------------------------
+* 1.0
* 0.15.2
* 0.15.1
* 0.15
diff --git a/pom.xml b/pom.xml
index d4cea3b5aa..0a5650cd1f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
tornado
tornado
- 0.16-dev
+ 1.0
pom
tornado
https://github.com/beehive-lab/tornadovm
diff --git a/tornado-annotation/pom.xml b/tornado-annotation/pom.xml
index 716a50a1df..a97bcec027 100644
--- a/tornado-annotation/pom.xml
+++ b/tornado-annotation/pom.xml
@@ -6,7 +6,7 @@
tornado
tornado
- 0.16-dev
+ 1.0
tornado-annotation
diff --git a/tornado-api/pom.xml b/tornado-api/pom.xml
index 7c9dd57fd8..755a6a5587 100644
--- a/tornado-api/pom.xml
+++ b/tornado-api/pom.xml
@@ -5,12 +5,12 @@
tornado
tornado
- 0.16-dev
+ 1.0
tornado
tornado-api
- 0.16-dev
+ 1.0
tornado-api
https://tornadovm.org
diff --git a/tornado-assembly/pom.xml b/tornado-assembly/pom.xml
index 735a4c303d..47a5a72ef8 100644
--- a/tornado-assembly/pom.xml
+++ b/tornado-assembly/pom.xml
@@ -5,7 +5,7 @@
tornado
tornado
- 0.16-dev
+ 1.0
tornado-assembly
pom
diff --git a/tornado-benchmarks/pom.xml b/tornado-benchmarks/pom.xml
index 250129669e..21f81cd27a 100644
--- a/tornado-benchmarks/pom.xml
+++ b/tornado-benchmarks/pom.xml
@@ -3,11 +3,11 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns="http://maven.apache.org/POM/4.0.0">
4.0.0
-
+
tornado
tornado
- 0.16-dev
+ 1.0
tornado-benchmarks
diff --git a/tornado-drivers/drivers-common/pom.xml b/tornado-drivers/drivers-common/pom.xml
index 81966c9275..6d00dc87fe 100644
--- a/tornado-drivers/drivers-common/pom.xml
+++ b/tornado-drivers/drivers-common/pom.xml
@@ -5,11 +5,11 @@
tornado
tornado-drivers
- 0.16-dev
+ 1.0
4.0.0
tornado-drivers-common
tornado-drivers-common
-
\ No newline at end of file
+
diff --git a/tornado-drivers/opencl-jni/pom.xml b/tornado-drivers/opencl-jni/pom.xml
index 4beb2024d3..3885aac544 100644
--- a/tornado-drivers/opencl-jni/pom.xml
+++ b/tornado-drivers/opencl-jni/pom.xml
@@ -6,7 +6,7 @@
tornado
tornado-drivers
- 0.16-dev
+ 1.0
tornado-drivers-opencl-jni
tornado-drivers-opencl-jni
diff --git a/tornado-drivers/opencl/pom.xml b/tornado-drivers/opencl/pom.xml
index 237f2c7126..d5c433ba2f 100644
--- a/tornado-drivers/opencl/pom.xml
+++ b/tornado-drivers/opencl/pom.xml
@@ -6,7 +6,7 @@
tornado
tornado-drivers
- 0.16-dev
+ 1.0
tornado-drivers-opencl
tornado-drivers-opencl
diff --git a/tornado-drivers/pom.xml b/tornado-drivers/pom.xml
index a80fe31994..bbdaf2f9cf 100644
--- a/tornado-drivers/pom.xml
+++ b/tornado-drivers/pom.xml
@@ -5,7 +5,7 @@
tornado
tornado
- 0.16-dev
+ 1.0
tornado-drivers
tornado-drivers
diff --git a/tornado-drivers/ptx-jni/pom.xml b/tornado-drivers/ptx-jni/pom.xml
index af49ac067d..86321f3185 100644
--- a/tornado-drivers/ptx-jni/pom.xml
+++ b/tornado-drivers/ptx-jni/pom.xml
@@ -6,7 +6,7 @@
tornado
tornado-drivers
- 0.16-dev
+ 1.0
tornado-drivers-ptx-jni
tornado-drivers-ptx-jni
@@ -126,4 +126,4 @@
-
\ No newline at end of file
+
diff --git a/tornado-drivers/ptx/pom.xml b/tornado-drivers/ptx/pom.xml
index b5e63a4e04..f25b9c809f 100644
--- a/tornado-drivers/ptx/pom.xml
+++ b/tornado-drivers/ptx/pom.xml
@@ -7,7 +7,7 @@
tornado-drivers
tornado
- 0.16-dev
+ 1.0
tornado-drivers-ptx
tornado-drivers-ptx
@@ -26,4 +26,4 @@
-
\ No newline at end of file
+
diff --git a/tornado-drivers/spirv-levelzero-jni/pom.xml b/tornado-drivers/spirv-levelzero-jni/pom.xml
index 86d4d0f33b..e8a857a076 100644
--- a/tornado-drivers/spirv-levelzero-jni/pom.xml
+++ b/tornado-drivers/spirv-levelzero-jni/pom.xml
@@ -6,7 +6,7 @@
tornado
tornado-drivers
- 0.16-dev
+ 1.0
tornado-drivers-spirv-levelzero-jni
tornado-drivers-spirv-levelzero-jni
diff --git a/tornado-drivers/spirv/pom.xml b/tornado-drivers/spirv/pom.xml
index 9a562c0fb8..246e473cde 100644
--- a/tornado-drivers/spirv/pom.xml
+++ b/tornado-drivers/spirv/pom.xml
@@ -7,7 +7,7 @@
tornado
tornado-drivers
- 0.16-dev
+ 1.0
tornado-drivers-spirv
tornado-drivers-spirv
diff --git a/tornado-examples/pom.xml b/tornado-examples/pom.xml
index d5312b6233..60a8dd8f6d 100644
--- a/tornado-examples/pom.xml
+++ b/tornado-examples/pom.xml
@@ -6,7 +6,7 @@
tornado
tornado
- 0.16-dev
+ 1.0
tornado-examples
tornado-examples
diff --git a/tornado-matrices/pom.xml b/tornado-matrices/pom.xml
index ba02188a57..2db2a2b19a 100644
--- a/tornado-matrices/pom.xml
+++ b/tornado-matrices/pom.xml
@@ -5,7 +5,7 @@
tornado
tornado
- 0.16-dev
+ 1.0
tornado-matrices
tornado-matrices
diff --git a/tornado-runtime/pom.xml b/tornado-runtime/pom.xml
index 65acb0800e..3761bcd9cd 100644
--- a/tornado-runtime/pom.xml
+++ b/tornado-runtime/pom.xml
@@ -6,7 +6,7 @@
tornado
tornado
- 0.16-dev
+ 1.0
tornado-runtime
tornado-runtime
diff --git a/tornado-unittests/pom.xml b/tornado-unittests/pom.xml
index 4a6d6156a2..1f0e2cd8c1 100644
--- a/tornado-unittests/pom.xml
+++ b/tornado-unittests/pom.xml
@@ -6,7 +6,7 @@
tornado
tornado
- 0.16-dev
+ 1.0
tornado-unittests
tornado-unittests