parsec
parsec copied to clipboard
GPU status not reset after a taskpool finished on GPU
Original report by Qinglei Cao (Bitbucket: Qinglei_Cao, ).
If a taskpool runs on GPU, it seems that status on GPU (some GPU data_copy_t, load between devices) is not reset when finished. Hence, if called another taskpool on GPU that uses the same descriptor, there will be unexpected actions (maybe reuse of old GPU data_copy_t, that are not updated because the CPU version is not changed?). This issue was encountered when running Cholesky multiple times (all kernels on GPU), with multi-GPUs, and it could be solved by adding “parsec_devices_release_memory()” and “parsec_devices_reset_load(parsec)” (suggested by Thomas) between taskpool_add.