SlideShare une entreprise Scribd logo
1  sur  46
Télécharger pour lire hors ligne
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?

Contenu connexe

Tendances

Pulse code modulation (PCM)
Pulse code modulation (PCM)Pulse code modulation (PCM)
Pulse code modulation (PCM)Mahima Shastri
 
Analog-to Digital Conversion
Analog-to Digital ConversionAnalog-to Digital Conversion
Analog-to Digital Conversionwajahat Gul
 
Unipolar Encoding Techniques: NRZ & RZ
Unipolar Encoding Techniques: NRZ & RZUnipolar Encoding Techniques: NRZ & RZ
Unipolar Encoding Techniques: NRZ & RZArunabha Saha
 
Line coding presentation
Line coding presentationLine coding presentation
Line coding presentationDibyendu Porey
 
Generating random variates
Generating random variatesGenerating random variates
Generating random variatesUmmaHafsahHimu
 
Interfacing rs232
Interfacing rs232Interfacing rs232
Interfacing rs232PRADEEP
 
Floating point arithmetic operations (1)
Floating point arithmetic operations (1)Floating point arithmetic operations (1)
Floating point arithmetic operations (1)cs19club
 
Design and simulation of sayeh processor using verilog copy 1445752708332
Design and simulation of sayeh processor using verilog   copy 1445752708332Design and simulation of sayeh processor using verilog   copy 1445752708332
Design and simulation of sayeh processor using verilog copy 1445752708332akanksha sharma
 
Communication Systems_B.P. Lathi and Zhi Ding (Lecture No 1-3)
Communication Systems_B.P. Lathi and Zhi Ding (Lecture No 1-3)Communication Systems_B.P. Lathi and Zhi Ding (Lecture No 1-3)
Communication Systems_B.P. Lathi and Zhi Ding (Lecture No 1-3)Adnan Zafar
 
Arrow Devices USB 2.0 Concepts
Arrow Devices USB 2.0 ConceptsArrow Devices USB 2.0 Concepts
Arrow Devices USB 2.0 ConceptsArrow Devices
 
Design of FFT Processor
Design of FFT ProcessorDesign of FFT Processor
Design of FFT ProcessorRohit Singh
 

Tendances (20)

Dac, adc architecture
Dac, adc architectureDac, adc architecture
Dac, adc architecture
 
Pulse code modulation (PCM)
Pulse code modulation (PCM)Pulse code modulation (PCM)
Pulse code modulation (PCM)
 
Pulse modulation
Pulse modulationPulse modulation
Pulse modulation
 
Analog-to Digital Conversion
Analog-to Digital ConversionAnalog-to Digital Conversion
Analog-to Digital Conversion
 
Unipolar Encoding Techniques: NRZ & RZ
Unipolar Encoding Techniques: NRZ & RZUnipolar Encoding Techniques: NRZ & RZ
Unipolar Encoding Techniques: NRZ & RZ
 
Dc unit iv
Dc unit ivDc unit iv
Dc unit iv
 
Ec8791 lpc2148 pwm
Ec8791 lpc2148 pwmEc8791 lpc2148 pwm
Ec8791 lpc2148 pwm
 
Line coding presentation
Line coding presentationLine coding presentation
Line coding presentation
 
Real-Time Jitter Measurements
Real-Time Jitter Measurements Real-Time Jitter Measurements
Real-Time Jitter Measurements
 
Generating random variates
Generating random variatesGenerating random variates
Generating random variates
 
Interfacing rs232
Interfacing rs232Interfacing rs232
Interfacing rs232
 
Floating point arithmetic operations (1)
Floating point arithmetic operations (1)Floating point arithmetic operations (1)
Floating point arithmetic operations (1)
 
15 ia64
15 ia6415 ia64
15 ia64
 
Design and simulation of sayeh processor using verilog copy 1445752708332
Design and simulation of sayeh processor using verilog   copy 1445752708332Design and simulation of sayeh processor using verilog   copy 1445752708332
Design and simulation of sayeh processor using verilog copy 1445752708332
 
8279 PKDI
8279 PKDI8279 PKDI
8279 PKDI
 
Communication Systems_B.P. Lathi and Zhi Ding (Lecture No 1-3)
Communication Systems_B.P. Lathi and Zhi Ding (Lecture No 1-3)Communication Systems_B.P. Lathi and Zhi Ding (Lecture No 1-3)
Communication Systems_B.P. Lathi and Zhi Ding (Lecture No 1-3)
 
Arrow Devices USB 2.0 Concepts
Arrow Devices USB 2.0 ConceptsArrow Devices USB 2.0 Concepts
Arrow Devices USB 2.0 Concepts
 
Design of FFT Processor
Design of FFT ProcessorDesign of FFT Processor
Design of FFT Processor
 
R18 b.tech.ece syllabus1
R18 b.tech.ece syllabus1R18 b.tech.ece syllabus1
R18 b.tech.ece syllabus1
 
Data link layer
Data link layerData link layer
Data link layer
 

En vedette

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
 
SC16 Student Cluster Competition Configurations & Results
SC16 Student Cluster Competition Configurations & ResultsSC16 Student Cluster Competition Configurations & Results
SC16 Student Cluster Competition Configurations & Resultsinside-BigData.com
 
Towards Exascale Computing with Fortran 2015
Towards Exascale Computing with Fortran 2015Towards Exascale Computing with Fortran 2015
Towards Exascale Computing with Fortran 2015inside-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 OutRoss 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 StepsIndex 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 Japaninside-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 ProgrammingStefan Marr
 
IBM general parallel file system - introduction
IBM general parallel file system - introductionIBM general parallel file system - introduction
IBM general parallel file system - introductionIBM 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 Worldinside-BigData.com
 
Optimizing Lustre and GPFS with DDN
Optimizing Lustre and GPFS with DDNOptimizing Lustre and GPFS with DDN
Optimizing Lustre and GPFS with DDNinside-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 designAlexander 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 2014Amazon Web Services
 

En vedette (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
 

Similaire à 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 Arithmeticinside-BigData.com
 
number system: Floating Point representation.ppt
number system: Floating Point representation.pptnumber system: Floating Point representation.ppt
number system: Floating Point representation.pptNARENDRAKUMARCHAURAS1
 
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 RepresentationKyle
 
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 NotesJanie Clayton
 
data representation
 data representation data representation
data representationHaroon_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 LearnBillie 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 HBaseJim Klucar
 
Finite word length effects
Finite word length effectsFinite word length effects
Finite word length effectsPeriyanayagiS
 
3D Math Primer: CocoaConf Atlanta
3D Math Primer: CocoaConf Atlanta3D Math Primer: CocoaConf Atlanta
3D Math Primer: CocoaConf AtlantaJanie 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غزالة
 

Similaire à 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
 

Plus de 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 Networksinside-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 Networksinside-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 Monitoringinside-BigData.com
 
Machine Learning for Weather Forecasts
Machine Learning for Weather ForecastsMachine Learning for Weather Forecasts
Machine Learning for Weather Forecastsinside-BigData.com
 
HPC AI Advisory Council Update
HPC AI Advisory Council UpdateHPC AI Advisory Council Update
HPC AI Advisory Council Updateinside-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-19inside-BigData.com
 
Energy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic TuningEnergy Efficient Computing using Dynamic Tuning
Energy Efficient Computing using Dynamic Tuninginside-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 SuperPODinside-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 Accelerationinside-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 Efficientlyinside-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 Erainside-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 computinginside-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 Clusterinside-BigData.com
 

Plus de 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
 

Dernier

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Dernier (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

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?