Skip to content

Commit 4608a2c

Browse files
committed
Actually fix
1 parent f50e87b commit 4608a2c

File tree

1 file changed

+2
-8
lines changed

1 file changed

+2
-8
lines changed

src/device/intrinsics/math.jl

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -363,13 +363,7 @@ end
363363

364364
@device_override Base.isnan(x::Float64) = (ccall("extern __nv_isnand", llvmcall, Int32, (Cdouble,), x)) != 0
365365
@device_override Base.isnan(x::Float32) = (ccall("extern __nv_isnanf", llvmcall, Int32, (Cfloat,), x)) != 0
366-
@device_override function Base.isnan(x::Float16)
367-
if compute_capability() >= sv"8.0"
368-
return (ccall("extern __nv_hisnan", llvmcall, Int32, (Float16,), x)) != 0
369-
else
370-
return isnan(Float32(x))
371-
end
372-
end
366+
@device_override Base.isnan(x::Float16) = isnan(Float32(x))
373367

374368
@device_function nearbyint(x::Float64) = ccall("extern __nv_nearbyint", llvmcall, Cdouble, (Cdouble,), x)
375369
@device_function nearbyint(x::Float32) = ccall("extern __nv_nearbyintf", llvmcall, Cfloat, (Cfloat,), x)
@@ -396,7 +390,7 @@ end
396390

397391
@device_override Base.sqrt(x::Float64) = ccall("extern __nv_sqrt", llvmcall, Cdouble, (Cdouble,), x)
398392
@device_override Base.sqrt(x::Float32) = ccall("extern __nv_sqrtf", llvmcall, Cfloat, (Cfloat,), x)
399-
@device_override function Base.sqrt(x::Float16) = Float16(sqrt(Float32(x)))
393+
@device_override Base.sqrt(x::Float16) = Float16(sqrt(Float32(x)))
400394
@device_override FastMath.sqrt_fast(x::Union{Float32, Float64}) = sqrt(x)
401395

402396
@device_function rsqrt(x::Float64) = ccall("extern __nv_rsqrt", llvmcall, Cdouble, (Cdouble,), x)

0 commit comments

Comments
 (0)