No data movement to GPU when data from desc with type keyword
Describe the bug
In PTG, when data is from memory and a type keyword is provided, there will be no data movement to GPU, e.g.,
READ A <- descA(m, n) [ type = FULL ]
The reason is the data movement to GPU will be skipped here: https://github.com/ICLDisco/parsec/blob/4f76b6d2fa622b5e7ba96cd09a3333415acba220/parsec/mca/device/device_gpu.c#L1323C1-L1336C69.
I don't understand why we skipped version 0 data transfer. Does it work if you remove that line ?
I don't understand why we skipped version 0 data transfer. Does it work if you remove that line ?
I'm not sure the reason; maybe reshape of desc sets it to the same properties of NEW?
Yeah, it works if removing that line.
The test is for a pure NEW data, which is not the case here. So the question is why the data-in is NULL for a read from a collection?
That's what the comment states, not what the check does. In the case @QingleiCao describes there is no predecessor, so source_repo_entry is indeed NULL, so the case is similar to NEW. What I don't understand is why the dc of the data_in is NULL if the read is from a valid collection ?
This desc will be reshaped to arena_ADT. Is it related to here?
yes, that now makes sense. If the original data is reshaped, then the reshaed data does not belong to a DC, so it iwll take the same path as the NEW data. Moveover, as the version is 0 (because it is the first of such type), it will completely fit the check.
We need to figure out a different way to check for the NEW data, one that does not rely on empirical checks but on stricter rules.
Related to #564