Skip to content

Commit

Permalink
[release] TornadoVM 0.14
Browse files Browse the repository at this point in the history
CHANGELOG:

15/06/2022

New Features
- New device memory management for addressing the memory allocation limitations
  of OpenCL and enabling pinned memory of device buffers.
    - The execution of task-schedules will still automatically allocate/deallocate
      memory every time a task-schedule is executed, unless lock/unlock functions
      are invoked explicitly at the task-schedule level.
    - One heap per device has been replaced with a device buffer per input variable.
    - A new API call has been added for releasing memory: `unlockObjectFromMemory`
    - A new API call has been added for locking objects to the device:
      `lockObjectInMemory` This requires the user to release memory by
      invoking `unlockObjectFromMemory` at the task-schedule level.
- Enhanced Live Task migration by supporting multi-backend execution
  (PTX <-> OpenCL <-> SPIR-V).

Compatibility/Integration:
- Integration with the Graal 22.1.0 JIT Compiler
- JDK 8 deprecated
- Azul Zulu JDK supported
- OpenCL 2.1 as a default target for the OpenCL Backend
- Single Docker Image for Intel XPU platforms, including the SPIR-V backend
  (using the Intel Integrated Graphics), and OpenCL (using the Intel Integrated
  Graphics, Intel CPU and Intel FPGA in emulation mode).
  Image: https://github.com/beehive-lab/docker-tornado#intel-integrated-graphics

Improvements/Bug Fixes:
- `SIGNUM` Math Function included for all three backends.
- SPIR-V optimizer enabled by default (3x reduce in binary size).
- Extended Memory Mode enabled for the SPIR-V Backend via Level Zero.
- Phi instructions fixed for the SPIR-V Backend.
- SPIR-V Vector Select instructions fixed.
- Duplicated IDs for Non-Inlined SPIR-V Functions fixed.
- Refactoring of the TornadoVM Math Library.
- FPGA Configuration files fixed.
- Bitwise operations for OpenCL fixed.
- Code Generation Times and Backend information are included in the
  profiling info.

typo fixed

minor change
  • Loading branch information
jjfumero committed Jun 15, 2022
1 parent e00b9ce commit af3f331
Show file tree
Hide file tree
Showing 23 changed files with 87 additions and 27 deletions.
5 changes: 3 additions & 2 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -310,13 +310,13 @@ To use the TornadoVM API in your projects, you can checkout our maven repository
<dependency>
<groupId>tornado</groupId>
<artifactId>tornado-api</artifactId>
<version>0.13</version>
<version>0.14</version>
</dependency>

<dependency>
<groupId>tornado</groupId>
<artifactId>tornado-matrices</artifactId>
<version>0.13</version>
<version>0.14</version>
</dependency>
</dependencies>
```
Expand All @@ -325,6 +325,7 @@ Notice that, for running with TornadoVM, you will need either the docker images

#### Versions available

* 0.14
* 0.13
* 0.12
* 0.11
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ GPUs (NVIDIA, AMD), integrated GPUs (Intel HD Graphics and ARM Mali), and FPGAs

For a quick introduction please read the following [FAQ](assembly/src/docs/15_FAQ.md).

**Current Release:** TornadoVM 0.13 - 21/03/2022 : See [CHANGELOG](assembly/src/docs/CHANGELOG.md#tornadovm-0.13)
**Current Release:** TornadoVM 0.14 - 15/06/2022 : See [CHANGELOG](assembly/src/docs/CHANGELOG.md#tornadovm-0.14)

Previous Releases can be found [here](assembly/src/docs/Releases.md)

Expand Down Expand Up @@ -206,12 +206,12 @@ You can import the API and start using TornadoVM. Set this in the `pom.xml` file
<dependency>
<groupId>tornado</groupId>
<artifactId>tornado-api</artifactId>
<version>0.13</version>
<version>0.14</version>
</dependency>
<dependency>
<groupId>tornado</groupId>
<artifactId>tornado-matrices</artifactId>
<version>0.13</version>
<version>0.14</version>
</dependency>
</dependencies>
```
Expand Down
2 changes: 1 addition & 1 deletion assembly/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>tornado</groupId>
<artifactId>tornado</artifactId>
<version>0.14-dev</version>
<version>0.14</version>
</parent>
<artifactId>tornado-assembly</artifactId>
<packaging>pom</packaging>
Expand Down
2 changes: 1 addition & 1 deletion assembly/src/bin/tornadoLocalInstallMaven
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
cd $TORNADO_SDK
cd share/java/tornado/

TORNADOVM_VERSION="0.13"
TORNADOVM_VERSION="0.14"

read -ra selected_backends < "${TORNADO_SDK}/etc/tornado.backend"

Expand Down
5 changes: 3 additions & 2 deletions assembly/src/docs/1_INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -308,13 +308,13 @@ To use the TornadoVM API in your projects, you can checkout our maven repository
<dependency>
<groupId>tornado</groupId>
<artifactId>tornado-api</artifactId>
<version>0.13</version>
<version>0.14</version>
</dependency>

<dependency>
<groupId>tornado</groupId>
<artifactId>tornado-matrices</artifactId>
<version>0.13</version>
<version>0.14</version>
</dependency>
</dependencies>
```
Expand All @@ -323,6 +323,7 @@ Notice that, for running with TornadoVM, you will need either the docker images

#### Versions available

* 0.14
* 0.13
* 0.12
* 0.11
Expand Down
59 changes: 58 additions & 1 deletion assembly/src/docs/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,41 @@

This file summarizes the new features and major changes for each *TornadoVM* version.

---

## TornadoVM 0.14

15/06/2022

### New Features
- New device memory management for addressing the memory allocation limitations of OpenCL and enabling pinned memory of device buffers.
- The execution of task-schedules will still automatically allocate/deallocate memory every time a task-schedule is executed, unless lock/unlock functions are invoked explicitly at the task-schedule level.
- One heap per device has been replaced with a device buffer per input variable.
- A new API call has been added for releasing memory: `unlockObjectFromMemory`
- A new API call has been added for locking objects to the device: `lockObjectInMemory` This requires the user to release memory by invoking `unlockObjectFromMemory` at the task-schedule level.
- Enhanced Live Task migration by supporting multi-backend execution (PTX <-> OpenCL <-> SPIR-V).

### Compatibility/Integration
- Integration with the Graal 22.1.0 JIT Compiler
- JDK 8 deprecated
- Azul Zulu JDK supported
- OpenCL 2.1 as a default target for the OpenCL Backend
- Single Docker Image for Intel XPU platforms, including the SPIR-V backend (using the Intel Integrated Graphics), and OpenCL (using the Intel Integrated Graphics, Intel CPU and Intel FPGA in emulation mode). Image: https://github.com/beehive-lab/docker-tornado#intel-integrated-graphics

### Improvements/Bug Fixes
- `SIGNUM` Math Function included for all three backends.
- SPIR-V optimizer enabled by default (3x reduce in binary size).
- Extended Memory Mode enabled for the SPIR-V Backend via Level Zero.
- Phi instructions fixed for the SPIR-V Backend.
- SPIR-V Vector Select instructions fixed.
- Duplicated IDs for Non-Inlined SPIR-V Functions fixed.
- Refactoring of the TornadoVM Math Library.
- FPGA Configuration files fixed.
- Bitwise operations for OpenCL fixed.
- Code Generation Times and Backend information are included in the profiling info.

---

## TornadoVM 0.13

21/03/2022
Expand Down Expand Up @@ -33,7 +68,7 @@ This file summarizes the new features and major changes for each *TornadoVM* ver
- https://github.com/beehive-lab/TornadoVM/pull/177
- Dependencies for Math3 and Lang3 updated


---

## TornadoVM 0.12

Expand All @@ -54,6 +89,8 @@ This file summarizes the new features and major changes for each *TornadoVM* ver
- TornadoVM profiler fixed for multiple context switching (device switching)
- Pretty printer for device information

---

## TornadoVM 0.11

29/09/2021
Expand All @@ -77,6 +114,8 @@ This file summarizes the new features and major changes for each *TornadoVM* ver
- Codegen for sequential kernels fixed
- Function parameters with non-inlined method calls fixed

---

## TornadoVM 0.10

29/06/2021
Expand All @@ -97,6 +136,8 @@ This file summarizes the new features and major changes for each *TornadoVM* ver
- Initial support for 2D Arrays added
- Several bug fixes and stability support for the OpenCL and PTX backends

---

## TornadoVM 0.9

15/04/2021
Expand All @@ -122,6 +163,8 @@ This file summarizes the new features and major changes for each *TornadoVM* ver
- Slambench fixed when compiling for PTX and OpenCL backends
- Several bug fixes for the runtime, JIT compiler and data management.

---

## TornadoVM 0.8

19/11/2020
Expand Down Expand Up @@ -163,6 +206,8 @@ This file summarizes the new features and major changes for each *TornadoVM* ver
- Documentation improved
- Bug fixes for code generation, numeric promotion, basic block traversal, Xilinx FPGA compilation.

---

## TornadoVM 0.7

22/06/2020
Expand All @@ -189,6 +234,8 @@ This file summarizes the new features and major changes for each *TornadoVM* ver
* Documentation improved
* Several bug fixes

---

## TornadoVM 0.6

21/02/2020
Expand All @@ -205,6 +252,8 @@ This file summarizes the new features and major changes for each *TornadoVM* ver
* Bug fixes for ternary conditions, reductions and code generator
* Documentation improved

---

## TornadoVM 0.5

16/12/2019
Expand All @@ -219,6 +268,8 @@ This file summarizes the new features and major changes for each *TornadoVM* ver
* TornadoVM driver OpenCL initialization and OpenCL code cache improved
* Refactoring of the FPGA execution modes (full JIT and emulation modes improved).

---

## TornadoVM 0.4

14/10/2019
Expand All @@ -233,6 +284,8 @@ This file summarizes the new features and major changes for each *TornadoVM* ver
* Bug related to a memory leak when running on GPUs solved
* Bug fixes and stability improvements

---

## TornadoVM 0.3

22/07/2019
Expand All @@ -249,6 +302,8 @@ This file summarizes the new features and major changes for each *TornadoVM* ver
* Initial support for reductions on FPGAs.
* Initial API for profiling tasks integrated.

---

## TornadoVM 0.2

25/02/2019
Expand All @@ -267,6 +322,8 @@ This file summarizes the new features and major changes for each *TornadoVM* ver
* Compiler specializations for CPU and GPU reductions
* Performance and stability fixes

---

## Tornado 0.1.0

07/09/2018
Expand Down
1 change: 1 addition & 0 deletions assembly/src/docs/Releases.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Releases

* TornadoVM 0.14 - 15/06/2022 : See [CHANGELOG](CHANGELOG.md#tornadovm-014)
* TornadoVM 0.13 - 21/03/2022 : See [CHANGELOG](CHANGELOG.md#tornadovm-013)
* TornadoVM 0.12 - 17/11/2021 : See [CHANGELOG](CHANGELOG.md#tornadovm-012)
* TornadoVM 0.11 - 29/09/2021 : See [CHANGELOG](CHANGELOG.md#tornadovm-011)
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>tornado</groupId>
<artifactId>tornado</artifactId>
<version>0.14-dev</version>
<version>0.14</version>
</parent>
<artifactId>tornado-benchmarks</artifactId>
<name>tornado-benchmarks</name>
Expand Down
2 changes: 1 addition & 1 deletion drivers/drivers-common/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>tornado</groupId>
<artifactId>tornado-drivers</artifactId>
<version>0.14-dev</version>
<version>0.14</version>
</parent>
<modelVersion>4.0.0</modelVersion>

Expand Down
2 changes: 1 addition & 1 deletion drivers/opencl-jni/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>tornado</groupId>
<artifactId>tornado-drivers</artifactId>
<version>0.14-dev</version>
<version>0.14</version>
</parent>
<artifactId>tornado-drivers-opencl-jni</artifactId>
<name>tornado-drivers-opencl-jni</name>
Expand Down
2 changes: 1 addition & 1 deletion drivers/opencl/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>tornado</groupId>
<artifactId>tornado-drivers</artifactId>
<version>0.14-dev</version>
<version>0.14</version>
</parent>
<artifactId>tornado-drivers-opencl</artifactId>
<name>tornado-drivers-opencl</name>
Expand Down
2 changes: 1 addition & 1 deletion drivers/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>tornado</groupId>
<artifactId>tornado</artifactId>
<version>0.14-dev</version>
<version>0.14</version>
</parent>
<artifactId>tornado-drivers</artifactId>
<name>tornado-drivers</name>
Expand Down
2 changes: 1 addition & 1 deletion drivers/ptx-jni/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>tornado</groupId>
<artifactId>tornado-drivers</artifactId>
<version>0.14-dev</version>
<version>0.14</version>
</parent>
<artifactId>tornado-drivers-ptx-jni</artifactId>
<name>tornado-drivers-ptx-jni</name>
Expand Down
2 changes: 1 addition & 1 deletion drivers/ptx/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<artifactId>tornado-drivers</artifactId>
<groupId>tornado</groupId>
<version>0.14-dev</version>
<version>0.14</version>
</parent>
<artifactId>tornado-drivers-ptx</artifactId>
<name>tornado-drivers-ptx</name>
Expand Down
2 changes: 1 addition & 1 deletion drivers/spirv-levelzero-jni/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<groupId>tornado</groupId>
<artifactId>tornado-drivers</artifactId>
<version>0.14-dev</version>
<version>0.14</version>
</parent>
<artifactId>tornado-drivers-spirv-levelzero-jni</artifactId>
<name>tornado-drivers-spirv-levelzero-jni</name>
Expand Down
2 changes: 1 addition & 1 deletion drivers/spirv/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<parent>
<groupId>tornado</groupId>
<artifactId>tornado-drivers</artifactId>
<version>0.14-dev</version>
<version>0.14</version>
</parent>
<artifactId>tornado-drivers-spirv</artifactId>
<name>tornado-drivers-spirv</name>
Expand Down
2 changes: 1 addition & 1 deletion examples/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>tornado</groupId>
<artifactId>tornado</artifactId>
<version>0.14-dev</version>
<version>0.14</version>
</parent>
<artifactId>tornado-examples</artifactId>
<name>tornado-examples</name>
Expand Down
2 changes: 1 addition & 1 deletion matrices/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>tornado</groupId>
<artifactId>tornado</artifactId>
<version>0.14-dev</version>
<version>0.14</version>
</parent>
<artifactId>tornado-matrices</artifactId>
<name>tornado-matrices</name>
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<groupId>tornado</groupId>
<artifactId>tornado</artifactId>
<version>0.14-dev</version>
<version>0.14</version>
<packaging>pom</packaging>
<name>tornado</name>
<url>https://github.com/beehive-lab/tornadovm</url>
Expand Down
2 changes: 1 addition & 1 deletion runtime/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>tornado</groupId>
<artifactId>tornado</artifactId>
<version>0.14-dev</version>
<version>0.14</version>
</parent>
<artifactId>tornado-runtime</artifactId>
<name>tornado-runtime</name>
Expand Down
2 changes: 1 addition & 1 deletion tornado-annotation/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<parent>
<artifactId>tornado</artifactId>
<groupId>tornado</groupId>
<version>0.14-dev</version>
<version>0.14</version>
</parent>

<artifactId>tornado-annotation</artifactId>
Expand Down
4 changes: 2 additions & 2 deletions tornado-api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
<parent>
<artifactId>tornado</artifactId>
<groupId>tornado</groupId>
<version>0.14-dev</version>
<version>0.14</version>
</parent>

<groupId>tornado</groupId>
<artifactId>tornado-api</artifactId>
<version>0.14-dev</version>
<version>0.14</version>

<name>tornado-api</name>
<url>https://tornadovm.org</url>
Expand Down
2 changes: 1 addition & 1 deletion unittests/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<parent>
<groupId>tornado</groupId>
<artifactId>tornado</artifactId>
<version>0.14-dev</version>
<version>0.14</version>
</parent>
<artifactId>tornado-unittests</artifactId>
<name>tornado-unittests</name>
Expand Down

0 comments on commit af3f331

Please sign in to comment.