CPU/GPU buffer transfer problem on WSL2
Hi,
I am having a problem with starpu under WSL2 (Windows Subsystem for Linux): memory transfers between CPU and GPU (cuda) workers are sometime dropped.
I uploaded a .cu file with a test case for this problem:
- a 32x32 matrix is initialized, filled with 1s and sliced (filtered) in 4x4 blocks.
- a CPU task is submited for each block in order to increment every values in said block by one
- the same set of tasks is then submited on the GPU
- this is repeated 20 times (alternating between CPU and GPU codelets).
- in the end, we expect the matrix to contain only 41s (1 for the init + 20 * 2 successive increments)
On a Linux machine, all the tests pass, but on a Windows machine running WSL2, some of the incrementing operations are not taken into account and some blocks in the final matrix have values less than 41. This happens whether or not the codelets operation are explicitly synchronized using starpu_task_wait_for_all()
.
Alexis.