-
Notifications
You must be signed in to change notification settings - Fork 54
Open
Labels
good first issueGood for newcomersGood for newcomers
Description
When moving an Array{Float64, N} to the device, the floating point type is automatically converted,
using Metal
mtl( rand(1000) )
# MtlVector{Float32, ...}But for an array of static arrays, or dual numbers, etc, this conversion fails:
using StaticArrays
mtl( rand( SVector{2, Float64}, 1000 ) )
# ERROR: Metal does not support Float64 values, try using Float32 insteadConversion of arrays of static arrays does work if the number type is Float32,
mtl( rand( SVector{2, Float32}, 1000 ) )
# MtlVector{SVector{2, Float32}, ...}I don't particularly mind whether I have to manually ensure that I use the correct number types, or whether Metal auto-converts for me. I see advantages either way. But the current behaviour is inconsistent.
I may be able to help with a PR that tackles StaticArrays, ForwardDiff (dual numbers) and HyperDuals but would probably need some pointers on how to approach this correctly without wasting everybody's time.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
good first issueGood for newcomersGood for newcomers