-
Notifications
You must be signed in to change notification settings - Fork 3
/
education.html
155 lines (106 loc) · 6.05 KB
/
education.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<title>Education</title>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="stylesheet" type="text/css" href="fpbench.css">
</head>
<body>
<header>
<a href='.' style='color: black; text-decoration: none;'>
<img src='img/logo.png' height='150' alt='FPBench Logo' />
<h1>FPTalks Education Resources</h1>
</a>
<p>Numerics papers, slides, and videos</p>
<ul>
<li><a href="index.html">Events</a></li>
<li><a href="education.html">Education</a></li>
<li><a href="community.html">Tools</a></li>
<li><a href="https://groups.google.com/a/fpbench.org/g/fpbench">Mailing List</a></li>
</ul>
</header>
<p> This is a work-in-progress list of educational resources
on floating-point representations and other computer numerics topics. </p>
<a name="papers">
<h2>Papers and Posts</h2>
<dl class="papers">
<dd> <ul>
<li> <a href="https://doi.org/10.1145/103162.103163">"What Every Computer
Scientist Should Know About Floating-point Arithmetic"</a> by David
Goldberg (1991) </li>
<li> <a href="https://doi.org/10.1109/IPDPS.2018.00068">"Do Developers
Understand IEEE Floating Point"</a> by Peter Dinda and Conor Hetland
(2018) </li>
<li> <a href="https://fabiensanglard.net/floating_point_visually_explained/">"Floating
Point Visually Explained"</a> by Fabien Sanglard (2017)</li>
<li> <a href="https://doi.org/10.1109/IEEESTD.2019.8766229">IEEE 754-2019</a>
(latest IEEE floating-point standard) </li>
<li> <a href="https://en.wikipedia.org/wiki/Floating-point_arithmetic">"Floating-point arithmetic"</a>
article on Wikipedia </li>
</ul> </dd>
</dl>
<a name="courses">
<h2> Course Materials </h2>
<dl class="courses">
<dd> <ul>
<li> <a href="https://pac.pogil.org/index.php/pac/article/view/350">"IEEE Format for Binary Floating Point Numbers"</a>
POGIL activity by Pam Smallwood (2023) </li>
<li> <a href="https://diveintosystems.org/book/C4-Binary/floating_point.html">"Real Numbers in Binary"</a>,
a section in the <a href="https://diveintosystems.org">"Dive Into Systems"</a> online systems textbook
by Suzanne J. Matthews, Tia Newhall, and Kevin C. Webb (2022) </li>
<li> <a href="https://www.youtube.com/playlist?list=PLQ8jFTCIpBxWA3QwYtOwAuXclAzRGeznV">"Floating Point"</a>
flipped-classroom lecture videos by Mike Lam (2020) w/
<a href="https://w3.cs.jmu.edu/lam2mo/cs261/files/10-floating_point.pdf">accompanying slides</a> based on content from
<a href="https://csapp.cs.cmu.edu">CS:APP3e</a> textbook by Randal E. Bryant and David R. O'Hallaron (2015) </li>
<li> <a href="https://tcpp.cs.gsu.edu/curriculum/sites/default/files/paper_25.pdf">"Reproducibility in
Parallel Computing using Floating-Point Arithmetic"</a> "peachy assignment" by Ganesh Gopalakrishnan (2018) </li>
</ul> </dd>
</dl>
<a name="videos">
<h2> Videos </h2>
<dl class="videos">
<dd> <ul>
<li> <a href="https://www.youtube.com/watch?v=PZRI1IfStY0">"Floating Point Numbers"</a>
by Computerphile w/ Tom Scott (2014) </li>
<li> <a href="https://www.youtube.com/watch?v=f4ekifyijIg">"Floating Point Numbers Part 1 (FP vs Fixed)"</a>
by Computerphile w/ Steven Bagley (2019) </li>
<li> <a href="https://www.youtube.com/watch?v=782QWNOD_Z0">"Floating Point Numbers Part 2 (FP Addition)"</a>
by Computerphile w/ Steven Bagley (2019) </li>
<li> <a href="https://www.youtube.com/watch?v=BN1g6puBuRM">"Visualizing the Floating Point Format"</a>
by Akash Murthy (2022) </li>
<li> <a href="https://www.youtube.com/watch?v=CnECL5x6MwQ">"What Every 21st Century Computer Scientist
Should Know About Floating-Point Arithmetic"</a> workshop talk by Bill Zorn (2022) </li>
<li> <a href="https://www.youtube.com/watch?v=9AcCrF_nX-I">"Z-Fighting"</a> video about floating-point artifacts
in 3d rendering by Jamie King (2012) </li>
<li> <a href="https://www.youtube.com/watch?v=9hdFG2GcNuA">"Floats"</a> video about floating-point discretization
in Super Mario 64 by Pannenkoek2012 </li>
<li> <a href="https://www.arithmazium.org/classroom/wk88_toc.html">"The Floating Point Exposé"</a>
videos by Prof. William Kahan from a graduate-level class on computer arithmetic at
the University of California at Berkeley during Summer 1988 </li>
</ul> </dd>
</dl>
<a name="tools">
<h2> Tools and Miscellaneous </h2>
<dl class="tools">
<dd> <ul>
<li> <a href="https://weitz.de/ieee/">IEEE 754 calculator</a> by Edmund Weitz </li>
<li> <a href="https://bartaz.github.io/ieee754-visualization/">IEEE 754 visualization</a> by Bartek Szopka </li>
<li> <a href="https://float.exposed/">IEEE 754 visualization</a> by Bartosz Ciechanowski </li>
<li> <a href="https://github.com/TuringMachinegun/float_visualizer/blob/master/visualizer.ipynb">IPython visualizer notebook</a>
by Giovanni Carmantini </li>
<li> <a href="https://github.com/lam2mo/fp">Floating-point demo utility</a> by Mike Lam </li>
<li> <a href="https://drive.google.com/drive/folders/1HkgMpxi6hsqLSZj9tSnuCxnFExPPjmvx">FP materials</a> by Artem Yadrov </li>
<li> <a href="https://people.eecs.berkeley.edu/~wkahan/">William Kahan's website</a>
with links to various publications and files </li>
<li> <a href="http://tom7.org/nand/">"NaN Gates"</a> and <a href="http://tom7.org/grad/">"GradIEEEnt half decent"</a> projects
by Tom Murphy ("Tom 7") </li>
<li> <a href="https://xkcd.com/217/">Relevant xkcd</a> </li>
</ul> </dd>
</dl>
<p>This list is primarily maintained for the FPTalks research community by
<a href="https://w3.cs.jmu.edu/lam2mo/">Mike Lam</a>.
If you know of a resource that isn't linked here, please
<a href="mailto:[email protected]">email the list</a>.</p>
</body>
</html>