beehive-lab / TornadoVM

TornadoVM: A practical and efficient heterogeneous programming framework for managed languages
https://www.tornadovm.org
Apache License 2.0
1.16k stars 109 forks source link

Extend the TestFields unittest with lazy and partial copy-out tests and fix reading offsets #417

Closed mairooni closed 2 months ago

mairooni commented 2 months ago

Description

This PR extends the TestFields unittest by providing three new tests. The first test uses the DataRange object to implement a partial copy-out. The second uses the UNDER_DEMAND mode to lazily copy-out the output data. Finally, the third test is a combination of the two. In addition, the device offset in the reading function is fixed to read the full dataset from the device. The problem was that the device offset was set to always be equal to the header size, so only the first part of the dataset was copied back to the host.

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?

Run the three new tests: tornado-test -V uk.ac.manchester.tornado.unittests.fields.TestFields#testFieldsPartialCopyout tornado-test -V uk.ac.manchester.tornado.unittests.fields.TestFields#testFieldsLazyCopyout tornado-test -V uk.ac.manchester.tornado.unittests.fields.TestFields#testFieldsPartialLazyCopyout