SlideShare a Scribd company logo
Beyond Floating Point:
Next-Generation Computer
Arithmetic
John L. Gustafson
Professor, A*STAR and National
University of Singapore
Why worry about floating-point?
a = (3.2e7, 1, –1, 8.0e7)
b = (4.0e7, 1, –1, –1.6e7)
Single Precision, 32 bits:
Note: All values are integers that can be expressed exactly in the
IEEE 754 Standard floating-point format (single or double precision)
Double Precision, 64 bits:
a · b = 0
a · b = 0
Find the scalar product a · b:
Why worry about floating-point?
a = (3.2e7, 1, –1, 8.0e7)
b = (4.0e7, 1, –1, –1.6e7)
Single Precision, 32 bits:
Note: All values are integers that can be expressed exactly in the
IEEE 754 Standard floating-point format (single or double precision)
Double Precision, 64 bits:
Double Precision
with binary sum collapse:
a · b = 0
a · b = 0
a · b = 1
Find the scalar product a · b:
Why worry about floating-point?
a = (3.2e7, 1, –1, 8.0e7)
b = (4.0e7, 1, –1, –1.6e7)
Single Precision, 32 bits:
Note: All values are integers that can be expressed exactly in the
IEEE 754 Standard floating-point format (single or double precision)
Double Precision, 64 bits:
Double Precision
with binary sum collapse:
a · b = 0
a · b = 0
a · b = 1
Correct answer: a · b = 2
Most linear
algebra is
unstable
with floats!
Find the scalar product a · b:
What’s wrong with IEEE 754? (1)
•  It’s a guideline, not a standard
•  No guarantee of identical results across
systems
•  Invisible rounding errors; the “inexact” flag is
useless
•  Breaks algebra laws, like a+(b+c) = (a+b)+c
•  Overflows to infinity, underflows to zero
•  No way to express most of the real number
line
A Key Idea: The Ubit
Incorrect: π = 3.14
Correct: π = 3.14…
The latter means 3.14 < π < 3.15, a true statement.
Presence or absence of the “…” is the ubit, just like a sign bit.
It is 0 if exact, 1 if there are more bits after the last fraction bit,
not all 0s and not all 1s.
We have always had a way of expressing infinite-
decimal reals correctly with a finite set of symbols.
What’s wrong with IEEE 754? (2)
•  Exponents usually too large; not adjustable
•  Accuracy is flat across a vast range, then falls
off a cliff
•  Wasted bit patterns; “negative zero,” too many
NaN values
•  Subnormal numbers are headache
•  Divides are hard
•  Decimal floats are expensive; no 32-bit version
Quick Introduction to Unum
(universal number) Format: Type 1
•  Type 1 unums extend
IEEE floating point with
three metadata fields for
exactness, exponent
size, and fraction size.
Upward compatible.
•  Fixed size if “unpacked”
to maximum size, but
can vary in size to save
storage, bandwidth.
IEEE Float
sign
0	
exp.
11001	
fraction
1001110001	
sign exp. fraction ubit exp. size
utag
frac. size
Type 1 Unum
0	11001	1001110001	 0	100	1001	
For details see The End of Error: Unum Arithmetic, CRC Press, 2015
Floats only express discrete points
on the real number line
Use of a tiny-
precision float
highlights the
problem.
The ubit can represent exact values
or the range between exacts
Unums cover the
entire extended real
number line using a
finite number of bits.
For details see http://superfri.org/superfri/article/view/94/78
Type 2 unums
•  Projective reals
•  Custom lattice
•  No penalty for
decimal
•  Table look-up
•  Perfect
reciprocals
•  No redundancy
•  Incredibly fast
(ROM) but limited
precision (< 20 bits)
Contrasting Calculation “Esthetics”
IEEE Standard
(1985)
Floats, f = n × 2m
m, n are integers
Intervals [f1, f2], all
x such that f1 ≤ x ≤ f2
Type 1 Unums
(2013)
“Guess” mode,
flexible precision
Unums, ubounds,
sets of uboxes
Type 2 Unums
(2016)
“Guess” mode,
fixed precision
Sets of Real
Numbers (SORNs)
Sigmoid Unums
(2017)
Posits Valids
Rounded: cheap,
uncertain, but
“good enough”
Rigorous: certain,
more work,
mathematical
If you mix the two esthetics, you wind up satisfying neither.
Metrics for Number Systems
•  Accuracy –log10(log10(xj / xj+1))
•  Dynamic range log10(maxreal / minreal)
•  Percentage of operations that are exact
(closure under + – × ÷ √ etc.)
•  Average accuracy loss when they aren’t
•  Entropy per bit (maximize information)
•  Accuracy benchmarks: simple formulas,
linear equation solving, math library
kernels…
Posit Arithmetic:
Beating floats at their own game
Fixed size, nbits.
No ubit.
Rounds after every operation.
es = exponent size = 0, 1, 2,… bits.
Posit Arithmetic Example
Here, es = 3. Float-like circuitry is all that is needed
(integer add, integer multiply, shifts to scale by 2k)
Posits do not underflow or overflow. There is no NaN.
Simpler, smaller, faster circuits than IEEE 754
= 3.55⋯×10–6
Mapping to the Projective Reals
Example with
nbits = 3, es = 1.
Value at 45° is
always
If bit string < 0,
set sign to – and
negate integer.
useeduseed = 2
es	2
Rules for inserting new points
Between ±maxpos
and ±∞, scale up
by useed.
(New regime bit)
Between 0 and
±minpos, scale down
by useed.
(New regime bit)
Between 2m and 2n
where n – m > 2,
insert 2(m + n)/2.
(New exponent bit)
At nbits = 5, fraction bits appear.
Between x and y
where y ≤ 2x,
insert (x + y)/2.
Notice existing
values stay in
place.
Appending bits
increases
accuracy
east and west,
dynamic range
north and south!
Posits vs. Floats:
a metrics-based study
•  Use quarter-precision IEEE-style floats
•  Sign bit, 4 exponent bits, 3 fraction bits
•  smallsubnormal = 1/512; maxfloat = 240.
•  Dynamic range of five orders of magnitude
•  Two representations of zero
•  Fourteen representations of “Not a
Number” (NaN)
Float accuracy tapers only on left
•  Min: 0.52
decimals
•  Avg: 1.40
decimals
•  Max: 1.55
decimals
Graph shows decimals of accuracy
from smallsubnormal to maxfloat.
Posit accuracy tapers on both sides
•  Min: 0.22
decimals
•  Avg: 1.46
decimals
•  Max: 1.86
decimals
Graph shows decimals of accuracy from minpos to maxpos.
But posits cover seven orders of magnitude, not five.
Both graphs at once
Where most calculations occur
⇦ Posits
⇦ Floats
ROUND 1
Unary Operations
1/x, √x, x2, log2(x), 2x
Closure under Reciprocation, 1/x
13.281%	 exact	
79.688%	 inexact	
		0.000%		 underflow	
		1.563%	 overflow	
		5.469%	 NaN	
Floats
18.750%	 exact	
81.250%	 inexact	
		0.000%		 underflow	
		0.000%	 overflow	
		0.000%	 NaN	
Posits
Closure under Square Root, √x
		7.031%	 exact	
40.625%	 inexact	
52.344%	 NaN	
Floats
7.813%	 exact	
42.188%	 inexact	
49.609%	 NaN	
Posits
Closure under Squaring, x2
Floats
Posits
13.281%	 exact	
43.750%	 inexact	
12.500%		 underflow	
25.000%	 overflow	
		5.469%	 NaN	
15.625%	 exact	
84.375%	 inexact	
		0.000%		 underflow	
		0.000%	 overflow	
		0.000%	 NaN
Closure under log2(x)
Floats
Posits
		7.813%	 exact	
39.844%	 inexact	
52.344%	 NaN	
		8.984%	 exact	
40.625%	 inexact	
50.391%	 NaN
Closure under 2x
Floats
Posits
		7.813%	 exact	
56.250%	 inexact	
14.844%		 underflow	
15.625%	 overflow	
		5.469%	 NaN	
		8.984%	 exact	
90.625%	 inexact	
		0.000%		 underflow	
		0.000%	 overflow	
		0.391%	 NaN
ROUND 2
Two-Argument Operations
x + y, x × y, x ÷ y
Addition Closure Plot: Floats
18.533%	 exact	
70.190%	 inexact	
		0.000%		 underflow	
		0.635%	 overflow	
10.641%	 NaN	
Inexact results
are magenta; the
larger the error,
the brighter the
color.
Addition can
overflow, but
cannot underflow.
Addition Closure Plot: Posits
25.005%	 exact	
74.994%	 inexact	
		0.000%		 underflow	
		0.000%	 overflow	
		0.002%	 NaN	
Only one case is
a NaN:
±∞ + ±∞
With posits, a
NaN stops the
calculation.
All decimal losses, sorted
Addition closure is
harder to achieve than
multiplication closure,
in scaled arithmetic
systems.
Multiplication Closure Plot: Floats
22.272%	 exact	
58.279%	 inexact	
		2.475%		 underflow	
		6.323%	 overflow	
10.651%	 NaN	
Floats score their
first win: more
exact products
than posits…
but at a terrible
cost!
Multiplication Closure Plot: Posits
18.002%	 exact	
81.995%	 inexact	
		0.000%		 underflow	
		0.000%	 overflow	
		0.003%	 NaN	
Only two cases
produce a NaN:
±∞ × 0
0 × ±∞
The sorted losses tell the real story
Posits are actually
far more robust at
controlling accuracy
losses from
multiplication.
Division Closure Plot: Floats
22.272%	 exact	
58.810%	 inexact	
		3.433%		 underflow	
		4.834%	 overflow	
10.651%	 NaN	
Denormalized
floats lead to
asymmetries.
Division Closure Plot: Posits
18.002%	 exact	
81.995%	 inexact	
		0.000%		 underflow	
		0.000%	 overflow	
		0.003%	 NaN	
Posits do not have
denormalized
values. Nor do they
need them.
Hidden bit = 1,
always. Simplifies
hardware.
ROUND 3
Higher-Precision Operations
32-bit formula evaluation
16-bit linear equation solve
128-bit triangle area calculation
The scalar product, redux
Accuracy on a 32-Bit Budget
27 /10 − e
π − 2 + 3( )
⎛
⎝
⎜
⎜
⎞
⎠
⎟
⎟
67 /16
= 302.8827196…Compute: with ≤ 32 bits
per number.
Number
Type
Dynamic
Range
Answer Error or
Range
IEEE 32-bit float 2×1083 302.912⋯ 0.0297
Interval arithmetic 1012 [18.21875, 33056.] 3.3×104
Type 1 unums 4×1083 (302.75, 303.) 0.25
Type 2 unums 1099 302.887⋯ 0.0038
Posits, es = 3 3×10144 302.88231⋯ 0.00040
Posits, es = 1 1036 302.8827819⋯ 0.000062
Posits beat floats at both dynamic range and accuracy.
Solving Ax = b with16-Bit Numbers
•  10 by 10; random Aij entries in (0, 1)
•  b chosen so x should be all 1s
•  Classic LAPACK method: LU factorization
with partial pivoting
IEEE 16-bit Floats
Dynamic range: 1012
RMS error: 0.011
Decimals accuracy: 1.96
16-bit Posits
Dynamic range: 1016
RMS error: 0.0026
Decimals accuracy: 2.58
Thin Triangle Area
From “What Every Computer Scientist Should Know About Floating-Point Arithmetic,”
David Goldberg, published in the March, 1991 issue of Computing Surveys
Find the area of this thin triangle
using the formula
and 128-bit IEEE floats, then 128-bit posits.
Answer, correct to 36 decimals:
3.14784204874900425235885265494550774⋯×10–16
A Grossly Unfair Contest
IEEE quad-precision floats get only one decimal digit right:
3.63481490842332134725920516158057683⋯×10–16
A Grossly Unfair Contest
IEEE quad-precision floats get only one digit right:
128-bit posits get 36 digits right:
To get this accurate an answer with IEEE floats, you
need octuple precision (256-bit) representation.
Posits don’t even need 128 bits. They can get a very
accurate answer with only 119 bits.
3.63481490842332134725920516158057683⋯×10–16
3.14784204874900425235885265494550774⋯×10–16
Remember this from the beginning?
a = (3.2e7, 1, –1, 8.0e7)
b = (4.0e7, 1, –1, –1.6e7)
Correct answer: a · b = 2
Find the scalar product a · b:
IEEE floats require 80-bit precision to get it right.
Posits (es = 3) need only 25-bit precision to get it right.
The fused dot product is 3 to 6 times faster than the
float method.*
*Source: “Hardware Accelerator for Exact Dot Product,”
David Biancolin and Jack Koenig, ASPIRE Laboratory, UC Berkeley
Summary
•  Posits beat floats at their own game:
superior accuracy, dynamic range, closure
•  Bitwise-reproducible answers (at last!)
•  Demonstrated better answers with same
number of bits
•  …or, equally good answers with fewer bits
•  Simpler, more elegant design should
reduce silicon cost, energy, and latency.
Who will be the first to produce a chip
with posit arithmetic?

More Related Content

What's hot

Number system
Number system Number system
Number system
GargiKhanna1
 
Booths Multiplication Algorithm
Booths Multiplication AlgorithmBooths Multiplication Algorithm
Booths Multiplication Algorithm
knightnick
 
Floating point representation
Floating point representationFloating point representation
Floating point representation
missstevenson01
 
Multiplication algorithm
Multiplication algorithmMultiplication algorithm
Multiplication algorithm
Gaurav Subham
 
Encoder and decoder
Encoder and decoderEncoder and decoder
Encoder and decoder
Abid Ali
 
linear codes and cyclic codes
linear codes and cyclic codeslinear codes and cyclic codes
linear codes and cyclic codes
saigopinadh bodigiri
 
Register Organization of 80386
Register Organization of 80386Register Organization of 80386
Dld (lab 1 & 2)
Dld (lab 1 & 2)Dld (lab 1 & 2)
Dld (lab 1 & 2)
Farwa Ansari
 
Floating point arithmetic
Floating point arithmeticFloating point arithmetic
Floating point arithmetic
vishal choudhary
 
Microprocessor and Microcontroller Anna University Answer Key April / May - 2015
Microprocessor and Microcontroller Anna University Answer Key April / May - 2015Microprocessor and Microcontroller Anna University Answer Key April / May - 2015
Microprocessor and Microcontroller Anna University Answer Key April / May - 2015
JCT COLLEGE OF ENGINEERING AND TECHNOLOGY
 
Lil endian.ppt
Lil endian.pptLil endian.ppt
Lil endian.ppt
Ganga R Jaiswal
 
1.ripple carry adder, full adder implementation using half adder.
1.ripple carry adder, full adder implementation using half adder.1.ripple carry adder, full adder implementation using half adder.
1.ripple carry adder, full adder implementation using half adder.
MdFazleRabbi18
 
Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...
Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...
Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...
Bilal Amjad
 
Chapter 1: Binary System
 Chapter 1: Binary System Chapter 1: Binary System
Chapter 1: Binary System
Er. Nawaraj Bhandari
 
Ripple Carry Adder
Ripple Carry AdderRipple Carry Adder
Ripple Carry Adder
Aravindreddy Mokireddy
 
Chapter 2: Microprocessors
Chapter 2: MicroprocessorsChapter 2: Microprocessors
Chapter 2: Microprocessors
Best of Learning Technologies
 
BINARY SUBTRACTION
BINARY SUBTRACTIONBINARY SUBTRACTION
BINARY SUBTRACTION
UoHCollegeScienceOfComputer
 
Chapter 2.1 introduction to number system
Chapter 2.1 introduction to number systemChapter 2.1 introduction to number system
Chapter 2.1 introduction to number system
ISMT College
 

What's hot (20)

Number system
Number system Number system
Number system
 
Booths Multiplication Algorithm
Booths Multiplication AlgorithmBooths Multiplication Algorithm
Booths Multiplication Algorithm
 
Floating point representation
Floating point representationFloating point representation
Floating point representation
 
Multiplication algorithm
Multiplication algorithmMultiplication algorithm
Multiplication algorithm
 
Encoder and decoder
Encoder and decoderEncoder and decoder
Encoder and decoder
 
linear codes and cyclic codes
linear codes and cyclic codeslinear codes and cyclic codes
linear codes and cyclic codes
 
Chapter 03 cyclic codes
Chapter 03   cyclic codesChapter 03   cyclic codes
Chapter 03 cyclic codes
 
Register Organization of 80386
Register Organization of 80386Register Organization of 80386
Register Organization of 80386
 
Dld (lab 1 & 2)
Dld (lab 1 & 2)Dld (lab 1 & 2)
Dld (lab 1 & 2)
 
Ripple adder
Ripple adderRipple adder
Ripple adder
 
Floating point arithmetic
Floating point arithmeticFloating point arithmetic
Floating point arithmetic
 
Microprocessor and Microcontroller Anna University Answer Key April / May - 2015
Microprocessor and Microcontroller Anna University Answer Key April / May - 2015Microprocessor and Microcontroller Anna University Answer Key April / May - 2015
Microprocessor and Microcontroller Anna University Answer Key April / May - 2015
 
Lil endian.ppt
Lil endian.pptLil endian.ppt
Lil endian.ppt
 
1.ripple carry adder, full adder implementation using half adder.
1.ripple carry adder, full adder implementation using half adder.1.ripple carry adder, full adder implementation using half adder.
1.ripple carry adder, full adder implementation using half adder.
 
Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...
Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...
Assembly Language Programming By Ytha Yu, Charles Marut Chap 4 (Introduction ...
 
Chapter 1: Binary System
 Chapter 1: Binary System Chapter 1: Binary System
Chapter 1: Binary System
 
Ripple Carry Adder
Ripple Carry AdderRipple Carry Adder
Ripple Carry Adder
 
Chapter 2: Microprocessors
Chapter 2: MicroprocessorsChapter 2: Microprocessors
Chapter 2: Microprocessors
 
BINARY SUBTRACTION
BINARY SUBTRACTIONBINARY SUBTRACTION
BINARY SUBTRACTION
 
Chapter 2.1 introduction to number system
Chapter 2.1 introduction to number systemChapter 2.1 introduction to number system
Chapter 2.1 introduction to number system
 

Viewers also liked

Unum Computing: An Energy Efficient and Massively Parallel Approach to Valid ...
Unum Computing: An Energy Efficient and Massively Parallel Approach to Valid ...Unum Computing: An Energy Efficient and Massively Parallel Approach to Valid ...
Unum Computing: An Energy Efficient and Massively Parallel Approach to Valid ...
inside-BigData.com
 
The Future of the OS
The Future of the OSThe Future of the OS
The Future of the OS
inside-BigData.com
 
SC16 Student Cluster Competition Configurations & Results
SC16 Student Cluster Competition Configurations & ResultsSC16 Student Cluster Competition Configurations & Results
SC16 Student Cluster Competition Configurations & Results
inside-BigData.com
 
Towards Exascale Computing with Fortran 2015
Towards Exascale Computing with Fortran 2015Towards Exascale Computing with Fortran 2015
Towards Exascale Computing with Fortran 2015
inside-BigData.com
 
Introduction to GPUs in HPC
Introduction to GPUs in HPCIntroduction to GPUs in HPC
Introduction to GPUs in HPC
inside-BigData.com
 
Content Marketing Hacks That Will Help You Stand Out
Content Marketing Hacks That Will Help You Stand OutContent Marketing Hacks That Will Help You Stand Out
Content Marketing Hacks That Will Help You Stand Out
Ross Simmonds
 
How To Successfully Select An ERP System in Eight Simple Steps
How To Successfully Select An ERP System in Eight Simple StepsHow To Successfully Select An ERP System in Eight Simple Steps
How To Successfully Select An ERP System in Eight Simple Steps
Index InfoTech
 
Software companies and Corporate social responsibility (CSR)
Software companies and Corporate social responsibility (CSR)  Software companies and Corporate social responsibility (CSR)
Software companies and Corporate social responsibility (CSR)
Jiří Napravnik
 
Open Networking Revolution - Cambodia - Why?
Open Networking Revolution - Cambodia - Why?Open Networking Revolution - Cambodia - Why?
Open Networking Revolution - Cambodia - Why?
KHNOG
 
Introduction to the Oakforest-PACS Supercomputer in Japan
Introduction to the Oakforest-PACS Supercomputer in JapanIntroduction to the Oakforest-PACS Supercomputer in Japan
Introduction to the Oakforest-PACS Supercomputer in Japan
inside-BigData.com
 
What's New in IBM Java 8 SE?
What's New in IBM Java 8 SE?What's New in IBM Java 8 SE?
What's New in IBM Java 8 SE?
Tim Ellison
 
Using GPUs to handle Big Data with Java by Adam Roberts.
Using GPUs to handle Big Data with Java by Adam Roberts.Using GPUs to handle Big Data with Java by Adam Roberts.
Using GPUs to handle Big Data with Java by Adam Roberts.
J On The Beach
 
Sly and the RoarVM: Exploring the Manycore Future of Programming
Sly and the RoarVM: Exploring the Manycore Future of ProgrammingSly and the RoarVM: Exploring the Manycore Future of Programming
Sly and the RoarVM: Exploring the Manycore Future of Programming
Stefan Marr
 
IBM general parallel file system - introduction
IBM general parallel file system - introductionIBM general parallel file system - introduction
IBM general parallel file system - introduction
IBM Danmark
 
Exascale Computing Project - Driving a HUGE Change in a Changing World
Exascale Computing Project - Driving a HUGE Change in a Changing WorldExascale Computing Project - Driving a HUGE Change in a Changing World
Exascale Computing Project - Driving a HUGE Change in a Changing World
inside-BigData.com
 
Optimizing Lustre and GPFS with DDN
Optimizing Lustre and GPFS with DDNOptimizing Lustre and GPFS with DDN
Optimizing Lustre and GPFS with DDN
inside-BigData.com
 
Open Ethernet: an open-source approach to modern network design
Open Ethernet: an open-source approach to modern network designOpen Ethernet: an open-source approach to modern network design
Open Ethernet: an open-source approach to modern network design
Alexander Petrovskiy
 
InfiniCortex and the Renaissance in Polish Supercomputing
InfiniCortex and the Renaissance in Polish Supercomputing InfiniCortex and the Renaissance in Polish Supercomputing
InfiniCortex and the Renaissance in Polish Supercomputing
inside-BigData.com
 
Functional Reactive Programming / Compositional Event Systems
Functional Reactive Programming / Compositional Event SystemsFunctional Reactive Programming / Compositional Event Systems
Functional Reactive Programming / Compositional Event SystemsLeonardo Borges
 
(BDT201) Big Data and HPC State of the Union | AWS re:Invent 2014
(BDT201) Big Data and HPC State of the Union | AWS re:Invent 2014(BDT201) Big Data and HPC State of the Union | AWS re:Invent 2014
(BDT201) Big Data and HPC State of the Union | AWS re:Invent 2014
Amazon Web Services
 

Viewers also liked (20)

Unum Computing: An Energy Efficient and Massively Parallel Approach to Valid ...
Unum Computing: An Energy Efficient and Massively Parallel Approach to Valid ...Unum Computing: An Energy Efficient and Massively Parallel Approach to Valid ...
Unum Computing: An Energy Efficient and Massively Parallel Approach to Valid ...
 
The Future of the OS
The Future of the OSThe Future of the OS
The Future of the OS
 
SC16 Student Cluster Competition Configurations & Results
SC16 Student Cluster Competition Configurations & ResultsSC16 Student Cluster Competition Configurations & Results
SC16 Student Cluster Competition Configurations & Results
 
Towards Exascale Computing with Fortran 2015
Towards Exascale Computing with Fortran 2015Towards Exascale Computing with Fortran 2015
Towards Exascale Computing with Fortran 2015
 
Introduction to GPUs in HPC
Introduction to GPUs in HPCIntroduction to GPUs in HPC
Introduction to GPUs in HPC
 
Content Marketing Hacks That Will Help You Stand Out
Content Marketing Hacks That Will Help You Stand OutContent Marketing Hacks That Will Help You Stand Out
Content Marketing Hacks That Will Help You Stand Out
 
How To Successfully Select An ERP System in Eight Simple Steps
How To Successfully Select An ERP System in Eight Simple StepsHow To Successfully Select An ERP System in Eight Simple Steps
How To Successfully Select An ERP System in Eight Simple Steps
 
Software companies and Corporate social responsibility (CSR)
Software companies and Corporate social responsibility (CSR)  Software companies and Corporate social responsibility (CSR)
Software companies and Corporate social responsibility (CSR)
 
Open Networking Revolution - Cambodia - Why?
Open Networking Revolution - Cambodia - Why?Open Networking Revolution - Cambodia - Why?
Open Networking Revolution - Cambodia - Why?
 
Introduction to the Oakforest-PACS Supercomputer in Japan
Introduction to the Oakforest-PACS Supercomputer in JapanIntroduction to the Oakforest-PACS Supercomputer in Japan
Introduction to the Oakforest-PACS Supercomputer in Japan
 
What's New in IBM Java 8 SE?
What's New in IBM Java 8 SE?What's New in IBM Java 8 SE?
What's New in IBM Java 8 SE?
 
Using GPUs to handle Big Data with Java by Adam Roberts.
Using GPUs to handle Big Data with Java by Adam Roberts.Using GPUs to handle Big Data with Java by Adam Roberts.
Using GPUs to handle Big Data with Java by Adam Roberts.
 
Sly and the RoarVM: Exploring the Manycore Future of Programming
Sly and the RoarVM: Exploring the Manycore Future of ProgrammingSly and the RoarVM: Exploring the Manycore Future of Programming
Sly and the RoarVM: Exploring the Manycore Future of Programming
 
IBM general parallel file system - introduction
IBM general parallel file system - introductionIBM general parallel file system - introduction
IBM general parallel file system - introduction
 
Exascale Computing Project - Driving a HUGE Change in a Changing World
Exascale Computing Project - Driving a HUGE Change in a Changing WorldExascale Computing Project - Driving a HUGE Change in a Changing World
Exascale Computing Project - Driving a HUGE Change in a Changing World
 
Optimizing Lustre and GPFS with DDN
Optimizing Lustre and GPFS with DDNOptimizing Lustre and GPFS with DDN
Optimizing Lustre and GPFS with DDN
 
Open Ethernet: an open-source approach to modern network design
Open Ethernet: an open-source approach to modern network designOpen Ethernet: an open-source approach to modern network design
Open Ethernet: an open-source approach to modern network design
 
InfiniCortex and the Renaissance in Polish Supercomputing
InfiniCortex and the Renaissance in Polish Supercomputing InfiniCortex and the Renaissance in Polish Supercomputing
InfiniCortex and the Renaissance in Polish Supercomputing
 
Functional Reactive Programming / Compositional Event Systems
Functional Reactive Programming / Compositional Event SystemsFunctional Reactive Programming / Compositional Event Systems
Functional Reactive Programming / Compositional Event Systems
 
(BDT201) Big Data and HPC State of the Union | AWS re:Invent 2014
(BDT201) Big Data and HPC State of the Union | AWS re:Invent 2014(BDT201) Big Data and HPC State of the Union | AWS re:Invent 2014
(BDT201) Big Data and HPC State of the Union | AWS re:Invent 2014
 

Similar to Beyond Floating Point – Next Generation Computer Arithmetic

Beating Floating Point at its Own Game: Posit Arithmetic
Beating Floating Point at its Own Game: Posit ArithmeticBeating Floating Point at its Own Game: Posit Arithmetic
Beating Floating Point at its Own Game: Posit Arithmetic
inside-BigData.com
 
number system: Floating Point representation.ppt
number system: Floating Point representation.pptnumber system: Floating Point representation.ppt
number system: Floating Point representation.ppt
NARENDRAKUMARCHAURAS1
 
Topic 1 Data Representation
Topic 1 Data RepresentationTopic 1 Data Representation
Topic 1 Data Representationekul
 
Topic 1 Data Representation
Topic 1 Data RepresentationTopic 1 Data Representation
Topic 1 Data Representation
Kyle
 
numerical methods
numerical methodsnumerical methods
numerical methods
HaiderParekh1
 
IEEE-754 standard format to handle Floating-Point calculations in RISC-V CPUs...
IEEE-754 standard format to handle Floating-Point calculations in RISC-V CPUs...IEEE-754 standard format to handle Floating-Point calculations in RISC-V CPUs...
IEEE-754 standard format to handle Floating-Point calculations in RISC-V CPUs...
zeeshanshanzy009
 
Counting (Using Computer)
Counting (Using Computer)Counting (Using Computer)
Counting (Using Computer)
roshmat
 
3D Math Without Presenter Notes
3D Math Without Presenter Notes3D Math Without Presenter Notes
3D Math Without Presenter Notes
Janie Clayton
 
data representation
 data representation data representation
data representation
Haroon_007
 
Only floating point lecture 7 (1)
Only floating point lecture 7 (1)Only floating point lecture 7 (1)
Only floating point lecture 7 (1)
talhashahid40
 
Dynamic Programming - Laughlin Lunch and Learn
Dynamic Programming - Laughlin Lunch and LearnDynamic Programming - Laughlin Lunch and Learn
Dynamic Programming - Laughlin Lunch and Learn
Billie Rose
 
Specialized indexing for NoSQL Databases like Accumulo and HBase
Specialized indexing for NoSQL Databases like Accumulo and HBaseSpecialized indexing for NoSQL Databases like Accumulo and HBase
Specialized indexing for NoSQL Databases like Accumulo and HBase
Jim Klucar
 
Bitwise
BitwiseBitwise
Bitwise
Axel Ryo
 
1.2 matlab numerical data
1.2  matlab numerical data1.2  matlab numerical data
1.2 matlab numerical data
TANVIRAHMED611926
 
Finite word length effects
Finite word length effectsFinite word length effects
Finite word length effects
PeriyanayagiS
 
Block ciphers
Block ciphersBlock ciphers
Block ciphers
Sandeep Joshi
 
Session2
Session2Session2
Session2
daviessegera
 
3D Math Primer: CocoaConf Atlanta
3D Math Primer: CocoaConf Atlanta3D Math Primer: CocoaConf Atlanta
3D Math Primer: CocoaConf Atlanta
Janie Clayton
 
Implementation of character translation integer and floating point values
Implementation of character translation integer and floating point valuesImplementation of character translation integer and floating point values
Implementation of character translation integer and floating point values
غزالة
 

Similar to Beyond Floating Point – Next Generation Computer Arithmetic (20)

Beating Floating Point at its Own Game: Posit Arithmetic
Beating Floating Point at its Own Game: Posit ArithmeticBeating Floating Point at its Own Game: Posit Arithmetic
Beating Floating Point at its Own Game: Posit Arithmetic
 
number system: Floating Point representation.ppt
number system: Floating Point representation.pptnumber system: Floating Point representation.ppt
number system: Floating Point representation.ppt
 
Topic 1 Data Representation
Topic 1 Data RepresentationTopic 1 Data Representation
Topic 1 Data Representation
 
Topic 1 Data Representation
Topic 1 Data RepresentationTopic 1 Data Representation
Topic 1 Data Representation
 
numerical methods
numerical methodsnumerical methods
numerical methods
 
IEEE-754 standard format to handle Floating-Point calculations in RISC-V CPUs...
IEEE-754 standard format to handle Floating-Point calculations in RISC-V CPUs...IEEE-754 standard format to handle Floating-Point calculations in RISC-V CPUs...
IEEE-754 standard format to handle Floating-Point calculations in RISC-V CPUs...
 
Counting (Using Computer)
Counting (Using Computer)Counting (Using Computer)
Counting (Using Computer)
 
3D Math Without Presenter Notes
3D Math Without Presenter Notes3D Math Without Presenter Notes
3D Math Without Presenter Notes
 
data representation
 data representation data representation
data representation
 
Only floating point lecture 7 (1)
Only floating point lecture 7 (1)Only floating point lecture 7 (1)
Only floating point lecture 7 (1)
 
Dynamic Programming - Laughlin Lunch and Learn
Dynamic Programming - Laughlin Lunch and LearnDynamic Programming - Laughlin Lunch and Learn
Dynamic Programming - Laughlin Lunch and Learn
 
Specialized indexing for NoSQL Databases like Accumulo and HBase
Specialized indexing for NoSQL Databases like Accumulo and HBaseSpecialized indexing for NoSQL Databases like Accumulo and HBase
Specialized indexing for NoSQL Databases like Accumulo and HBase
 
Bitwise
BitwiseBitwise
Bitwise
 
1.2 matlab numerical data
1.2  matlab numerical data1.2  matlab numerical data
1.2 matlab numerical data
 
Finite word length effects
Finite word length effectsFinite word length effects
Finite word length effects
 
Block ciphers
Block ciphersBlock ciphers
Block ciphers
 
Session2
Session2Session2
Session2
 
3D Math Primer: CocoaConf Atlanta
3D Math Primer: CocoaConf Atlanta3D Math Primer: CocoaConf Atlanta
3D Math Primer: CocoaConf Atlanta
 
Es272 ch2
Es272 ch2Es272 ch2
Es272 ch2
 
Implementation of character translation integer and floating point values
Implementation of character translation integer and floating point valuesImplementation of character translation integer and floating point values
Implementation of character translation integer and floating point values
 

More from inside-BigData.com

Major Market Shifts in IT
Major Market Shifts in ITMajor Market Shifts in IT
Major Market Shifts in IT
inside-BigData.com
 
Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...
inside-BigData.com
 
Transforming Private 5G Networks
Transforming Private 5G NetworksTransforming Private 5G Networks
Transforming Private 5G Networks
inside-BigData.com
 
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
inside-BigData.com
 
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...
inside-BigData.com
 
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
inside-BigData.com
 
HPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural NetworksHPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural Networks
inside-BigData.com
 
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
Biohybrid Robotic Jellyfish for Future Applications in Ocean MonitoringBiohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
inside-BigData.com
 
Machine Learning for Weather Forecasts
Machine Learning for Weather ForecastsMachine Learning for Weather Forecasts
Machine Learning for Weather Forecasts
inside-BigData.com
 
HPC AI Advisory Council Update
HPC AI Advisory Council UpdateHPC AI Advisory Council Update
HPC AI Advisory Council Update
inside-BigData.com
 
Fugaku Supercomputer joins fight against COVID-19
Fugaku Supercomputer joins fight against COVID-19Fugaku Supercomputer joins fight against COVID-19
Fugaku Supercomputer joins fight against COVID-19
inside-BigData.com
 
Energy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic TuningEnergy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic Tuning
inside-BigData.com
 
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPODHPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
inside-BigData.com
 
State of ARM-based HPC
State of ARM-based HPCState of ARM-based HPC
State of ARM-based HPC
inside-BigData.com
 
Versal Premium ACAP for Network and Cloud Acceleration
Versal Premium ACAP for Network and Cloud AccelerationVersal Premium ACAP for Network and Cloud Acceleration
Versal Premium ACAP for Network and Cloud Acceleration
inside-BigData.com
 
Zettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance EfficientlyZettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance Efficiently
inside-BigData.com
 
Scaling TCO in a Post Moore's Era
Scaling TCO in a Post Moore's EraScaling TCO in a Post Moore's Era
Scaling TCO in a Post Moore's Era
inside-BigData.com
 
CUDA-Python and RAPIDS for blazing fast scientific computing
CUDA-Python and RAPIDS for blazing fast scientific computingCUDA-Python and RAPIDS for blazing fast scientific computing
CUDA-Python and RAPIDS for blazing fast scientific computing
inside-BigData.com
 
Introducing HPC with a Raspberry Pi Cluster
Introducing HPC with a Raspberry Pi ClusterIntroducing HPC with a Raspberry Pi Cluster
Introducing HPC with a Raspberry Pi Cluster
inside-BigData.com
 
Overview of HPC Interconnects
Overview of HPC InterconnectsOverview of HPC Interconnects
Overview of HPC Interconnects
inside-BigData.com
 

More from inside-BigData.com (20)

Major Market Shifts in IT
Major Market Shifts in ITMajor Market Shifts in IT
Major Market Shifts in IT
 
Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...Preparing to program Aurora at Exascale - Early experiences and future direct...
Preparing to program Aurora at Exascale - Early experiences and future direct...
 
Transforming Private 5G Networks
Transforming Private 5G NetworksTransforming Private 5G Networks
Transforming Private 5G Networks
 
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
The Incorporation of Machine Learning into Scientific Simulations at Lawrence...
 
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...
How to Achieve High-Performance, Scalable and Distributed DNN Training on Mod...
 
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
Evolving Cyberinfrastructure, Democratizing Data, and Scaling AI to Catalyze ...
 
HPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural NetworksHPC Impact: EDA Telemetry Neural Networks
HPC Impact: EDA Telemetry Neural Networks
 
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
Biohybrid Robotic Jellyfish for Future Applications in Ocean MonitoringBiohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
Biohybrid Robotic Jellyfish for Future Applications in Ocean Monitoring
 
Machine Learning for Weather Forecasts
Machine Learning for Weather ForecastsMachine Learning for Weather Forecasts
Machine Learning for Weather Forecasts
 
HPC AI Advisory Council Update
HPC AI Advisory Council UpdateHPC AI Advisory Council Update
HPC AI Advisory Council Update
 
Fugaku Supercomputer joins fight against COVID-19
Fugaku Supercomputer joins fight against COVID-19Fugaku Supercomputer joins fight against COVID-19
Fugaku Supercomputer joins fight against COVID-19
 
Energy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic TuningEnergy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic Tuning
 
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPODHPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
HPC at Scale Enabled by DDN A3i and NVIDIA SuperPOD
 
State of ARM-based HPC
State of ARM-based HPCState of ARM-based HPC
State of ARM-based HPC
 
Versal Premium ACAP for Network and Cloud Acceleration
Versal Premium ACAP for Network and Cloud AccelerationVersal Premium ACAP for Network and Cloud Acceleration
Versal Premium ACAP for Network and Cloud Acceleration
 
Zettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance EfficientlyZettar: Moving Massive Amounts of Data across Any Distance Efficiently
Zettar: Moving Massive Amounts of Data across Any Distance Efficiently
 
Scaling TCO in a Post Moore's Era
Scaling TCO in a Post Moore's EraScaling TCO in a Post Moore's Era
Scaling TCO in a Post Moore's Era
 
CUDA-Python and RAPIDS for blazing fast scientific computing
CUDA-Python and RAPIDS for blazing fast scientific computingCUDA-Python and RAPIDS for blazing fast scientific computing
CUDA-Python and RAPIDS for blazing fast scientific computing
 
Introducing HPC with a Raspberry Pi Cluster
Introducing HPC with a Raspberry Pi ClusterIntroducing HPC with a Raspberry Pi Cluster
Introducing HPC with a Raspberry Pi Cluster
 
Overview of HPC Interconnects
Overview of HPC InterconnectsOverview of HPC Interconnects
Overview of HPC Interconnects
 

Recently uploaded

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 

Recently uploaded (20)

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 

Beyond Floating Point – Next Generation Computer Arithmetic

  • 1. Beyond Floating Point: Next-Generation Computer Arithmetic John L. Gustafson Professor, A*STAR and National University of Singapore
  • 2. Why worry about floating-point? a = (3.2e7, 1, –1, 8.0e7) b = (4.0e7, 1, –1, –1.6e7) Single Precision, 32 bits: Note: All values are integers that can be expressed exactly in the IEEE 754 Standard floating-point format (single or double precision) Double Precision, 64 bits: a · b = 0 a · b = 0 Find the scalar product a · b:
  • 3. Why worry about floating-point? a = (3.2e7, 1, –1, 8.0e7) b = (4.0e7, 1, –1, –1.6e7) Single Precision, 32 bits: Note: All values are integers that can be expressed exactly in the IEEE 754 Standard floating-point format (single or double precision) Double Precision, 64 bits: Double Precision with binary sum collapse: a · b = 0 a · b = 0 a · b = 1 Find the scalar product a · b:
  • 4. Why worry about floating-point? a = (3.2e7, 1, –1, 8.0e7) b = (4.0e7, 1, –1, –1.6e7) Single Precision, 32 bits: Note: All values are integers that can be expressed exactly in the IEEE 754 Standard floating-point format (single or double precision) Double Precision, 64 bits: Double Precision with binary sum collapse: a · b = 0 a · b = 0 a · b = 1 Correct answer: a · b = 2 Most linear algebra is unstable with floats! Find the scalar product a · b:
  • 5. What’s wrong with IEEE 754? (1) •  It’s a guideline, not a standard •  No guarantee of identical results across systems •  Invisible rounding errors; the “inexact” flag is useless •  Breaks algebra laws, like a+(b+c) = (a+b)+c •  Overflows to infinity, underflows to zero •  No way to express most of the real number line
  • 6. A Key Idea: The Ubit Incorrect: π = 3.14 Correct: π = 3.14… The latter means 3.14 < π < 3.15, a true statement. Presence or absence of the “…” is the ubit, just like a sign bit. It is 0 if exact, 1 if there are more bits after the last fraction bit, not all 0s and not all 1s. We have always had a way of expressing infinite- decimal reals correctly with a finite set of symbols.
  • 7. What’s wrong with IEEE 754? (2) •  Exponents usually too large; not adjustable •  Accuracy is flat across a vast range, then falls off a cliff •  Wasted bit patterns; “negative zero,” too many NaN values •  Subnormal numbers are headache •  Divides are hard •  Decimal floats are expensive; no 32-bit version
  • 8. Quick Introduction to Unum (universal number) Format: Type 1 •  Type 1 unums extend IEEE floating point with three metadata fields for exactness, exponent size, and fraction size. Upward compatible. •  Fixed size if “unpacked” to maximum size, but can vary in size to save storage, bandwidth. IEEE Float sign 0 exp. 11001 fraction 1001110001 sign exp. fraction ubit exp. size utag frac. size Type 1 Unum 0 11001 1001110001 0 100 1001 For details see The End of Error: Unum Arithmetic, CRC Press, 2015
  • 9. Floats only express discrete points on the real number line Use of a tiny- precision float highlights the problem.
  • 10. The ubit can represent exact values or the range between exacts Unums cover the entire extended real number line using a finite number of bits.
  • 11. For details see http://superfri.org/superfri/article/view/94/78 Type 2 unums •  Projective reals •  Custom lattice •  No penalty for decimal •  Table look-up •  Perfect reciprocals •  No redundancy •  Incredibly fast (ROM) but limited precision (< 20 bits)
  • 12. Contrasting Calculation “Esthetics” IEEE Standard (1985) Floats, f = n × 2m m, n are integers Intervals [f1, f2], all x such that f1 ≤ x ≤ f2 Type 1 Unums (2013) “Guess” mode, flexible precision Unums, ubounds, sets of uboxes Type 2 Unums (2016) “Guess” mode, fixed precision Sets of Real Numbers (SORNs) Sigmoid Unums (2017) Posits Valids Rounded: cheap, uncertain, but “good enough” Rigorous: certain, more work, mathematical If you mix the two esthetics, you wind up satisfying neither.
  • 13.
  • 14. Metrics for Number Systems •  Accuracy –log10(log10(xj / xj+1)) •  Dynamic range log10(maxreal / minreal) •  Percentage of operations that are exact (closure under + – × ÷ √ etc.) •  Average accuracy loss when they aren’t •  Entropy per bit (maximize information) •  Accuracy benchmarks: simple formulas, linear equation solving, math library kernels…
  • 15. Posit Arithmetic: Beating floats at their own game Fixed size, nbits. No ubit. Rounds after every operation. es = exponent size = 0, 1, 2,… bits.
  • 16. Posit Arithmetic Example Here, es = 3. Float-like circuitry is all that is needed (integer add, integer multiply, shifts to scale by 2k) Posits do not underflow or overflow. There is no NaN. Simpler, smaller, faster circuits than IEEE 754 = 3.55⋯×10–6
  • 17. Mapping to the Projective Reals Example with nbits = 3, es = 1. Value at 45° is always If bit string < 0, set sign to – and negate integer. useeduseed = 2 es 2
  • 18. Rules for inserting new points Between ±maxpos and ±∞, scale up by useed. (New regime bit) Between 0 and ±minpos, scale down by useed. (New regime bit) Between 2m and 2n where n – m > 2, insert 2(m + n)/2. (New exponent bit)
  • 19. At nbits = 5, fraction bits appear. Between x and y where y ≤ 2x, insert (x + y)/2. Notice existing values stay in place. Appending bits increases accuracy east and west, dynamic range north and south!
  • 20. Posits vs. Floats: a metrics-based study •  Use quarter-precision IEEE-style floats •  Sign bit, 4 exponent bits, 3 fraction bits •  smallsubnormal = 1/512; maxfloat = 240. •  Dynamic range of five orders of magnitude •  Two representations of zero •  Fourteen representations of “Not a Number” (NaN)
  • 21. Float accuracy tapers only on left •  Min: 0.52 decimals •  Avg: 1.40 decimals •  Max: 1.55 decimals Graph shows decimals of accuracy from smallsubnormal to maxfloat.
  • 22. Posit accuracy tapers on both sides •  Min: 0.22 decimals •  Avg: 1.46 decimals •  Max: 1.86 decimals Graph shows decimals of accuracy from minpos to maxpos. But posits cover seven orders of magnitude, not five.
  • 23. Both graphs at once Where most calculations occur ⇦ Posits ⇦ Floats
  • 24. ROUND 1 Unary Operations 1/x, √x, x2, log2(x), 2x
  • 25. Closure under Reciprocation, 1/x 13.281% exact 79.688% inexact 0.000% underflow 1.563% overflow 5.469% NaN Floats 18.750% exact 81.250% inexact 0.000% underflow 0.000% overflow 0.000% NaN Posits
  • 26. Closure under Square Root, √x 7.031% exact 40.625% inexact 52.344% NaN Floats 7.813% exact 42.188% inexact 49.609% NaN Posits
  • 27. Closure under Squaring, x2 Floats Posits 13.281% exact 43.750% inexact 12.500% underflow 25.000% overflow 5.469% NaN 15.625% exact 84.375% inexact 0.000% underflow 0.000% overflow 0.000% NaN
  • 28. Closure under log2(x) Floats Posits 7.813% exact 39.844% inexact 52.344% NaN 8.984% exact 40.625% inexact 50.391% NaN
  • 29. Closure under 2x Floats Posits 7.813% exact 56.250% inexact 14.844% underflow 15.625% overflow 5.469% NaN 8.984% exact 90.625% inexact 0.000% underflow 0.000% overflow 0.391% NaN
  • 30. ROUND 2 Two-Argument Operations x + y, x × y, x ÷ y
  • 31. Addition Closure Plot: Floats 18.533% exact 70.190% inexact 0.000% underflow 0.635% overflow 10.641% NaN Inexact results are magenta; the larger the error, the brighter the color. Addition can overflow, but cannot underflow.
  • 32. Addition Closure Plot: Posits 25.005% exact 74.994% inexact 0.000% underflow 0.000% overflow 0.002% NaN Only one case is a NaN: ±∞ + ±∞ With posits, a NaN stops the calculation.
  • 33. All decimal losses, sorted Addition closure is harder to achieve than multiplication closure, in scaled arithmetic systems.
  • 34. Multiplication Closure Plot: Floats 22.272% exact 58.279% inexact 2.475% underflow 6.323% overflow 10.651% NaN Floats score their first win: more exact products than posits… but at a terrible cost!
  • 35. Multiplication Closure Plot: Posits 18.002% exact 81.995% inexact 0.000% underflow 0.000% overflow 0.003% NaN Only two cases produce a NaN: ±∞ × 0 0 × ±∞
  • 36. The sorted losses tell the real story Posits are actually far more robust at controlling accuracy losses from multiplication.
  • 37. Division Closure Plot: Floats 22.272% exact 58.810% inexact 3.433% underflow 4.834% overflow 10.651% NaN Denormalized floats lead to asymmetries.
  • 38. Division Closure Plot: Posits 18.002% exact 81.995% inexact 0.000% underflow 0.000% overflow 0.003% NaN Posits do not have denormalized values. Nor do they need them. Hidden bit = 1, always. Simplifies hardware.
  • 39. ROUND 3 Higher-Precision Operations 32-bit formula evaluation 16-bit linear equation solve 128-bit triangle area calculation The scalar product, redux
  • 40. Accuracy on a 32-Bit Budget 27 /10 − e π − 2 + 3( ) ⎛ ⎝ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ 67 /16 = 302.8827196…Compute: with ≤ 32 bits per number. Number Type Dynamic Range Answer Error or Range IEEE 32-bit float 2×1083 302.912⋯ 0.0297 Interval arithmetic 1012 [18.21875, 33056.] 3.3×104 Type 1 unums 4×1083 (302.75, 303.) 0.25 Type 2 unums 1099 302.887⋯ 0.0038 Posits, es = 3 3×10144 302.88231⋯ 0.00040 Posits, es = 1 1036 302.8827819⋯ 0.000062 Posits beat floats at both dynamic range and accuracy.
  • 41. Solving Ax = b with16-Bit Numbers •  10 by 10; random Aij entries in (0, 1) •  b chosen so x should be all 1s •  Classic LAPACK method: LU factorization with partial pivoting IEEE 16-bit Floats Dynamic range: 1012 RMS error: 0.011 Decimals accuracy: 1.96 16-bit Posits Dynamic range: 1016 RMS error: 0.0026 Decimals accuracy: 2.58
  • 42. Thin Triangle Area From “What Every Computer Scientist Should Know About Floating-Point Arithmetic,” David Goldberg, published in the March, 1991 issue of Computing Surveys Find the area of this thin triangle using the formula and 128-bit IEEE floats, then 128-bit posits. Answer, correct to 36 decimals: 3.14784204874900425235885265494550774⋯×10–16
  • 43. A Grossly Unfair Contest IEEE quad-precision floats get only one decimal digit right: 3.63481490842332134725920516158057683⋯×10–16
  • 44. A Grossly Unfair Contest IEEE quad-precision floats get only one digit right: 128-bit posits get 36 digits right: To get this accurate an answer with IEEE floats, you need octuple precision (256-bit) representation. Posits don’t even need 128 bits. They can get a very accurate answer with only 119 bits. 3.63481490842332134725920516158057683⋯×10–16 3.14784204874900425235885265494550774⋯×10–16
  • 45. Remember this from the beginning? a = (3.2e7, 1, –1, 8.0e7) b = (4.0e7, 1, –1, –1.6e7) Correct answer: a · b = 2 Find the scalar product a · b: IEEE floats require 80-bit precision to get it right. Posits (es = 3) need only 25-bit precision to get it right. The fused dot product is 3 to 6 times faster than the float method.* *Source: “Hardware Accelerator for Exact Dot Product,” David Biancolin and Jack Koenig, ASPIRE Laboratory, UC Berkeley
  • 46. Summary •  Posits beat floats at their own game: superior accuracy, dynamic range, closure •  Bitwise-reproducible answers (at last!) •  Demonstrated better answers with same number of bits •  …or, equally good answers with fewer bits •  Simpler, more elegant design should reduce silicon cost, energy, and latency. Who will be the first to produce a chip with posit arithmetic?