Raise __nv_sinpi/__nv_sinpif in libdevice pass for kernel lowering#2542
__nv_sinpi/__nv_sinpif in libdevice pass for kernel lowering#2542Conversation
__nv_sinpi/__nv_sinpif in libdevice pass for kernel lowering
|
ot/.bazel DEBUG: Rule 'cuda_tile' indicated that a canonical reproducible form can be obtained by modifying arguments integrity = "sha256-YBqJhzobmsmk4EAMPss513cnk2+qgud2uJz2qf6BeFk=" INFO: Analyzed target //:enzymexlamlir-opt (158 packages loaded, 15955 targets configured). Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2542 +/- ##
==========================================
- Coverage 25.66% 25.46% -0.21%
==========================================
Files 223 223
Lines 44823 44669 -154
==========================================
- Hits 11506 11375 -131
+ Misses 33317 33294 -23 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
... Fixed in 6177477. I updated the |
Kernel compilation failed when CUDA emitted
llvm.call @__nv_sinpibecauselibdeviceraisehad no rewrite for this symbol. This PR adds explicit raising sosinpiin GPU kernels can be converted into supported math ops during lowering.Raising support in
LibDeviceFuncsRaisingPassSinPiRaisingpattern for:__nv_sinpi(f64)__nv_sinpif(f32)sin(x * π)using MLIR ops:arith.constant(typed π)arith.mulfmath.sinpopulateLibDeviceFuncsToOpsPatterns.Targeted lit coverage
test/lit_tests/raising/libdevice_raise.mlirwith atest_module_sinpicase validating both float and double variants raise to mul-by-π +math.sin.