Chennes
0f13a2c548
[CUDA] Add 16-bit hpow and hfmod bridges ( #3163 )
...
CUDA lowering emits hpow and hfmod for 16-bit pow and fmod, but no CUDA
toolkit declares either name, so fp16/bf16 fmod and variable-exponent
fp16 pow fail to compile. Integer-exponent pow is unaffected: TileLang
expands it into repeated multiplication before lowering.
Add half_t and bfloat16_t overloads that evaluate with powf or fmodf in
float32 and convert back, matching the existing bridge pattern. Remove
math.h's hpow-to-powf macro: it shadows the new overload at the call
site, and compiles only where the result is assigned directly.
Add codegen and numerical coverage for fp16 pow and both fmod dtypes.
The bfloat16 hpow bridge completes the backend layer, while T.pow on
bfloat16 remains blocked by an upstream TVM dtype check.
2026-09-03 23:14:49 +08:00
..
2026-08-04 18:22:40 +08:00
2025-12-12 17:22:18 +08:00
2026-04-20 16:35:43 +08:00
2026-07-22 15:42:39 +08:00
2026-01-06 02:18:29 +08:00
2026-04-07 23:54:55 +08:00
2026-03-27 11:17:21 +08:00
2026-08-30 14:53:11 +08:00
2026-01-06 02:18:29 +08:00
2026-04-07 23:54:55 +08:00
2026-04-07 23:54:55 +08:00
2026-07-14 12:24:26 +08:00
2026-03-06 17:35:16 +08:00
2026-07-30 14:26:21 +08:00
2026-08-26 15:32:05 +08:00
2026-02-09 17:30:22 +08:00
2026-07-02 17:29:54 +08:00
2026-04-07 23:54:55 +08:00
2026-08-18 17:50:27 +08:00
2026-06-23 14:40:11 +08:00
2026-06-12 17:14:02 +08:00
2026-04-07 23:54:55 +08:00
2026-01-04 15:45:38 +08:00
2026-08-11 15:39:40 +08:00
2026-08-05 12:57:23 +08:00
2026-08-25 14:48:53 +08:00
2026-06-04 14:14:14 +08:00
2026-08-04 18:22:40 +08:00
2026-07-28 17:18:25 +08:00
2026-08-27 17:17:24 +08:00
2026-08-04 18:22:40 +08:00
2026-08-07 15:07:26 +08:00
2026-08-11 10:47:08 +08:00
2026-06-09 00:35:07 +08:00
2026-04-13 12:42:44 +08:00
2026-07-15 17:37:20 +08:00
2026-05-06 23:08:24 +08:00
2026-09-03 23:14:49 +08:00
2026-03-12 17:21:01 +08:00
2026-07-13 17:29:01 +08:00
2026-02-02 18:47:18 +08:00
2026-07-02 17:29:54 +08:00
2026-04-07 23:54:55 +08:00
2026-06-12 17:35:42 +08:00
2026-04-07 23:54:55 +08:00
2026-04-13 12:42:44 +08:00
2025-12-17 14:41:25 +08:00
2026-07-30 18:10:10 +08:00
2026-08-31 23:33:42 +08:00
2026-06-09 00:35:07 +08:00
2026-04-07 23:54:55 +08:00
2026-07-29 20:35:07 +08:00
2026-07-07 14:41:03 +08:00
2026-07-28 16:04:07 +08:00
2026-08-17 16:59:29 +08:00
2026-08-27 14:20:55 +08:00
2026-05-08 17:11:34 +08:00
2026-08-11 15:39:40 +08:00
2026-08-24 12:43:44 +08:00
2026-04-17 16:48:28 +08:00
2026-07-28 13:46:14 +08:00
2026-04-14 15:54:28 +08:00
2026-05-18 14:50:43 +08:00
2026-08-11 15:35:15 +08:00
2026-08-26 15:18:10 +08:00
2026-07-29 13:07:28 +08:00
2025-12-17 14:41:25 +08:00
2026-07-08 14:34:55 +08:00
2026-08-04 18:22:40 +08:00
2026-08-29 15:43:29 +08:00
2026-08-29 15:43:29 +08:00
2026-05-31 03:51:36 +08:00
2026-08-13 13:35:42 +08:00
2026-05-06 23:08:24 +08:00
2026-01-12 22:33:17 +08:00
2026-08-07 15:07:26 +08:00
2026-09-03 23:01:35 +08:00
2026-09-02 16:45:13 +08:00
2026-06-29 16:00:57 +08:00
2026-08-13 13:01:51 +08:00
2026-07-29 16:39:26 +08:00
2026-08-29 13:27:01 +08:00
2026-07-29 13:33:48 +08:00
2026-08-04 11:26:00 +08:00
2026-08-10 16:08:38 +08:00