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
There's some disparities between how Base.Ref(Value) behaves, and what CUDA.CuRef(Value) does:
CuRef is separate from CuRefValue, while in Base they are linked (RefValue <: Ref)
Ref(...) creates a constructor you can index, while calling CuRef isn't currently meant to be used outside of ccall signatures
a CuRef isn't actually mutable, and is currently only used as a GPU-compatible counterpart of Ref for broadcasting purposes
All this currently isn't too much of a problem as we don't actually export CuRef, but it'd be nice to make it behave like Base.Ref. One possible solution would be to use unified memory, although that would disallow any conversions during CuRefValue construction (we currently call adapt).
The text was updated successfully, but these errors were encountered:
There's some disparities between how Base.Ref(Value) behaves, and what CUDA.CuRef(Value) does:
CuRef
is separate fromCuRefValue
, while in Base they are linked (RefValue <: Ref
)Ref(...)
creates a constructor you can index, while callingCuRef
isn't currently meant to be used outside ofccall
signaturesCuRef
isn't actually mutable, and is currently only used as a GPU-compatible counterpart ofRef
for broadcasting purposesAll this currently isn't too much of a problem as we don't actually export
CuRef
, but it'd be nice to make it behave like Base.Ref. One possible solution would be to use unified memory, although that would disallow any conversions duringCuRefValue
construction (we currently calladapt
).The text was updated successfully, but these errors were encountered: