Repository navigation
Conversation
The scalar_arithmetic recipe floored every F32/F64 form at PTX 7.0 / sm_80, so `mul_rn_f32`, `fma_rn_f32`, `div_rn_f32`, `add_rn_f32` and the remaining rounded, `.ftz`, and `.sat` variants failed target gating on sm_75. The PTX ISA admits these scalar arithmetic instructions on sm_20 or older, and sm_75 is the oldest target CUDA 13 ptxas assembles, so PTX 7.0 / sm_75 is the lowest floor the evidence can attest, matching `scalar_math` (NVIDIA#1670). The LLVM evidence is re-probed at sm_75 / +ptx70 with the pinned llc and ptxas 13.3.73. The libNVVM evidence is re-captured at compute_75, assembled with ptxas 13.3.33 and linked with nvJitLink at sm_75. The regenerated outputs change only the scalar_arithmetic floors and the catalog digest banners (updating the mlir-dialects book stamp to 53f2c1d8). A generator test pins the sm_75 floor across all 64 forms and rejects sm_80 and sm_72. A codegen test checks every scalar_arithmetic target on both backends and the NVIDIA#1462 `mul_rn_f32` and `fma_rn_f32` repros at CUDA_OXIDE_TARGET=sm_75. The new scalar_arithmetic_sm75 example calls all 64 forms and checks their directed rounding and saturation behaviour. examples-compile builds it at sm_75 as PTX and as a libNVVM + nvJitLink cubin. Refs NVIDIA#1462 Signed-off-by: Alex Khalyavin <joss13@gmail.com>
ssoj13
requested review from
cryos,
elibol,
kkraus14,
roivanov and
rparolin
as code owners
November 3, 2026 17:39
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The
scalar_arithmeticrecipe floored every F32/F64 form at PTX 7.0 /sm_80, somul_rn_f32,fma_rn_f32,div_rn_f32,add_rn_f32and the remaining rounded,.ftz, and.satvariants failed target gating onsm_75. The PTX ISA admits these scalar arithmetic instructions onsm_20or older, andsm_75is the oldest target CUDA 13ptxasassembles, so PTX 7.0 /sm_75is the lowest floor the evidence can attest, matchingscalar_math(#1670).The LLVM evidence is re-probed at
sm_75/+ptx70with the pinnedllcandptxas13.3.73. The libNVVM evidence is re-captured atcompute_75, assembled withptxas13.3.33 and linked withnvJitLinkatsm_75. The regenerated outputs change only thescalar_arithmeticfloors and the catalog digest banners (updating themlir-dialectsbook stamp to53f2c1d8).A generator test pins the
sm_75floor across all 64 forms and rejectssm_80andsm_72. A codegen test checks everyscalar_arithmetictarget on both backends and the #1462mul_rn_f32andfma_rn_f32repros atCUDA_OXIDE_TARGET=sm_75. The newscalar_arithmetic_sm75example calls all 64 forms and checks their directed rounding and saturation behaviour.examples-compilebuilds it atsm_75as PTX and as a libNVVM +nvJitLinkcubin.Supersedes #1512
Refs #1462