[video member=miotatsu stream_platform=twitch project=book title="1.7 & 1.8" vod_platform=youtube id=J4grCXyJxp4 annotator=Miblo] [0:09][Recap last time's reading on :performance measurements] [0:38][@riskyfive][o/] [0:43][A few words on benchmarking and rigorously choosing a sample size[ref site=Wikipedia page="Checking whether a coin is fair" url=https://en.wikipedia.org/wiki/Checking_whether_a_coin_is_fair]][:performance] [3:40][@riskyfive][Learning statistics from Wikipedia is hard. The definitions are kind of circular. They are easy to understand after you learn stats somewhere else] [3:58][Estimator of true probability[ref site=Wikipedia page="Checking whether a coin is fair" url=https://en.wikipedia.org/wiki/Checking_whether_a_coin_is_fair]][:research] [5:01][Some insights on :performance timing from Andrei Alexandrescu[ref site=YouTube page="code::dive conference 2015 - Andrei Alexandrescu - Writing Fast Code I" url=https://www.youtube.com/watch?v=vrfYLlR8X8k]] [10:45][@riskyfive][I once argued that in a college project report. The professor wasn't very convinced. These days I would say choose a low percentile (the minimum would be the 0 percentile) and show the probability distribution] [12:14][On using proxies to measure :performance[ref site=YouTube page="code::dive conference 2015 - Andrei Alexandrescu - Writing Fast Code I" url=https://www.youtube.com/watch?v=vrfYLlR8X8k]] [13:20][Fix up the time formula][:blackboard] [15:19][Chapter 1.7 - The Power Wall[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:hardware :research] [15:45][Figure 1.16 - Clock rate and power for Intel x86 microprocessors over eight generations and 30 years[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:hardware :research] [19:47][Chapter 1.7, on energy and power[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:hardware :performance :research] [21:53][@riskyfive][It means proportional to] [22:07][Energy equations][:blackboard] [23:48][Chapter 1.7, on proportional energy[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:hardware :performance :research] [24:16][Pulse energy and power][:blackboard :hardware :performance] [27:11][Chapter 1.7, frequency switched as a function of the clock rate[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:hardware :performance :research] [27:35][@riskyfive][This is easy to imagine. Voltage is like pressure. You have pressure when the bucket is full. To change from high pressure (full/1) to low pressure (empty/0) you have to discharge the bucket. The size of the bucket (capacitive load) is what gets wasted, in proportion to the pressure with which the water came out] [28:22][Chapter 1.7, on the different growth factors of clock rate and power[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:hardware :performance :research] [29:12][Chapter 1.7, Example: Relative Power[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:hardware :performance :research] [31:58][Power ratio][:blackboard :hardware :performance] [35:08][Chapter 1.7, power leakage and distribution[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:hardware :performance :research] [38:20][Chapter 1.8 - The Sea Change: The Switch from Uniprocessors to Multiprocessors[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:hardware :performance :research] [40:41][A few words on eschewing reliance on more powerful hardware being a driving factor of the Handmade Network] [43:15][@miblo][Culture of laziness, or of "disengagement", perhaps?] [43:26][A few words on cultural differences of software companies] [45:25][Chapter 1.8, quote from Brian Hayes on scoring music for a solo performer vs an orchestra[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:hardware :performance :research] [46:08][Chapter 1.8, Hardware / Software Interface[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:hardware :performance :research] [47:35][Figure 1.17 - Growth in processor performance since the mid-1980s[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:hardware :performance :research] [50:45][A discussion point on explicit and implicit parallel programming][:optimisation] [52:59][@riskyfive][Auto vectorization?] [53:19][On using parallelism in D][:language :optimisation] [55:57][@riskyfive][I'm not aware of any convincing path to some magic bullet solution] [56:18][On pure functional programming in Haskell][:language] [57:44][Chapter 1.8, on the difficulty to write explicitly parallel programs[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:hardware :performance :research] [1:00:20][Chapter 1.8, summaries of parallelism throughout the book[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:hardware :performance :research] [1:03:30][Chapter 1.8, preview of Chapter 6 on parallel programming[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:hardware :performance :research] [1:05:03][Chapter 1.8, quote from J. Presper Eckert on computers in general[ref title="Computer Organization and Design RISC-V Edition" author="David Patterson & John Hennessy" publisher="Morgan Kaufmann" isbn=9780128122754 url=https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-812275-4]][:research] [1:05:48][We're out of time for today] [1:06:48][@riskyfive][By the way, I asked [@cmuratori Casey Muratori] about porting [~hero Handmade Hero] to an FPGA-based system (like mine) instead of / in addition to the Raspberry Pi. He said cool, email me. I did, but I haven't heard back] [1:07:17][Stay RISCY, everyone!] [/video]