Skip to content

Commit 0f7ac0e

Browse files
ychzhangcopybara-github
authored andcommitted
Add numerics config for FP5 with subnormals
PiperOrigin-RevId: 671841596
1 parent cfddeff commit 0f7ac0e

File tree

1 file changed

+93
-0
lines changed

1 file changed

+93
-0
lines changed

aqt/jax/v2/numerics/fp_numerics.py

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ class FpNumericsConfig:
3131
has_two_nan: bool
3232
has_naninf: bool
3333

34+
##########
35+
## FP6
36+
##########
3437
e5m0_ocp = FpNumericsConfig(
3538
nexp=5,
3639
minexp=0,
@@ -85,6 +88,57 @@ class FpNumericsConfig:
8588
has_naninf=False,
8689
)
8790

91+
##########
92+
## FP5
93+
##########
94+
e4m0_ocp = FpNumericsConfig(
95+
nexp=4,
96+
minexp=0,
97+
nmant=0,
98+
has_subnormals=True,
99+
has_two_nan=False,
100+
has_naninf=False,
101+
)
102+
103+
e3m1_ocp = FpNumericsConfig(
104+
nexp=3,
105+
minexp=0,
106+
nmant=1,
107+
has_subnormals=True,
108+
has_two_nan=False,
109+
has_naninf=False,
110+
)
111+
112+
e2m2_ocp = FpNumericsConfig(
113+
nexp=2,
114+
minexp=0,
115+
nmant=2,
116+
has_subnormals=True,
117+
has_two_nan=False,
118+
has_naninf=False,
119+
)
120+
121+
e1m3_ocp = FpNumericsConfig(
122+
nexp=1,
123+
minexp=0,
124+
nmant=3,
125+
has_subnormals=True,
126+
has_two_nan=False,
127+
has_naninf=False,
128+
)
129+
130+
e0m4_ocp = FpNumericsConfig(
131+
nexp=0,
132+
minexp=0,
133+
nmant=4,
134+
has_subnormals=True,
135+
has_two_nan=False,
136+
has_naninf=False,
137+
)
138+
139+
##########
140+
## FP4
141+
##########
88142
e3m0 = FpNumericsConfig(
89143
nexp=3,
90144
minexp=0,
@@ -121,6 +175,45 @@ class FpNumericsConfig:
121175
has_naninf=False,
122176
)
123177

178+
e1m2 = FpNumericsConfig(
179+
nexp=1,
180+
minexp=0,
181+
nmant=2,
182+
has_subnormals=False,
183+
has_two_nan=False,
184+
has_naninf=False,
185+
)
186+
187+
e1m2_ocp = FpNumericsConfig(
188+
nexp=1,
189+
minexp=0,
190+
nmant=2,
191+
has_subnormals=True,
192+
has_two_nan=False,
193+
has_naninf=False,
194+
)
195+
196+
e0m3 = FpNumericsConfig(
197+
nexp=0,
198+
minexp=0,
199+
nmant=3,
200+
has_subnormals=False,
201+
has_two_nan=False,
202+
has_naninf=False,
203+
)
204+
205+
e0m3_ocp = FpNumericsConfig(
206+
nexp=0,
207+
minexp=0,
208+
nmant=3,
209+
has_subnormals=True,
210+
has_two_nan=False,
211+
has_naninf=False,
212+
)
213+
214+
##########
215+
## Misc
216+
##########
124217
e1m0 = FpNumericsConfig(
125218
nexp=1,
126219
minexp=0,

0 commit comments

Comments
 (0)