parsec
parsec copied to clipboard
parsec_get_best_device, parsec_gpu_data_stage_in and NEW tiles requires a fix
parsec_get_best_device and parsec_gpu_data_stage_in use an approximate way to decide that a tile is NEW.
In parsec_gpu_data_stage_in, we just say it's NEW if NULL == source_repo_entry && NULL == original->dc && version == 0.
In parsec_get_best_device we say it's NEW if NULL == source_repo_entry.
All data copies in DTD, and probably in TTG, have a NULL source_repo_entry. This is not a good test.
Suggested solution: add a flag to the flow to denote it's NEW, or if it is not NEW for all flows, add a flag to the data copy? But do not overload the meaning of other fields, as this is fragile.
As a consequence, DTD multi-GPU is currently broken (a task can execute on any GPU even if the predecessor was modifying one of its input on another GPU and did not push it out).