{"videoId": "dh9omg6xPc8", "language": "en", "kind": "YouTube auto-generated captions", "retrieved": "2026-10-08", "segments": [{"start": 0.0, "text": "All right. Hello and welcome. Today is"}, {"start": 3.04, "text": "Thursday, September 3rd, and in today's"}, {"start": 7.6, "text": "series, what I want to do is I want to"}, {"start": 11.44, "text": "go through learning something very"}, {"start": 13.679, "text": "difficult live."}, {"start": 15.839, "text": "There's a course called programming"}, {"start": 18.56, "text": "parallel computers and this is a course"}, {"start": 23.439, "text": "that will help understand a concept"}, {"start": 26.56, "text": "called uh parallelism."}, {"start": 29.519, "text": "Um, basically this is about how to make"}, {"start": 32.559, "text": "computers a lot more efficient."}, {"start": 35.52, "text": "And so notice here like the core claim"}, {"start": 38.399, "text": "is that our programs can waste more than"}, {"start": 42.32, "text": "99%"}, {"start": 44.32, "text": "of the computing power of our computers."}, {"start": 48.239, "text": "Whoa. That's like that's a pretty bold"}, {"start": 50.48, "text": "claim. And so I know this is going to be"}, {"start": 53.92, "text": "super hard to learn and go through."}, {"start": 57.36, "text": "Additionally,"}, {"start": 59.84, "text": "uh there is uh there is a way to"}, {"start": 64.239, "text": "participate live in the course. Um there"}, {"start": 68.4, "text": "are exercises that can be done um"}, {"start": 72.159, "text": "specifically for this course and this is"}, {"start": 76.88, "text": "really important for me because I just"}, {"start": 80.32, "text": "joined uh Prism ML um as someone in"}, {"start": 85.6, "text": "developer relations and so in order for"}, {"start": 89.28, "text": "me to learn more about how I can"}, {"start": 92.159, "text": "contribute"}, {"start": 93.759, "text": "uh I think that trying to learn more"}, {"start": 96.799, "text": "about parallel programming uh is going"}, {"start": 100.159, "text": "to help me sharpen my mind outside of"}, {"start": 104.96, "text": "work. Um I have to pick the right type"}, {"start": 108.799, "text": "of high leverage exercise that's really"}, {"start": 111.92, "text": "going to help grow my mind and be"}, {"start": 116.479, "text": "something that is different than"}, {"start": 120.56, "text": "um"}, {"start": 122.159, "text": "something that's different than what's"}, {"start": 123.84, "text": "traditionally out there. Okay. Um, so"}, {"start": 126.32, "text": "that's like my goal, my motivation. Um,"}, {"start": 129.44, "text": "I will also share, you know, openly on"}, {"start": 132.56, "text": "GitHub my notes for the course."}, {"start": 135.92, "text": "Um,"}, {"start": 137.68, "text": "programming"}, {"start": 140.08, "text": "parallel"}, {"start": 142.56, "text": "computers."}, {"start": 146.08, "text": "All right. So, you know, um, this is a"}, {"start": 150.319, "text": "personal learning log. I'm going to hold"}, {"start": 152.08, "text": "myself accountable to trying to fill to"}, {"start": 156.64, "text": "complete this. Um, I have no background"}, {"start": 159.76, "text": "in doing this, but I know"}, {"start": 163.92, "text": "that I'm a learner. Um,"}, {"start": 167.92, "text": "and I think it's important now more than"}, {"start": 170.16, "text": "ever as a software engineer, you need to"}, {"start": 172.4, "text": "find a reason to write code. What is the"}, {"start": 175.84, "text": "code that I want to write? Well,"}, {"start": 178.161, "text": "[snorts] I want to write not application"}, {"start": 180.56, "text": "code anymore. AI does that. I wanna I"}, {"start": 183.599, "text": "want to focus on trying to do something"}, {"start": 185.2, "text": "AI can't do yet and see how well can I"}, {"start": 188.4, "text": "learn and can I complete a full course."}, {"start": 192.56, "text": "Um, a personal note for me is that I"}, {"start": 196.64, "text": "think that this is super important. I"}, {"start": 198.64, "text": "think civilization is at a turning"}, {"start": 200.72, "text": "point. You'll read my points um in the"}, {"start": 203.76, "text": "gist if you're interested. Um, I will"}, {"start": 206.959, "text": "link to the materials as well inside of"}, {"start": 210.48, "text": "here. Today I will focus on"}, {"start": 215.12, "text": "so there's going to be the prerequisite"}, {"start": 217.84, "text": "test as well as CP1"}, {"start": 220.48, "text": "um that are due for the course. And so"}, {"start": 223.92, "text": "I'm going to try to reverse engineer"}, {"start": 226.879, "text": "based on what this is asking me to do um"}, {"start": 231.36, "text": "and my ability to get this assignment"}, {"start": 233.599, "text": "done. Additionally, I want to give"}, {"start": 237.2, "text": "myself a chance to read the"}, {"start": 240.48, "text": "introduction."}, {"start": 242.08, "text": "What I'm gonna decide to do is I'm going"}, {"start": 246.959, "text": "to because writing notes is hard. Um,"}, {"start": 250.48, "text": "I'm finding more and more that"}, {"start": 252.72, "text": "everyone's just glazing what's being"}, {"start": 254.959, "text": "written. So, how I plan to write is I'm"}, {"start": 258.639, "text": "going to set a goal. My goal is to read"}, {"start": 260.799, "text": "the introduction. My small bet is that"}, {"start": 264.0, "text": "you see this timer I have right here."}, {"start": 266.56, "text": "Uh, in 25 minutes I'm going to see what"}, {"start": 270.24, "text": "notes I have from only reading the"}, {"start": 272.88, "text": "introduction, not getting sidetracked on"}, {"start": 274.88, "text": "anything else. Let's see if I can do"}, {"start": 276.96, "text": "that. Um, so introduction, these are the"}, {"start": 281.6, "text": "lecture notes for Alto University. Um,"}, {"start": 284.4, "text": "so this university I think is based in"}, {"start": 286.56, "text": "Finland. They have a course on"}, {"start": 288.8, "text": "programming parallel computers. There"}, {"start": 291.6, "text": "are exercises and practical instructions"}, {"start": 294.72, "text": "that are available in the exercise tab"}, {"start": 297.44, "text": "which you saw me click into that we'll"}, {"start": 299.919, "text": "reverse engineer in a future block. Um"}, {"start": 302.96, "text": "there's also an open online version of"}, {"start": 305.6, "text": "the course that helps someone like me"}, {"start": 308.08, "text": "self-studying and maybe someone like you"}, {"start": 310.08, "text": "if you want to join me uh in this um you"}, {"start": 314.639, "text": "know in this journey."}, {"start": 317.919, "text": "So the focus of the course remember it"}, {"start": 321.039, "text": "is programming parallel computers. So"}, {"start": 323.6, "text": "why not say programming computers? Why"}, {"start": 327.12, "text": "say programming parallel computers? So"}, {"start": 330.32, "text": "all computers are massively parallel"}, {"start": 334.24, "text": "processors. The CPU of a normal desktop"}, {"start": 338.24, "text": "or a laptop computer like what you might"}, {"start": 340.56, "text": "be watching this on easily may have"}, {"start": 343.6, "text": "hundreds of arithmetic operations in"}, {"start": 346.96, "text": "progress. simultaneously."}, {"start": 350.4, "text": "These are multiple CTU CPU cores."}, {"start": 355.44, "text": "Each core has multiple execution units"}, {"start": 360.32, "text": "that can be used simultaneously."}, {"start": 364.319, "text": "Each execution unit can perform wide"}, {"start": 369.44, "text": "vector operations."}, {"start": 372.479, "text": "The execution units are pipelined."}, {"start": 376.479, "text": "So one does not need to wait for the"}, {"start": 379.12, "text": "previous instruction to finish before"}, {"start": 382.24, "text": "starting the other one."}, {"start": 385.199, "text": "Wait a second. So I'm thinking that CPUs"}, {"start": 388.639, "text": "and GPUs are going to have a different"}, {"start": 391.28, "text": "understanding of vectors."}, {"start": 393.919, "text": "I'm making a bet right now reading this."}, {"start": 398.08, "text": "And now that's why I have this bet"}, {"start": 400.16, "text": "section, right? And so"}, {"start": 402.88, "text": "you know CPU and GPU"}, {"start": 406.0, "text": "have different"}, {"start": 408.319, "text": "uh taxonomy"}, {"start": 412.72, "text": "for"}, {"start": 414.639, "text": "vector meaning"}, {"start": 417.6, "text": "and I'm thinking"}, {"start": 419.68, "text": "CPU vector"}, {"start": 422.16, "text": "is time"}, {"start": 424.4, "text": "GPU vector is I don't know yet"}, {"start": 430.479, "text": "But I wonder it would be funny if it was"}, {"start": 432.56, "text": "space because then space and time I"}, {"start": 435.12, "text": "think that would be super super cool."}, {"start": 436.88, "text": "Let's let's dive deeper in. Um"}, {"start": 441.28, "text": "right because this is the line that"}, {"start": 443.039, "text": "fundamentally says oh okay so computers"}, {"start": 446.16, "text": "are have a clock mechanism by a way of"}, {"start": 449.28, "text": "keeping these vectors. Maybe maybe um"}, {"start": 453.12, "text": "however the programmer has to be aware"}, {"start": 455.919, "text": "of these opportunities for parallelism"}, {"start": 459.68, "text": "and know how to exploit them. Otherwise,"}, {"start": 463.12, "text": "your program may easily waste more than"}, {"start": 467.44, "text": "99% of the computing power of your CPU."}, {"start": 473.84, "text": "So, I know in my notes I'm going to have"}, {"start": 476.08, "text": "to put a special section and say what is"}, {"start": 480.16, "text": "the difference"}, {"start": 483.68, "text": "between CPU and GPU"}, {"start": 488.56, "text": "and then and why does this matter for me"}, {"start": 494.8, "text": "as a developer relations person"}, {"start": 499.759, "text": "trying to contribute"}, {"start": 502.479, "text": "to open source models for building"}, {"start": 509.36, "text": "civilizational"}, {"start": 512.08, "text": "infrastructure"}, {"start": 514.0, "text": "using local"}, {"start": 516.399, "text": "AI. And if that was too much of a jump"}, {"start": 519.2, "text": "for you on how I would just immediately"}, {"start": 521.44, "text": "tack that on to the curriculum, that"}, {"start": 524.0, "text": "will be mentioned at the top paragraph"}, {"start": 526.72, "text": "here. This is my personal mission of why"}, {"start": 528.959, "text": "I would be streaming this. Um, and I"}, {"start": 532.88, "text": "want to come back to the introduction"}, {"start": 534.72, "text": "because I don't want to be distracted by"}, {"start": 537.12, "text": "my ADHD."}, {"start": 539.12, "text": "Okay. So, programming modern CPUs."}, {"start": 543.68, "text": "The following figure highlights the"}, {"start": 546.959, "text": "importance of exploiting parallelism in"}, {"start": 549.92, "text": "practice. Okay. To see if that statement"}, {"start": 552.64, "text": "is true, I'm gonna stop reading, zoom"}, {"start": 554.64, "text": "out, literally,"}, {"start": 556.8, "text": "and say, \"Oh, billions of operations per"}, {"start": 559.44, "text": "second.\" So, how much could you compute?"}, {"start": 562.88, "text": "So, kind of like the computer version of"}, {"start": 565.36, "text": "how much wood would wood would wood"}, {"start": 566.32, "text": "chuck chuck if wood chuck could chuck"}, {"start": 567.839, "text": "wood is a little bit of how I read the"}, {"start": 570.399, "text": "yaxis just to keep having fun. And then"}, {"start": 574.441, "text": "[snorts] there's single core and"}, {"start": 575.68, "text": "multicore on the bottom. I don't"}, {"start": 577.68, "text": "understand that. I need to make a note"}, {"start": 579.6, "text": "right there."}, {"start": 581.6, "text": "What is single core versus"}, {"start": 586.16, "text": "multicore? [snorts]"}, {"start": 589.68, "text": "come back. Okay, so that first sentence"}, {"start": 592.88, "text": "still is not with me yet, but let's see."}, {"start": 598.24, "text": "Um, so the f the figure that we just"}, {"start": 600.72, "text": "looked at explains the importance where"}, {"start": 603.6, "text": "we see that there's a much higher max,"}, {"start": 605.92, "text": "but then I didn't understand it entirely"}, {"start": 608.72, "text": "of like single core to multi-core. Um,"}, {"start": 612.32, "text": "so I think maybe that is addressed"}, {"start": 614.959, "text": "higher up top where they did say CPU"}, {"start": 617.44, "text": "core. Each core has the execution units"}, {"start": 620.959, "text": "that can be used simultaneously. So I"}, {"start": 623.2, "text": "guess we parallelize via the cores. I"}, {"start": 626.88, "text": "don't know. Okay. Um"}, {"start": 630.399, "text": "so the following figure highlights the"}, {"start": 633.36, "text": "importance of exploiting parallelism in"}, {"start": 636.48, "text": "practice on a normal desktop computer"}, {"start": 639.839, "text": "with a modern"}, {"start": 642.399, "text": "four core Intel CPU. Um here V 0 is a"}, {"start": 648.56, "text": "baseline solution that would look"}, {"start": 651.76, "text": "personally perfectly reasonable if we"}, {"start": 656.0, "text": "were programming"}, {"start": 658.64, "text": "an oldfashioned sequential computer."}, {"start": 663.04, "text": "Whoa."}, {"start": 665.519, "text": "All right."}, {"start": 670.48, "text": "So there's a concept. So the xaxis right"}, {"start": 674.88, "text": "here where the x-axis kind of hits me"}, {"start": 678.399, "text": "too hard is that these V's I'm pretty"}, {"start": 682.88, "text": "sure are being associated back to this"}, {"start": 687.6, "text": "curriculum and maybe the progression of"}, {"start": 691.04, "text": "the answers that we have. But I don't"}, {"start": 693.92, "text": "want again like I don't want to have"}, {"start": 696.0, "text": "like a squirrel moment and do that. But"}, {"start": 699.2, "text": "I have a sense that potentially there is"}, {"start": 702.079, "text": "some correlation there. I'm going to"}, {"start": 703.68, "text": "come back to the intro and then I'm"}, {"start": 707.279, "text": "going to have to mark that as an open"}, {"start": 709.76, "text": "question for the graph and say uh on the"}, {"start": 713.44, "text": "graph"}, {"start": 715.6, "text": "when the xaxis"}, {"start": 718.959, "text": "denotes"}, {"start": 720.8, "text": "a secondary"}, {"start": 722.72, "text": "axis for v 0"}, {"start": 727.76, "text": "and a sequence."}, {"start": 730.959, "text": "What does that mean and why does that"}, {"start": 735.92, "text": "relate to how the x axis"}, {"start": 742.88, "text": "is structured?"}, {"start": 747.04, "text": "Now here this is where I'm actually"}, {"start": 749.279, "text": "going to phone a friend briefly"}, {"start": 752.56, "text": "uh for understanding this. So I'm"}, {"start": 754.56, "text": "currently inside of the harness of chat"}, {"start": 757.76, "text": "GPT. So, I do have this beautiful"}, {"start": 761.04, "text": "benefit where either directly inside of"}, {"start": 764.399, "text": "here or I can open this in an external"}, {"start": 767.68, "text": "browser and get it here. Um, I don't"}, {"start": 770.959, "text": "have the chat GPT extension in Firefox"}, {"start": 774.0, "text": "though, which is my default. So, um, I"}, {"start": 778.639, "text": "could potentially answer it inside of"}, {"start": 780.639, "text": "here, but I won't for right now because"}, {"start": 782.48, "text": "as I mentioned, my goal is only to read"}, {"start": 786.0, "text": "the introduction right now. It's not to"}, {"start": 788.88, "text": "get sidetracked by AI."}, {"start": 792.0, "text": "So, but V 0 is called the baseline"}, {"start": 794.72, "text": "solution. So, that's why I would"}, {"start": 798.0, "text": "surmise."}, {"start": 800.24, "text": "And so if"}, {"start": 803.12, "text": "V 0"}, {"start": 809.2, "text": "is the baseline"}, {"start": 811.36, "text": "solution,"}, {"start": 813.12, "text": "then the"}, {"start": 815.92, "text": "V 0 to V7"}, {"start": 821.68, "text": "progression"}, {"start": 823.36, "text": "we see are eight attempts"}, {"start": 828.72, "text": "at optimizing"}, {"start": 831.92, "text": "performance"}, {"start": 833.6, "text": "and comparing"}, {"start": 837.44, "text": "contrasting"}, {"start": 840.079, "text": "the"}, {"start": 841.6, "text": "law of diminishing"}, {"start": 845.76, "text": "returns for both"}, {"start": 850.079, "text": "single core and multicore"}, {"start": 856.24, "text": "CPU architectures."}, {"start": 860.0, "text": "which should"}, {"start": 862.959, "text": "explain why this is the de facto"}, {"start": 868.24, "text": "standard"}, {"start": 869.76, "text": "today to help us"}, {"start": 873.76, "text": "understand the significance"}, {"start": 879.76, "text": "of"}, {"start": 881.279, "text": "this prerequisite"}, {"start": 885.199, "text": "for the exercises. is to come in the"}, {"start": 890.56, "text": "curriculum."}, {"start": 894.079, "text": "Okay, so that's my thought on that."}, {"start": 897.12, "text": "We'll see if that's correct, but now"}, {"start": 898.88, "text": "it's logged. Um,"}, {"start": 903.68, "text": "on a modern CPU, it turns out that we're"}, {"start": 907.04, "text": "only using 2% of the theoretical single"}, {"start": 911.04, "text": "core performance"}, {"start": 914.0, "text": "and only"}, {"start": 916.56, "text": "0.6%"}, {"start": 918.079, "text": "of the theoretical multi-core"}, {"start": 920.16, "text": "performance. So 99.4%"}, {"start": 922.56, "text": "of the computing power is unused. Um,"}, {"start": 928.16, "text": "all right. So now you know like for"}, {"start": 930.399, "text": "explaining the significance. So for"}, {"start": 933.68, "text": "explaining the significance"}, {"start": 937.68, "text": "we measure"}, {"start": 940.32, "text": "compute as an aggregate of power"}, {"start": 945.199, "text": "consumed"}, {"start": 947.12, "text": "versus"}, {"start": 948.88, "text": "operations"}, {"start": 950.8, "text": "performed"}, {"start": 953.6, "text": "to maximize"}, {"start": 956.24, "text": "energy"}, {"start": 958.32, "text": "usage for compute."}, {"start": 963.199, "text": "So I'm just going to write that down. So"}, {"start": 964.959, "text": "there's an economic principle. I'm"}, {"start": 966.48, "text": "guessing we will walk through this"}, {"start": 969.92, "text": "example in our lectures. So I will have"}, {"start": 973.44, "text": "to click in and watch that lecture uh"}, {"start": 975.92, "text": "and develop a sequence of faster"}, {"start": 978.72, "text": "solutions. So I think I'm right. Um that"}, {"start": 982.48, "text": "make much better use of the vast"}, {"start": 985.839, "text": "computing resources we have in a modern"}, {"start": 988.959, "text": "computer. So, by saying modern computer"}, {"start": 990.88, "text": "and giving the compare and contrast,"}, {"start": 992.8, "text": "that's why I'm like, \"Oh, okay. I"}, {"start": 994.079, "text": "haven't seen a single core uh computer.\""}, {"start": 996.88, "text": "May maybe like one of those uh"}, {"start": 999.279, "text": "Chromebooks and maybe that is the, you"}, {"start": 1002.0, "text": "know, kind of economic advantage of them"}, {"start": 1003.759, "text": "trying to figure something out, but who"}, {"start": 1005.279, "text": "knows? Um"}, {"start": 1009.44, "text": "V7 is 40 times faster. 42 times faster."}, {"start": 1013.279, "text": "Okay, I did not immediately grock that"}, {"start": 1016.16, "text": "from here"}, {"start": 1018.079, "text": "because these numbers were not labeled."}, {"start": 1021.04, "text": "I'm not going to complain about that,"}, {"start": 1023.199, "text": "but I I didn't realize that this was 42"}, {"start": 1026.16, "text": "times here. I don't know what this"}, {"start": 1029.039, "text": "number would be because this is not"}, {"start": 1031.039, "text": "labeled. Um V7 is 42 times faster than"}, {"start": 1035.76, "text": "the baseline. Oh, so from V 0 to V7,"}, {"start": 1039.839, "text": "this is 42 times. But from V 0 to V7"}, {"start": 1043.839, "text": "here, this is 151 times faster. Um when"}, {"start": 1049.28, "text": "and it's only four cores being used. So"}, {"start": 1052.0, "text": "this is comparing single core to four"}, {"start": 1055.12, "text": "core. Um okay, so that makes a little"}, {"start": 1058.72, "text": "more sense. And so"}, {"start": 1062.24, "text": "achieving good performance on a modern"}, {"start": 1065.44, "text": "computer"}, {"start": 1067.2, "text": "is much more than simply using multiple"}, {"start": 1071.12, "text": "threads. Oh, okay. So now"}, {"start": 1076.64, "text": "Jai's question"}, {"start": 1082.4, "text": "is the course promoting"}, {"start": 1086.16, "text": "the idea that"}, {"start": 1089.2, "text": "multi-threaded"}, {"start": 1092.64, "text": "programming is incorrect."}, {"start": 1096.48, "text": "prior knowledge for understanding"}, {"start": 1100.4, "text": "how to truly"}, {"start": 1103.039, "text": "optimize the performance"}, {"start": 1108.0, "text": "of applications."}, {"start": 1111.76, "text": "Okay."}, {"start": 1117.2, "text": "Programming modern GPUs. So this is as I"}, {"start": 1120.64, "text": "said again like uh I'm going to have to"}, {"start": 1124.559, "text": "understand what's the difference between"}, {"start": 1126.4, "text": "CPU and GPU now."}, {"start": 1129.919, "text": "So besides the CPU there's another"}, {"start": 1132.88, "text": "massively"}, {"start": 1134.4, "text": "parallel resource."}, {"start": 1136.64, "text": "So they are both so now we're going to"}, {"start": 1138.88, "text": "have to say what they have in common."}, {"start": 1141.44, "text": "So"}, {"start": 1143.36, "text": "what they have in common"}, {"start": 1148.0, "text": "is they are massively"}, {"start": 1152.32, "text": "parallel"}, {"start": 1155.28, "text": "resources available to us"}, {"start": 1160.4, "text": "where they differ"}, {"start": 1163.6, "text": "I'm going to say is going to be use"}, {"start": 1165.28, "text": "cases and then we will denote the use"}, {"start": 1168.16, "text": "cases here."}, {"start": 1172.64, "text": "Besides the CPU, another massively"}, {"start": 1176.32, "text": "parallel resource that we have nowadays"}, {"start": 1179.84, "text": "in virtually any modern computer is the"}, {"start": 1184.0, "text": "GPU, the graphics processing unit."}, {"start": 1188.88, "text": "While originally intended for"}, {"start": 1191.2, "text": "computations related to graphics"}, {"start": 1193.679, "text": "processing, modern GPUs have evolved"}, {"start": 1197.039, "text": "into generalpurpose processors"}, {"start": 1200.4, "text": "that can be used in all kinds of"}, {"start": 1203.12, "text": "computations."}, {"start": 1206.88, "text": "Okay."}, {"start": 1217.6, "text": "and specific"}, {"start": 1220.32, "text": "purpose"}, {"start": 1221.84, "text": "processor."}, {"start": 1224.559, "text": "I don't think that's going to be"}, {"start": 1225.76, "text": "correct."}, {"start": 1230.96, "text": "However, while the GPUs could be used in"}, {"start": 1234.0, "text": "any of computations, a typical CP C++"}, {"start": 1238.799, "text": "program uses exactly 0% of the power of"}, {"start": 1243.36, "text": "the GPU. the programmer needs to"}, {"start": 1246.64, "text": "explicitly write code"}, {"start": 1249.6, "text": "for the GPU. Um"}, {"start": 1254.24, "text": "I'm gonna"}, {"start": 1256.48, "text": "This is a"}, {"start": 1260.0, "text": "Okay."}, {"start": 1263.36, "text": "Second order effect"}, {"start": 1267.2, "text": "CPU max efficiency"}, {"start": 1272.4, "text": "is achieved"}, {"start": 1274.799, "text": "in languages"}, {"start": 1276.64, "text": "like C++."}, {"start": 1280.64, "text": "there is no"}, {"start": 1283.12, "text": "operator in C++ for GPU."}, {"start": 1289.679, "text": "Okay, so now that explains that as like"}, {"start": 1292.4, "text": "a second order effect that's a little"}, {"start": 1294.0, "text": "bit of a jump in a leap. Um, as we will"}, {"start": 1297.2, "text": "see, this does not need to be difficult,"}, {"start": 1301.36, "text": "but one has to be aware of some of the"}, {"start": 1304.64, "text": "key concepts and tools."}, {"start": 1311.6, "text": "Okay, we'll come back here. This is"}, {"start": 1314.559, "text": "hard."}, {"start": 1318.159, "text": "Okay. What are the key concepts and"}, {"start": 1321.44, "text": "tools for understanding"}, {"start": 1324.799, "text": "programming"}, {"start": 1326.72, "text": "GPUs?"}, {"start": 1329.6, "text": "A. Is that kernels? I don't"}, {"start": 1332.0, "text": "know."}, {"start": 1333.6, "text": "I need another cup of coffee now."}, {"start": 1335.56, "text": "[laughter]"}, {"start": 1337.679, "text": "This is so hard. Uh, okay."}, {"start": 1342.08, "text": "Course idea and prerequisites."}, {"start": 1346.4, "text": "The main theme of this course is that"}, {"start": 1349.44, "text": "exploiting"}, {"start": 1352.08, "text": "parallelism"}, {"start": 1353.76, "text": "is necessary in any kind of performance"}, {"start": 1358.4, "text": "critical application nowadays."}, {"start": 1361.84, "text": "But it can also be easy."}, {"start": 1365.6, "text": "Oh my god, there's too much in that"}, {"start": 1368.08, "text": "sentence. Our goal is to show the good"}, {"start": 1371.2, "text": "parts how to get the job done with"}, {"start": 1373.36, "text": "minimal effort and practice. We aim at"}, {"start": 1376.96, "text": "making parallel programming something"}, {"start": 1379.52, "text": "that does that one does casually"}, {"start": 1383.919, "text": "as a natural part of everyday computer"}, {"start": 1386.08, "text": "programming. Okay. So, we're going to go"}, {"start": 1389.039, "text": "from my state of overwhelm into the"}, {"start": 1390.96, "text": "point where this is going to be easy for"}, {"start": 1392.72, "text": "me. So, at the beginning of December,"}, {"start": 1396.0, "text": "we're gonna come back and then I'm gonna"}, {"start": 1397.76, "text": "be like, \"Oh, man. It's so easy,"}, {"start": 1400.32, "text": "everyone. Haha, I learned this.\" We'll"}, {"start": 1404.0, "text": "see."}, {"start": 1406.32, "text": "Okay. Um,"}, {"start": 1411.039, "text": "however, we will also put a lot of"}, {"start": 1413.12, "text": "emphasis on developing understanding of"}, {"start": 1416.159, "text": "performance engineering for modern"}, {"start": 1418.24, "text": "hardware."}, {"start": 1419.919, "text": "Okay. So that's one of the things that"}, {"start": 1423.84, "text": "are going to be what was called out"}, {"start": 1426.559, "text": "here."}, {"start": 1431.679, "text": "Okay."}, {"start": 1434.96, "text": "In advanced material, we will look at"}, {"start": 1437.919, "text": "assembly code produced by the compiler."}, {"start": 1444.799, "text": "Okay, this is going to be fun."}, {"start": 1448.799, "text": "assembly code produced by the compiler."}, {"start": 1454.0, "text": "So, I'm going to have to learn what that"}, {"start": 1455.52, "text": "is."}, {"start": 1457.12, "text": "Oh boy. Um,"}, {"start": 1460.48, "text": "discuss how the CPU executes it."}, {"start": 1463.941, "text": "[snorts]"}, {"start": 1465.039, "text": "Oh boy. How does the"}, {"start": 1470.72, "text": "CPU execute"}, {"start": 1473.279, "text": "the assembly"}, {"start": 1475.76, "text": "code? I don't even know where the"}, {"start": 1478.0, "text": "assembly code comes from."}, {"start": 1480.64, "text": "Um, and learn how to predict the"}, {"start": 1484.0, "text": "performance of a pre of piece of code."}, {"start": 1487.36, "text": "Okay, so learn to predict the"}, {"start": 1492.159, "text": "performance of a piece of code. That's a"}, {"start": 1496.4, "text": "super super super important thing. I'm"}, {"start": 1498.96, "text": "going to make sure this now gets in"}, {"start": 1500.32, "text": "bold. Um, cool. This is what it looks"}, {"start": 1503.84, "text": "like, you know, on the other side when"}, {"start": 1505.679, "text": "it's not the markdown. And I will have"}, {"start": 1507.84, "text": "to fix that right there where the"}, {"start": 1510.64, "text": "bolding is not working."}, {"start": 1513.2, "text": "Um,"}, {"start": 1516.72, "text": "we aim at demystifying hardware or at"}, {"start": 1520.559, "text": "least the parts that are most relevant"}, {"start": 1523.279, "text": "from the perspective of getting good"}, {"start": 1525.36, "text": "performance in practice."}, {"start": 1528.48, "text": "We will assume a good understanding of"}, {"start": 1531.919, "text": "computer programming"}, {"start": 1534.48, "text": "al data structures and algorithms. So"}, {"start": 1536.4, "text": "let's write this down. Um so computer"}, {"start": 1540.48, "text": "programming [singing]"}, {"start": 1542.24, "text": "foundations which we'll have to list as"}, {"start": 1544.24, "text": "this goes on. Uh next we will say this"}, {"start": 1547.84, "text": "is um data structures"}, {"start": 1552.159, "text": "and algorithms and we'll need to"}, {"start": 1554.08, "text": "identify which data structures and"}, {"start": 1555.84, "text": "algorithms matter and which ones don't"}, {"start": 1563.6, "text": "and a working knowledge of C or C++"}, {"start": 1567.2, "text": "working knowledge"}, {"start": 1569.44, "text": "of C or C++"}, {"start": 1573.6, "text": "we'll say optional"}, {"start": 1578.559, "text": "parallel computing multi-threading GPUs."}, {"start": 1583.12, "text": "So I'm going to write this down parallel"}, {"start": 1587.44, "text": "computing"}, {"start": 1590.159, "text": "multi- and so it's good that I already"}, {"start": 1592.88, "text": "wrote about multi-threaded"}, {"start": 1594.96, "text": "processing and GPUs. [snorts]"}, {"start": 1598.799, "text": "Okay, cool. Um,"}, {"start": 1602.24, "text": "so that's interesting. So what are the"}, {"start": 1604.0, "text": "key concepts and tools for understanding"}, {"start": 1605.76, "text": "programming GPUs? But GPUs is the"}, {"start": 1608.72, "text": "optional part. So I think the the model"}, {"start": 1611.76, "text": "of understanding"}, {"start": 1613.52, "text": "is going to be pretty unique. I'm not"}, {"start": 1615.44, "text": "sure what that's going to be. Um but"}, {"start": 1618.799, "text": "that's super super good. I achieved my"}, {"start": 1623.52, "text": "goal of reading the introduction and I"}, {"start": 1629.679, "text": "still have time to spare. So what I will"}, {"start": 1633.279, "text": "do now in this block is I had a goal to"}, {"start": 1638.08, "text": "read the introduction. I made a small"}, {"start": 1640.08, "text": "bet that in 25 minutes I would start"}, {"start": 1643.84, "text": "reading it."}, {"start": 1645.84, "text": "I then you know kind of immediately"}, {"start": 1649.52, "text": "called out that CPU and GPU may have"}, {"start": 1652.96, "text": "like a lot of differences"}, {"start": 1655.84, "text": "which no Sherlock"}, {"start": 1658.96, "text": "um they do. So that's there. I think the"}, {"start": 1663.76, "text": "CPU vector is going to be time. So this"}, {"start": 1666.159, "text": "is an assumption,"}, {"start": 1668.48, "text": "but we weren't able to prove that here."}, {"start": 1672.159, "text": "So I'm going to say unproven assumption."}, {"start": 1676.88, "text": "Um unlearned"}, {"start": 1684.96, "text": "verified assumption."}, {"start": 1687.679, "text": "So that's in this in this small period"}, {"start": 1690.24, "text": "of time. These are the things I was able"}, {"start": 1692.159, "text": "to kind of walk away with. My notes from"}, {"start": 1694.72, "text": "this block are really questions while"}, {"start": 1699.12, "text": "reading the introduction"}, {"start": 1703.679, "text": "from this"}, {"start": 1705.76, "text": "time block so that I can see the layers"}, {"start": 1708.559, "text": "later as I'm learning."}, {"start": 1713.2, "text": "What is the difference between the CPU"}, {"start": 1715.039, "text": "and GPU? Why does that matter for me? We"}, {"start": 1718.48, "text": "didn't get to an answer here. So, I'm"}, {"start": 1720.64, "text": "going to tag this as"}, {"start": 1723.919, "text": "unanswered"}, {"start": 1730.799, "text": "preliminary"}, {"start": 1732.559, "text": "notes."}, {"start": 1741.039, "text": "Uh this is a question here. I think this"}, {"start": 1745.919, "text": "one will be answered."}, {"start": 1749.76, "text": "A single"}, {"start": 1753.2, "text": "core is a set of"}, {"start": 1757.44, "text": "uh and so it says it in the course. So"}, {"start": 1761.039, "text": "there are multiple CPU cores. Each core"}, {"start": 1763.84, "text": "has multiple execution units."}, {"start": 1767.279, "text": "So"}, {"start": 1769.039, "text": "a CPU core"}, {"start": 1772.24, "text": "is a set of multiple"}, {"start": 1776.559, "text": "execution"}, {"start": 1778.799, "text": "units"}, {"start": 1792.799, "text": "that can be used simultaneously. ly"}, {"start": 1800.64, "text": "thus"}, {"start": 1802.159, "text": "proving the concept of multi-threaded"}, {"start": 1813.52, "text": "processing"}, {"start": 1817.12, "text": "but falls short"}, {"start": 1820.72, "text": "of complete"}, {"start": 1823.12, "text": "optimization for this architecture. ure"}, {"start": 1827.44, "text": "which requires"}, {"start": 1829.76, "text": "awareness of"}, {"start": 1832.799, "text": "multiple cores because of the proof"}, {"start": 1838.799, "text": "in"}, {"start": 1840.72, "text": "in optimization and the rate of change"}, {"start": 1845.52, "text": "for optimizing"}, {"start": 1848.64, "text": "multiple cores."}, {"start": 1851.44, "text": "Thus the de facto"}, {"start": 1854.399, "text": "standard for desktop computers and"}, {"start": 1859.76, "text": "laptops"}, {"start": 1861.679, "text": "is having multiple cores. And this may"}, {"start": 1867.84, "text": "eventually"}, {"start": 1870.88, "text": "get into other"}, {"start": 1874.08, "text": "computers"}, {"start": 1876.64, "text": "like edge devices in the class of the"}, {"start": 1882.96, "text": "internet of things."}, {"start": 1887.12, "text": "That's a sufficient answer for me"}, {"start": 1890.559, "text": "because now I'm like, \"Oh, okay. You"}, {"start": 1892.48, "text": "were just telling me this. This is like"}, {"start": 1894.0, "text": "foundational knowledge. And so I'm going"}, {"start": 1896.399, "text": "to say this is a foundational proof of"}, {"start": 1901.279, "text": "concept before"}, {"start": 1903.679, "text": "beginning"}, {"start": 1906.08, "text": "the course. So that's why that came up."}, {"start": 1909.36, "text": "Then I said uh this is answered"}, {"start": 1914.64, "text": "answered on the graph when the x-axis"}, {"start": 1917.679, "text": "denotes a secondary axis for v 0ero and"}, {"start": 1920.88, "text": "a sequence. What does that mean and why"}, {"start": 1922.64, "text": "does that relate? Um, so it does explain"}, {"start": 1926.72, "text": "that and this explains the proof yet"}, {"start": 1928.96, "text": "again."}, {"start": 1934.799, "text": "Hold on."}, {"start": 1938.72, "text": "Answered"}, {"start": 1940.559, "text": "yes. It wants to say that there is so"}, {"start": 1946.08, "text": "much opportunity"}, {"start": 1950.799, "text": "out there and that it is actually much"}, {"start": 1957.039, "text": "easier than you think."}, {"start": 1960.64, "text": "Okay, so that's answered. This is"}, {"start": 1962.799, "text": "answered."}, {"start": 1964.399, "text": "So, I was able to go through this block,"}, {"start": 1967.919, "text": "go through my original questions,"}, {"start": 1972.64, "text": "um, as I read this from top to bottom,"}, {"start": 1976.399, "text": "and I now have a meaningful note. My"}, {"start": 1979.76, "text": "next job, my next bet is going to be"}, {"start": 1984.72, "text": "there are exercises."}, {"start": 1987.84, "text": "And so these exercises"}, {"start": 1990.64, "text": "from open 26"}, {"start": 1994.0, "text": "um this is kind of the next thing that"}, {"start": 1997.12, "text": "is just worth reviewing briefly. We'll"}, {"start": 2000.559, "text": "just use this free time we have until we"}, {"start": 2003.12, "text": "get to the next bet. But this is a free"}, {"start": 2006.96, "text": "online course available to everyone. The"}, {"start": 2010.0, "text": "course has deadlines every other week"}, {"start": 2012.64, "text": "this fall. So two weeks from now. I want"}, {"start": 2016.24, "text": "to get a good strong head start because"}, {"start": 2021.36, "text": "by doing this I'm really just doing this"}, {"start": 2023.76, "text": "as a mental agility exercise so that I"}, {"start": 2026.399, "text": "can contribute more for my job doing"}, {"start": 2029.6, "text": "developer relations. So this is an"}, {"start": 2032.32, "text": "exercise of mental agility for me and"}, {"start": 2035.12, "text": "continuing to become you know and and"}, {"start": 2038.08, "text": "keep my identity clear as I'm a"}, {"start": 2041.2, "text": "professional software engineer. So,"}, {"start": 2046.24, "text": "okay."}, {"start": 2049.839, "text": "Uh, this is going to talk about"}, {"start": 2051.599, "text": "deadlines, but look, there's a lot of"}, {"start": 2054.159, "text": "problems in here. And for right now,"}, {"start": 2057.44, "text": "like I I guess the problem pool goes"}, {"start": 2061.599, "text": "like this. And so I'm going to take a"}, {"start": 2063.839, "text": "note here and say all right um course"}, {"start": 2068.56, "text": "exercises"}, {"start": 2070.8, "text": "it starts with a prerequisite"}, {"start": 2076.079, "text": "then after the prerequisite we go to"}, {"start": 2078.159, "text": "correlated"}, {"start": 2080.079, "text": "pairs and then we'll probably you know"}, {"start": 2082.56, "text": "quickly understand why each of these are"}, {"start": 2084.72, "text": "important or maybe like briefly try to"}, {"start": 2087.679, "text": "understand the concept. Then we have"}, {"start": 2089.119, "text": "image segmentation,"}, {"start": 2091.04, "text": "median filter."}, {"start": 2093.404, "text": "[snorts]"}, {"start": 2094.56, "text": "So I'm going to say image"}, {"start": 2097.76, "text": "segmentation."}, {"start": 2099.839, "text": "Then I'm going to say median filter."}, {"start": 2103.119, "text": "Okay,"}, {"start": 2105.68, "text": "we have sorting large language model. So"}, {"start": 2109.28, "text": "that one's going to be super relevant."}, {"start": 2111.44, "text": "Sorting"}, {"start": 2112.96, "text": "large language model."}, {"start": 2118.56, "text": "integer matrix multiplication"}, {"start": 2123.44, "text": "integer"}, {"start": 2124.96, "text": "matrix"}, {"start": 2126.64, "text": "multiplication"}, {"start": 2131.2, "text": "and then there's going to be an extra."}, {"start": 2134.72, "text": "So for today I don't want to go too"}, {"start": 2138.079, "text": "crazy seeing everything. I do not"}, {"start": 2140.56, "text": "understand the progression just yet. Um"}, {"start": 2144.64, "text": "so I will do questions"}, {"start": 2148.8, "text": "why this progression"}, {"start": 2151.68, "text": "of exercises."}, {"start": 2157.68, "text": "Um okay. And so we'll just do that for"}, {"start": 2160.72, "text": "now. Now when it's time to look at the"}, {"start": 2163.2, "text": "prerequisites, let's just try to um I"}, {"start": 2166.88, "text": "guess it sucks that they're not doing"}, {"start": 2168.96, "text": "this nested, but I think I can use tabs."}, {"start": 2172.079, "text": "So let's just take a look at the"}, {"start": 2174.56, "text": "prerequisite."}, {"start": 2178.88, "text": "Uh please read the general instructions"}, {"start": 2181.359, "text": "on this page first."}, {"start": 2183.92, "text": "Check the individual task for more"}, {"start": 2186.079, "text": "details."}, {"start": 2188.0, "text": "Download a zip file."}, {"start": 2190.8, "text": "Code templates."}, {"start": 2199.2, "text": "So,"}, {"start": 2202.56, "text": "write code fast enough to"}, {"start": 2208.4, "text": "reach the time limits."}, {"start": 2211.28, "text": "That's going to be the goal."}, {"start": 2219.52, "text": "General instructions. Write a function."}, {"start": 2223.095, "text": "[snorts]"}, {"start": 2223.92, "text": "Okay."}, {"start": 2229.52, "text": "expected output."}, {"start": 2238.48, "text": "I've never seen red before here. Um,"}, {"start": 2242.079, "text": "we'll see what happens here."}, {"start": 2248.0, "text": "Um, okay. I think I'll have to actually"}, {"start": 2250.24, "text": "write something. Yeah. All right. We'll"}, {"start": 2252.16, "text": "see what happens there. Um, that could"}, {"start": 2254.4, "text": "be a bug on their side. All right. So,"}, {"start": 2257.119, "text": "write a function."}, {"start": 2261.44, "text": "Write a function."}, {"start": 2266.079, "text": "That function"}, {"start": 2269.04, "text": "takes an image bit map as an input."}, {"start": 2275.359, "text": "Yeah. Okay. Great. Now, let's just"}, {"start": 2276.96, "text": "briefly see this."}, {"start": 2280.079, "text": "Write a function."}, {"start": 2285.2, "text": "Yeah. Okay, that's just a bug on their"}, {"start": 2287.119, "text": "side, I bet. Okay, so write a function"}, {"start": 2290.56, "text": "that takes an image bit map as an input"}, {"start": 2297.76, "text": "and coordinates of a rectangle."}, {"start": 2308.24, "text": "Okay, just going to take"}, {"start": 2311.68, "text": "it takes two parameters."}, {"start": 2318.0, "text": "Okay, boy."}, {"start": 2321.599, "text": "Amazing."}, {"start": 2326.4, "text": "Calculate the average color of all"}, {"start": 2328.64, "text": "pixels."}, {"start": 2331.76, "text": "Calculate the average color of all"}, {"start": 2336.48, "text": "pixels in the"}, {"start": 2339.599, "text": "rectangle."}, {"start": 2341.119, "text": "Okay. Amazing."}, {"start": 2347.44, "text": "All right."}, {"start": 2356.16, "text": "Typed interfaces."}, {"start": 2360.48, "text": "We'll denote the strruct."}, {"start": 2365.359, "text": "Let's see"}, {"start": 2368.16, "text": "strruct results."}, {"start": 2371.2, "text": "Oh, okay. So, this is um"}, {"start": 2376.16, "text": "okay."}, {"start": 2381.68, "text": "I just want to get this into our"}, {"start": 2383.92, "text": "markdown file."}, {"start": 2392.4, "text": "Okay."}, {"start": 2393.92, "text": "How is the pre"}, {"start": 2397.359, "text": "requisite"}, {"start": 2401.2, "text": "exercise"}, {"start": 2404.48, "text": "setup?"}, {"start": 2419.28, "text": "Okay."}, {"start": 2427.839, "text": "All right."}, {"start": 2432.56, "text": "Whoa. This is so the image bit map"}, {"start": 2437.599, "text": "is"}, {"start": 2439.599, "text": "okay. So I got to understand. All right."}, {"start": 2441.92, "text": "So"}, {"start": 2444.24, "text": "understand the syntax and setup of C++"}, {"start": 2451.839, "text": "for the function signature"}, {"start": 2455.76, "text": "to effectively"}, {"start": 2458.88, "text": "read the code. So I'll have to figure"}, {"start": 2461.2, "text": "that out."}, {"start": 2463.44, "text": "Um"}, {"start": 2465.359, "text": "okay. All right. So the first time block"}, {"start": 2467.2, "text": "is now done. But what I'm immediately"}, {"start": 2470.0, "text": "seeing"}, {"start": 2471.92, "text": "is that we have a simple function to"}, {"start": 2475.76, "text": "write for this first prerequisite test."}, {"start": 2479.44, "text": "Seems more like just writing some basic"}, {"start": 2482.319, "text": "C++ and having basic computer science"}, {"start": 2485.119, "text": "understanding"}, {"start": 2487.04, "text": "which makes sense"}, {"start": 2489.68, "text": "entirely makes sense to me. It's"}, {"start": 2491.359, "text": "abundantly clear why they would do that."}, {"start": 2494.56, "text": "Then the first uh exercise of the course"}, {"start": 2498.8, "text": "well actually there is going to be"}, {"start": 2502.319, "text": "zero"}, {"start": 2503.92, "text": "and so for zero"}, {"start": 2510.319, "text": "I guess let's see I don't know what zero"}, {"start": 2513.359, "text": "is in relation to this"}, {"start": 2521.2, "text": "oh so in the last so in the prerequisite"}, {"start": 2523.359, "text": "we wrote code. Now, this is where we"}, {"start": 2526.4, "text": "have the code be graded. Then this is"}, {"start": 2529.839, "text": "the correlated pairs."}, {"start": 2533.52, "text": "So then we're going to have the CPU"}, {"start": 2535.599, "text": "baseline. So then I'm going to say"}, {"start": 2538.8, "text": "problem two,"}, {"start": 2542.0, "text": "the first one,"}, {"start": 2544.64, "text": "it's going to be CPU baseline. And then"}, {"start": 2547.119, "text": "let's get a note on this."}, {"start": 2553.2, "text": "a simple sequential baseline solution."}, {"start": 2557.04, "text": "So that one is also going to be um"}, {"start": 2560.88, "text": "simple"}, {"start": 2562.4, "text": "um"}, {"start": 2565.68, "text": "all right so double precision floating"}, {"start": 2567.839, "text": "numbers."}, {"start": 2570.0, "text": "So"}, {"start": 2579.52, "text": "write a"}, {"start": 2581.44, "text": "baseline solution using"}, {"start": 2585.314, "text": "[snorts]"}, {"start": 2586.0, "text": "okay so I'll need to understand like why"}, {"start": 2589.119, "text": "that's relevant"}, {"start": 2591.04, "text": "um"}, {"start": 2592.72, "text": "and then what's interesting is that so"}, {"start": 2595.44, "text": "that'll be due and then"}, {"start": 2598.88, "text": "like Really the first problem set is"}, {"start": 2603.44, "text": "going to then go into some of this other"}, {"start": 2606.4, "text": "stuff. Multicore."}, {"start": 2608.88, "text": "Um yeah. So we're going to get"}, {"start": 2610.4, "text": "instruction level par parallelism,"}, {"start": 2614.24, "text": "multicore parallelism,"}, {"start": 2616.96, "text": "vectorzation,"}, {"start": 2620.64, "text": "which is probably going to be the"}, {"start": 2622.48, "text": "technique"}, {"start": 2624.88, "text": "for parallelization."}, {"start": 2629.92, "text": "for multicore and then"}, {"start": 2633.599, "text": "instruction level parallelism is"}, {"start": 2635.839, "text": "probably the bridge from single core to"}, {"start": 2638.96, "text": "multicore. I'm guessing that's how we're"}, {"start": 2642.079, "text": "going to do that bridge. There are going"}, {"start": 2645.119, "text": "to be"}, {"start": 2647.28, "text": "lectures that can be followed as well."}, {"start": 2651.119, "text": "And so there's lectures, there's slides,"}, {"start": 2658.079, "text": "and then there's all the chapters of"}, {"start": 2660.8, "text": "what we see. So then my next goal is to"}, {"start": 2663.92, "text": "start going through this to start"}, {"start": 2666.0, "text": "creating some flashcards"}, {"start": 2668.5, "text": "[snorts] as I go through the process as"}, {"start": 2670.8, "text": "well. Um, but for right now, we"}, {"start": 2675.119, "text": "effectively achieve the goal. This is"}, {"start": 2677.359, "text": "like a good learning log for lesson one."}, {"start": 2681.28, "text": "um of doing the intro. So now I'm going"}, {"start": 2684.319, "text": "to just write that in as intro and then"}, {"start": 2689.839, "text": "I'm going to keep working through this."}, {"start": 2692.0, "text": "I'll make this a public gist."}, {"start": 2695.92, "text": "All right. Amazing. So that's that's"}, {"start": 2698.0, "text": "this first one of this super hard task"}, {"start": 2701.119, "text": "of trying to stay mentally agile."}, {"start": 2704.526, "text": "[snorts]"}, {"start": 2705.52, "text": "taking a course that is super hard,"}, {"start": 2709.119, "text": "going through the process of reading the"}, {"start": 2711.28, "text": "materials out loud and then taking real"}, {"start": 2715.119, "text": "notes out loud as well, writing down my"}, {"start": 2718.96, "text": "questions and you know really refreshing"}, {"start": 2723.44, "text": "to not have used AI at all for that. Um,"}, {"start": 2728.761, "text": "[snorts] I think the big issue with AI"}, {"start": 2731.04, "text": "as I reflect on this is that it tries to"}, {"start": 2734.079, "text": "do the whole course in a single shot."}, {"start": 2737.119, "text": "And that misses the point."}, {"start": 2740.72, "text": "In addition to missing the point,"}, {"start": 2744.0, "text": "I think that it also"}, {"start": 2749.119, "text": "robs you of that chance to slow it down."}, {"start": 2752.64, "text": "Say, \"This is my intention for doing"}, {"start": 2754.4, "text": "this. The goal is not that I'm getting"}, {"start": 2756.96, "text": "the job done. The goal is that I'm"}, {"start": 2759.68, "text": "amplifying myself."}, {"start": 2762.88, "text": "So, this is my goal. I'm hoping that,"}, {"start": 2766.72, "text": "you know, I would love to be able to"}, {"start": 2771.52, "text": "complete the course. I think that would"}, {"start": 2774.079, "text": "be so amazing for my growth. I'm also"}, {"start": 2778.079, "text": "motivated because there is a contest."}, {"start": 2781.119, "text": "Um,"}, {"start": 2782.8, "text": "however, you know, this contest may be"}, {"start": 2787.599, "text": "something that"}, {"start": 2789.52, "text": "is too much for me right now, but maybe"}, {"start": 2793.68, "text": "this is a fun way that I will work with"}, {"start": 2796.88, "text": "AI. Is that"}, {"start": 2800.0, "text": "for me, I want to be okay with the fact"}, {"start": 2802.8, "text": "that I'm doing a live stream and then"}, {"start": 2805.28, "text": "I'm showing you that I'm learning."}, {"start": 2808.319, "text": "If I want to win a contest, that's too"}, {"start": 2811.599, "text": "much. I don't want to get too greedy."}, {"start": 2813.92, "text": "But I do have AI. So that'll be a great"}, {"start": 2816.16, "text": "chance for me to see how can I submit"}, {"start": 2818.8, "text": "with the help of AI with telling AI, hey"}, {"start": 2822.88, "text": "look like, you know, surmise based on"}, {"start": 2827.2, "text": "you know what the benchmarks are"}, {"start": 2830.079, "text": "multiple different solutions. I will"}, {"start": 2832.0, "text": "then go through it work as a human in"}, {"start": 2833.839, "text": "the loop. Maybe we'll see where me plus"}, {"start": 2837.599, "text": "AI can reach and maybe I can rank on"}, {"start": 2840.72, "text": "some of these. Um, but I'm not going to"}, {"start": 2842.64, "text": "set that as a crazy goal for right now."}, {"start": 2845.359, "text": "But amazing, amazing. Let me know what"}, {"start": 2848.88, "text": "you think about this streaming concept"}, {"start": 2851.839, "text": "of me learning live and being a role"}, {"start": 2855.76, "text": "model for doing that. I'm really excited"}, {"start": 2858.4, "text": "to continue going through this series um"}, {"start": 2861.599, "text": "and focusing on learning rather than"}, {"start": 2864.88, "text": "than teaching right"}]}
