This PR fixes the multi-threaded deallocation marker within the TornadoVM runtime. This PR also fixes the code in the GAIA project.
Problem description
The issue was that we need to guarantee that the deallocator marker is executed in sychronized mode, and guarantee that the unused buffer item in the list was not null. It can be null if it references the same host memory object (e.g., the same Panama-based array).
Backend/s tested
Mark the backends affected by this PR.
[X] OpenCL
[X] PTX
[X] SPIRV
OS tested
Mark the OS where this PR is tested.
[X] Linux
[ ] OSx
[ ] Windows
Did you check on FPGAs?
If it is applicable, check your changes on FPGAs.
[ ] Yes
[X] No
How to test the new patch?
$ make
$ tornado-test -V --fast uk.ac.manchester.tornado.unittests.multithreaded.TestMultiThreadedExecutionPlans
Description
This PR fixes the multi-threaded deallocation marker within the TornadoVM runtime. This PR also fixes the code in the GAIA project.
Problem description
The issue was that we need to guarantee that the deallocator marker is executed in sychronized mode, and guarantee that the
unused
buffer item in the list was notnull
. It can benull
if it references the same host memory object (e.g., the same Panama-based array).Backend/s tested
Mark the backends affected by this PR.
OS tested
Mark the OS where this PR is tested.
Did you check on FPGAs?
If it is applicable, check your changes on FPGAs.
How to test the new patch?