Closed mikepapadim closed 1 year ago
@mikepapadim , I think this is fixed from TornadoVM 0.15.2. Can you confirm?
@mikepapadim , I think this is solved. Can you please confirm?
let me check and I need to add also a test for this case
I can verity that this now working after merging the MTMD with master.
I added a test to validate read-only objects shared between tasks are now copied in to all devices runing concurently.
This is now fixed
it can be tested with:
tornado-test -V --fullDebug --debug --printBytecodes --jvm="-Dtornado.concurrent.devices=true -Ds0.t0.device=0:0 -Ds0.t1.device=0:1 " uk.ac.manchester.tornado.unittests.tasks.TestMultipleTasksMultipleDevices#testTwoTasksTwoDevicesSharedReadOnlyRead
There is an inconsistency in bytecode generation when launching tasks with dependencies on multiple devices.
For the following
TaskGraph
:1) task0Initialization writes a new value in all the elements of the array 2) task1Multiplication scales the array
b
that the previous device allocates by a factor of 12So,
b
should be copied out from the first device. However, the bytecodes are the following:On the above, there is a missing
TRANSFER_DEVICE_TO_HOST_ALWAYS
afterLAUNCH task s0.t0 - task0Initialization
.