Skip to content

Commit 3b349be

Browse files
committed
Add fast_exp2 and fast_log2
1 parent 06c10e3 commit 3b349be

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

include/kernel_float/unops.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ KERNEL_FLOAT_DEFINE_UNARY_MATH(ilogb)
166166
KERNEL_FLOAT_DEFINE_UNARY_MATH(lgamma)
167167
KERNEL_FLOAT_DEFINE_UNARY_MATH(log)
168168
KERNEL_FLOAT_DEFINE_UNARY_MATH(log10)
169-
KERNEL_FLOAT_DEFINE_UNARY_MATH(logb)
169+
KERNEL_FLOAT_DEFINE_UNARY_MATH(log2)
170170
KERNEL_FLOAT_DEFINE_UNARY_MATH(nearbyint)
171171
KERNEL_FLOAT_DEFINE_UNARY_MATH(normcdf)
172172
KERNEL_FLOAT_DEFINE_UNARY_MATH(rcbrt)
@@ -209,6 +209,8 @@ KERNEL_FLOAT_DEFINE_UNARY_FUN_FAST(rsqrt)
209209
KERNEL_FLOAT_DEFINE_UNARY_FUN_FAST(sin)
210210
KERNEL_FLOAT_DEFINE_UNARY_FUN_FAST(cos)
211211
KERNEL_FLOAT_DEFINE_UNARY_FUN_FAST(tan)
212+
KERNEL_FLOAT_DEFINE_UNARY_FUN_FAST(exp2)
213+
KERNEL_FLOAT_DEFINE_UNARY_FUN_FAST(log2)
212214

213215
#if KERNEL_FLOAT_IS_DEVICE
214216

@@ -244,6 +246,10 @@ KERNEL_FLOAT_DEFINE_UNARY_FAST_IMPL_PTX(float, rsqrt, "rsqrt.approx.f32 %0, %1;"
244246
KERNEL_FLOAT_DEFINE_UNARY_FAST_IMPL_PTX(float, sin, "sin.approx.f32 %0, %1;", "f")
245247
KERNEL_FLOAT_DEFINE_UNARY_FAST_IMPL_PTX(float, cos, "cos.approx.f32 %0, %1;", "f")
246248

249+
KERNEL_FLOAT_DEFINE_UNARY_FAST_IMPL_PTX(float, exp2, "ex2.approx.f32 %0, %1;", "f")
250+
KERNEL_FLOAT_DEFINE_UNARY_FAST_IMPL_PTX(float, log2, "lg2.approx.f32 %0, %1;", "f")
251+
KERNEL_FLOAT_DEFINE_UNARY_FAST_IMPL_PTX(float, tanh, "tanh.approx.f32 %0, %1;", "f")
252+
247253
#endif
248254

249255
} // namespace kernel_float

single_include/kernel_float.h

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
//================================================================================
1818
// this file has been auto-generated, do not modify its contents!
19-
// date: 2024-07-12 11:49:30.611348
20-
// git hash: b59ee5fc149bc5fe8abd8e184fff95e6f97b94de
19+
// date: 2024-07-22 10:46:26.101286
20+
// git hash: 06c10e3079c546eb357c596e5eb10a97bececba5
2121
//================================================================================
2222

2323
#ifndef KERNEL_FLOAT_MACROS_H
@@ -1309,7 +1309,7 @@ KERNEL_FLOAT_DEFINE_UNARY_MATH(ilogb)
13091309
KERNEL_FLOAT_DEFINE_UNARY_MATH(lgamma)
13101310
KERNEL_FLOAT_DEFINE_UNARY_MATH(log)
13111311
KERNEL_FLOAT_DEFINE_UNARY_MATH(log10)
1312-
KERNEL_FLOAT_DEFINE_UNARY_MATH(logb)
1312+
KERNEL_FLOAT_DEFINE_UNARY_MATH(log2)
13131313
KERNEL_FLOAT_DEFINE_UNARY_MATH(nearbyint)
13141314
KERNEL_FLOAT_DEFINE_UNARY_MATH(normcdf)
13151315
KERNEL_FLOAT_DEFINE_UNARY_MATH(rcbrt)
@@ -1352,6 +1352,8 @@ KERNEL_FLOAT_DEFINE_UNARY_FUN_FAST(rsqrt)
13521352
KERNEL_FLOAT_DEFINE_UNARY_FUN_FAST(sin)
13531353
KERNEL_FLOAT_DEFINE_UNARY_FUN_FAST(cos)
13541354
KERNEL_FLOAT_DEFINE_UNARY_FUN_FAST(tan)
1355+
KERNEL_FLOAT_DEFINE_UNARY_FUN_FAST(exp2)
1356+
KERNEL_FLOAT_DEFINE_UNARY_FUN_FAST(log2)
13551357

13561358
#if KERNEL_FLOAT_IS_DEVICE
13571359

@@ -1387,6 +1389,10 @@ KERNEL_FLOAT_DEFINE_UNARY_FAST_IMPL_PTX(float, rsqrt, "rsqrt.approx.f32 %0, %1;"
13871389
KERNEL_FLOAT_DEFINE_UNARY_FAST_IMPL_PTX(float, sin, "sin.approx.f32 %0, %1;", "f")
13881390
KERNEL_FLOAT_DEFINE_UNARY_FAST_IMPL_PTX(float, cos, "cos.approx.f32 %0, %1;", "f")
13891391

1392+
KERNEL_FLOAT_DEFINE_UNARY_FAST_IMPL_PTX(float, exp2, "ex2.approx.f32 %0, %1;", "f")
1393+
KERNEL_FLOAT_DEFINE_UNARY_FAST_IMPL_PTX(float, log2, "lg2.approx.f32 %0, %1;", "f")
1394+
KERNEL_FLOAT_DEFINE_UNARY_FAST_IMPL_PTX(float, tanh, "tanh.approx.f32 %0, %1;", "f")
1395+
13901396
#endif
13911397

13921398
} // namespace kernel_float

0 commit comments

Comments
 (0)