You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Methods for vector initialization Vector::setToConst and Vector::setToZero do not set flags cpu_updated_ or gpu_updated_. This means that other functions would see the initialized memory space of vector as out of date and could overwrite it.
The fix is to call setDataUpdated method inside the initialization function.
Always set to "updated" the memory space that was modified last. However, in the example above, executing sync(memory::DEVICE); would overwrite vector 0 on the device with old data.
Instead of a single flag for the entire multivector memory space, have a separate flags to track update status for each subvector. This would be a complete solution but perhaps cumbersome to implement.
Document that initialization functions (setToZero, setToConst) do not set "updated" flags, so it is user's responsibility to do so after these functions are called. This would leave inconsistent behavior among matrix and vector class methods.
Methods for vector initialization
Vector::setToConst
andVector::setToZero
do not set flagscpu_updated_
orgpu_updated_
. This means that other functions would see the initialized memory space of vector as out of date and could overwrite it.The fix is to call
setDataUpdated
method inside the initialization function.CC @kswirydo
The text was updated successfully, but these errors were encountered: