[docs] Addressed PR comments
@@ -10,6 +10,7 @@ Programming using the existing `TaskSchedule` API. An instance of the `TornadoVM
that uses the kernel-parallel API. Additionally, for all tasks using the `TornadoVMContext` object, the user must
provide a Grid of execution threads to run on the parallel device. This grid of threads is similar to the number of
threads to be launched using CUDA or OpenCL (Number of threads per block and number of blocks).
+Examples can be found in the `Grid` [unit-tests](https://github.com/beehive-lab/TornadoVM/tree/master/unittests/src/main/java/uk/ac/manchester/tornado/unittests/grid).
## TornadoVMContext Features
@@ -27,12 +28,11 @@ CUDA PTX terminology.
| int[] array = allocateIntLocalArray(size) | __local int array[size] | .shared .s32 array[size] |
| float[] array = allocateFloatLocalArray(size) | __local float array[size] | .shared .s32 array[size] |
| long[] array = allocateLongLocalArray(size) | __local long array[size] | .shared .s64 array[size] |
-| float[] array = allocateFloatLocalArray(size) | __local double array[size] | .shared .s64 array[size] |
+| double[] array = allocateDoubleLocalArray(size) | __local double array[size] | .shared .s64 array[size] |
## Examples
-The
-following [example](https://github.com/beehive-lab/TornadoVM/blob/feature/new-api/examples/src/main/java/uk/ac/manchester/tornado/examples/tornadovmcontext/compute/MatrixMultiplication2DV2.java)
+The following [example](https://github.com/beehive-lab/TornadoVM/blob/feature/new-api/examples/src/main/java/uk/ac/manchester/tornado/examples/tornadovmcontext/compute/MatrixMultiplication2DV2.java)
is the Matrix Multiplication implementation using the `TornadoVMContext` object for indexing threads and access to local
memory. The following example also makes use of loop tiling. There are three main steps to leverage the features of TornadoVMContext:
@@ -84,7 +84,7 @@ public static void matrixMultiplication(TornadoVMContext context, final float[]
}
```
-2. A TornadoVM program that uses the `TornadoVMContext` must use the context with a `WorkerGrid` (1D/2D). This is
+2. A TornadoVM program that uses the `TornadoVMContext` must use the context with a `WorkerGrid` (1D/2D/3D). This is
necessary in order to obtain awareness about the dimensions and the sizes of the threads that will be deployed.
**Therefore, `TornadoVMContext` can only work with GridTasks.**
@@ -114,7 +114,7 @@ t.execute(gridTask); // Pass the GridTask in the execute method
## Multiple Tasks in a TaskSchedule with a `WorkerGrid` and `TornadoVMContext`
The TornadoVM Task-Schedule can be composed of multiple tasks which can either exploit the TornadoVMContext features or
-adhere to the original TornadoVM annotations (`@Parallel`/`@Reduce`). Such scenarios exist in
+adhere to the original TornadoVM annotations (`@Parallel`/`@Reduce`). Examples can be found in
the `TestCombinedTaskSchedule` [unit-tests](https://github.com/beehive-lab/TornadoVM/blob/feature/new-api/unittests/src/main/java/uk/ac/manchester/tornado/unittests/api/TestCombinedTaskSchedule.java). For instance, the `combinedApiDifferentWorkerGrids` test case executes one TaskSchedule (`s0`) composed of three
tasks:
