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.
[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?
Run the three new tests:
tornado-test -V uk.ac.manchester.tornado.unittests.fields.TestFields#testFieldsPartialCopyouttornado-test -V uk.ac.manchester.tornado.unittests.fields.TestFields#testFieldsLazyCopyouttornado-test -V uk.ac.manchester.tornado.unittests.fields.TestFields#testFieldsPartialLazyCopyout
Description
This PR extends the
TestFields
unittest by providing three new tests. The first test uses theDataRange
object to implement a partial copy-out. The second uses theUNDER_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