Skip to content

Conversation

jongsoo-openai
Copy link
Collaborator

@jongsoo-openai jongsoo-openai commented Oct 2, 2025

Need to clamp since due to rounding, we can have overflow that was within
the range before quantization.
e.g., 3.3895e+38 -> log2(3.3895e+38 / max_fp8e4m3=448) ~= 119.17 -> round
up to 120 + exp_bias=127 -> scale=247
3.3895e+38 / 2120 ~= 254.9976 -> round to 256 in fp8e4m3fn
Dequantization: 256 * 2
120 > 3.4e38 overflowing 3.38953139e38

New contributor declaration

  • I am not making a trivial change, such as fixing a typo in a comment.

  • I have written a PR description following these
    rules.

  • I have run pre-commit run --from-ref origin/main --to-ref HEAD.

  • Select one of the following.

    • I have added tests.
      • /test for lit tests
      • /unittest for C++ tests
      • /python/test for end-to-end tests
    • This PR does not need a test because FILL THIS IN.
  • Select one of the following.

    • I have not added any lit tests.
    • The lit tests I have added follow these best practices,
      including the "tests should be minimal" section. (Usually running Python code
      and using the instructions it generates is not minimal.)

@jongsoo-openai jongsoo-openai marked this pull request as ready for review October 3, 2025 01:10
@jongsoo-openai jongsoo-openai enabled auto-merge (squash) October 3, 2025 21:27
@jongsoo-openai
Copy link
Collaborator Author

/merge

@jongsoo-openai jongsoo-openai merged commit 3910f27 into triton-lang:main Oct 4, 2025
9 checks passed
yangshuxin pushed a commit to yangshuxin/triton that referenced this pull request Oct 7, 2025
…#8356)

Need to clamp since due to rounding, we can have overflow that was
within
the range before quantization.
e.g., 3.3895e+38 -> log2(3.3895e+38 / max_fp8e4m3=448) ~= 119.17 ->
round
up to 120 + exp_bias=127 -> scale=247
3.3895e+38 / 2**120 ~= 254.9976 -> round to 256 in fp8e4m3fn
Dequantization: 256 * 2**120 > 3.4e38 overflowing 3.38953139e38

<!---
The core Triton is a small number of people, and we receive many PRs
(thank
you!).  To help us review your code more quickly, **if you are a new
contributor (less than 3 PRs merged) we ask that you complete the
following
tasks and include the filled-out checklist in your PR description.**

Complete the following tasks before sending your PR, and replace `[ ]`
with
`[x]` to indicate you have done them.
-->

# New contributor declaration
- [x] I am not making a trivial change, such as fixing a typo in a
comment.

- [x] I have written a PR description following these
  [rules](https://cbea.ms/git-commit/#why-not-how).

- [x] I have run `pre-commit run --from-ref origin/main --to-ref HEAD`.

- Select one of the following.
  - [x] I have added tests.
    - `/test` for `lit` tests
    - `/unittest` for C++ tests
    - `/python/test` for end-to-end tests
  - [ ] This PR does not need a test because `FILL THIS IN`.

- Select one of the following.
  - [x] I have not added any `lit` tests.
- [ ] The `lit` tests I have added follow these [best
practices](https://mlir.llvm.org/getting_started/TestingGuide/#filecheck-best-practices),
including the "tests should be minimal" section. (Usually running Python
code
    and using the instructions it generates is not minimal.)
Jokeren pushed a commit that referenced this pull request Oct 10, 2025
Need to clamp since due to rounding, we can have overflow that was
within
the range before quantization.
e.g., 3.3895e+38 -> log2(3.3895e+38 / max_fp8e4m3=448) ~= 119.17 ->
round
up to 120 + exp_bias=127 -> scale=247
3.3895e+38 / 2**120 ~= 254.9976 -> round to 256 in fp8e4m3fn
Dequantization: 256 * 2**120 > 3.4e38 overflowing 3.38953139e38

<!---
The core Triton is a small number of people, and we receive many PRs
(thank
you!).  To help us review your code more quickly, **if you are a new
contributor (less than 3 PRs merged) we ask that you complete the
following
tasks and include the filled-out checklist in your PR description.**

Complete the following tasks before sending your PR, and replace `[ ]`
with
`[x]` to indicate you have done them.
-->

# New contributor declaration
- [x] I am not making a trivial change, such as fixing a typo in a
comment.

- [x] I have written a PR description following these
  [rules](https://cbea.ms/git-commit/#why-not-how).

- [x] I have run `pre-commit run --from-ref origin/main --to-ref HEAD`.

- Select one of the following.
  - [x] I have added tests.
    - `/test` for `lit` tests
    - `/unittest` for C++ tests
    - `/python/test` for end-to-end tests
  - [ ] This PR does not need a test because `FILL THIS IN`.

- Select one of the following.
  - [x] I have not added any `lit` tests.
- [ ] The `lit` tests I have added follow these [best
practices](https://mlir.llvm.org/getting_started/TestingGuide/#filecheck-best-practices),
including the "tests should be minimal" section. (Usually running Python
code
    and using the instructions it generates is not minimal.)
ita9naiwa pushed a commit to ita9naiwa/triton that referenced this pull request Oct 12, 2025
…#8356)

Need to clamp since due to rounding, we can have overflow that was
within
the range before quantization.
e.g., 3.3895e+38 -> log2(3.3895e+38 / max_fp8e4m3=448) ~= 119.17 ->
round
up to 120 + exp_bias=127 -> scale=247
3.3895e+38 / 2**120 ~= 254.9976 -> round to 256 in fp8e4m3fn
Dequantization: 256 * 2**120 > 3.4e38 overflowing 3.38953139e38

<!---
The core Triton is a small number of people, and we receive many PRs
(thank
you!).  To help us review your code more quickly, **if you are a new
contributor (less than 3 PRs merged) we ask that you complete the
following
tasks and include the filled-out checklist in your PR description.**

Complete the following tasks before sending your PR, and replace `[ ]`
with
`[x]` to indicate you have done them.
-->

# New contributor declaration
- [x] I am not making a trivial change, such as fixing a typo in a
comment.

- [x] I have written a PR description following these
  [rules](https://cbea.ms/git-commit/#why-not-how).

- [x] I have run `pre-commit run --from-ref origin/main --to-ref HEAD`.

- Select one of the following.
  - [x] I have added tests.
    - `/test` for `lit` tests
    - `/unittest` for C++ tests
    - `/python/test` for end-to-end tests
  - [ ] This PR does not need a test because `FILL THIS IN`.

- Select one of the following.
  - [x] I have not added any `lit` tests.
- [ ] The `lit` tests I have added follow these [best
practices](https://mlir.llvm.org/getting_started/TestingGuide/#filecheck-best-practices),
including the "tests should be minimal" section. (Usually running Python
code
    and using the instructions it generates is not minimal.)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants