Skip to content

Commit

Permalink
Add first draft of FP educational resources page
Browse files Browse the repository at this point in the history
  • Loading branch information
lam2mo committed Aug 11, 2023
1 parent 4ca2776 commit 019decf
Showing 1 changed file with 150 additions and 0 deletions.
150 changes: 150 additions & 0 deletions education.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,150 @@
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<title>Education</title>
<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>Education</h1>
</a>
<p>Floating-Point Resources</p>
<ul>
<li><a href="index.html">Home</a></li>
<li><a href="benchmarks.html">Benchmarks</a></li>
<li><a href="tools.html">Compilers</a></li>
<li><a href="spec/index.html">Standards</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 Gopalikrishnan (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://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://youtube.com/watch?v=9hdFG2GcNuA">"Floats"</a> video about floating-point discretization
in Super Mario 64 by Pannenkoek2012 </li>

</ul> </dd>

</dl>

<a name="tools">
<h2> Tools and Miscellaneous </h2>

<dl class="tools">

<dd> <ul>

<li> <a href="http://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 FPBench 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:fpbench@cs.washington.edu">email the FPBench list</a>.</p>

</body>
</html>

0 comments on commit 019decf

Please sign in to comment.