This begins the long road towards implementing #44.
How have you addressed the issue?
This PR implements some extremely rudimentary GPU functionality, powered by ILGPU. Currently, there is support for DotMP.GPU.ParallelFor, supporting up to 4 arrays to be used during runtime. Data transfer has been implemented via DotMP.GPU.DataTo/DataFrom/DataToFrom. A basic tester has been implemented. This is a proof-of-concept and will require much more work before it is ready for a major release.
How have you tested your patch?
As aforementioned, a basic tester has been implemented, and has been confirmed to pass. Testing has only happened using the ILGPU CPU runtime, so I would like to run tests on a CUDA-enabled GPU before this makes it to main.
Which issue are you addressing?
This begins the long road towards implementing #44.
How have you addressed the issue?
This PR implements some extremely rudimentary GPU functionality, powered by ILGPU. Currently, there is support for
DotMP.GPU.ParallelFor
, supporting up to 4 arrays to be used during runtime. Data transfer has been implemented viaDotMP.GPU.DataTo
/DataFrom
/DataToFrom
. A basic tester has been implemented. This is a proof-of-concept and will require much more work before it is ready for a major release.How have you tested your patch?
As aforementioned, a basic tester has been implemented, and has been confirmed to pass. Testing has only happened using the ILGPU CPU runtime, so I would like to run tests on a CUDA-enabled GPU before this makes it to
main
.