What's the difference between a CPU and GPU? And what the heck is a TPU, DPU, or QPU? Learn the how computers actually compute things in this quick lesson. 

#computerscience #tech #programming 

💬 Chat with Me on Discord

https://discord.gg/fireship

🔗 Resources

Learn more about CPUs https://cpu.land
CPU in 100 Seconds https://youtu.be/vqs_0W-MSB0
Math for Programmers https://youtu.be/bOCHTHkBoAs
JS Worker Threads https://youtu.be/-JE8P2TiJEg

🔥 Get More Content - Upgrade to PRO

Upgrade at https://fireship.io/pro
Use code YT25 for 25% off PRO access 

🎨 My Editor Settings

- Atom One Dark 
- vscode-icons
- Fira Code Font

🔖 Topics Covered

- What is a CPU architecture? 
- ARM vs x86-64
- CPU versus GPU
- Why are GPUs so fast?
- Why do you need a GPU?
- What is a DPU?
- Quantum computing basics
- How are silicon chips made?
2024-02-04T05:01:05.067Z
nova-2
2-general-nova
2024-01-09.29447
30089e05-99d1-4376-b32e-c263170674af
a9b412c2-8af4-43d1-8c5d-c8c6f2bb25ea
b83b9531bbbd5ca6abbb742c2ed33d3a03bad69e65ed9e14e37a72b8b2292c7f
67875a7f-c9c4-48a0-aa55-5bdb8a91c34a
deprecated
In faraway lands, slaves dig the earth for beautiful gems called quartz, which contain silicon dioxide.
Alchemists or chemical engineers then refine and cook them into silicon substrate, a material that can be doped to act as both a conductor and insulator.
Shamans, also known as electrical engineers, then inscribe billions of microscopic symbols on them that can't be seen with the naked eye.
When lightning passes through them, they can speak the incomprehensible language of binary.
Highly trained wizards called software engineers, can learn this language to build powerful machines that create illusions.
These illusions can then control the way people think and act in the real world.
In today's illusion, I will harness this magic to pull back the veil on the almighty computer by looking at 4 different ways computers actually compute things at the hardware level.
Because to put, a computer needs a p u, like a CPU, GPU, TPU, or DPU.
The last 100 years have been crazy.
The first truly programmable computer was the e 1, which was created by Konrad Zuse in 1936 in his mom's basement, but then it got blown up in 1943 during the bombardment of Berlin.
It's entirely mechanical with over 20,000 parts.
It represents binary data with sliding metal sheets.
It could do things like Boolean algebra and floating point numbers and had a clock rate of 1 hertz, which means it could execute one instruction per second.
To put that in perspective, modern CPUs are measured in gigahertz or billions of cycles per back in.
Over the next 10 years, people thought really hard about how computers should actually work.
And in 1945, we got the von Neumann architecture, which is still while used in modern chips today.
It's the foundational design that describes how data and instructions are stored in the same memory space then handled by a processing unit.
A couple years later, there is a huge breakthrough with the invention of the transistor, which is a semiconductor that can amplify or switch electrical signals.
Like, a transistor could represent a 1 if current passes through it or a 0 if current doesn't pass through it.
This was a hugely forward.
Then in 1958, the integrated circuit was developed, allowing multiple transistors to be placed on in a single silicon chip.
Then finally in 1971, Intel released the first commercially available microprocessor that had all the features you know and love from a modern CPU.
It was a 4 bit processor, meaning it could handle 4 bits of data at a time with approximately 23 100 transistors.
The clock speed was 740 kilohertz, which was extremely fast at the time.
CPU's are pretty complicated.
And if you really wanna learn how they work, I'd highly recommend reading CPU dot land, which does an amazing job of breaking down how they actually execute programs.
It's totally free and was written by high schoolers Lexi Matic and at Hack Club, but what I wanna focus on is what they're actually used for so we can compare them to the other p u's.
Like its name implies, the central processing unit is like the brain of a computer.
Later.
It runs the operating system, executes programs, and manages hardware.
It has access to the system's RAM and includes a hierarchy of caches on the chip itself for faster data retrieval.
A CPU is optimized for sequential computations that require extensive branching and logic.
Like, imagine some navigation software that needs to run an algorithm to compute the shortest possible route between two points.
The algorithm may have a lot of conditional logic like if else statements that can only be computed 1 by 1 or sequentially.
A CPU is optimized for this type of work.
Now modern CPUs also have multiple cores, which allows them to do work in parallel, which allows you to use multiple applications on your PC at the same time.
And programmers can write code that does multithreading to utilize the cores on your machine to run code in parallel.
Check out this video on my second channel if you wanna learn how to do that in JavaScript.
Now to make a computer faster, one might think we could just add more and more CPU cores.
The The only though is that CPU cores are expensive.
As the core scale up, so does power consumption and the heat dissipation requirements.
It becomes out of diminishing returns and the extra complexity is just not worth it.
At the time of this video, 24 cores is typically the upper limit of higher end chips like Apple's m 2 Ultra and Intel's I9, but there are massive chips like the 128 core AMD EPYC designed for data centers.
Now when it comes to CPUs, there are multiple different architectures out there, and that's a big deal if you're doing low level systems programming, but every developer should be familiar with ARM and x86.
64 bit x86 is what you'll find on most modern desktop computers, while ARM is what you'll find on mobile devices because it has a more with an instruction set and better power efficiency, which means better battery life.
However, this distinction has been changing over the last few years, thanks to the full silicon chips, which have proven that the ARM architecture can also work for high performance computing on laptops and desktops, and even Microsoft is investing in running Windows with ARM.
In addition, ARM is becoming more and more popular with cloud providers like the Neoverse chip or Amazon's Graviton 3, which allows the cloud to compute more stuff with less power consumption, which is one of the biggest expenses in a data center.
But at some point, we've all hit the limitations of a CPU.
Like, when I try to run pirated Nintendo 64 games on my Raspberry Pi.
It lags like crazy.
That's because a lot of computation is required to calculate the appearance of all the lights and shadows in a game on demand.
Well, that's where the GPU comes in.
A Graphics processing unit, or graphics card, is highly optimized for parallel computing.
Unlike a CPU with a measly 16 cores, NVIDIA's RTX 4080 has nearly 10,000 course.
Each one of these course can handle a floating point or integer computation per cycle, and that allows games to perform tons of linear algebra in parallel parallel to render graphics instantly every time you push a button on your controller.
GPU's are also essential for training deep learning models that perform tons of matrix multiplication on large data sets.
This has led to massive demand in the GPU market and Nvidia stock price recently landed on the moon.
So he says, okay, give me $200.
I gave him $200 And, um, uh, for $200, uh, I bought, um, uh, 15%.
I think it was 20% of Nvidia.
If GPU These have so many cores, why not just use a GPU over a CPU for everything?
The short answer is that not all cores are created equal.
A single CPU core is far faster than a single GPU UCOR.
And its architecture can handle complex logic and branching, whereas a GPU is only designed for simple computations.
Most of the code out in the world can't take advantage of parallel and needs to run sequentially with a single thread.
A CPU is like a Toyota Camry.
It's extremely versatile, but can't take you to the moon.
A GPU is more like a rocket ship.
It's really fast when you wanna go in a straight line, but not really ideal for going to pick up your groceries.
As the name implies, GPUs were originally designed for graphics, but nowadays everybody wants them to train an AI that can overthrow the government.
But there's actually hardware designed for that use case called the TPU or tensor processing unit.
These chips are very similar to GPUs, but designed specifically for tensor operations, like the matrix multiplication required for deep learning.
They were developed by Google in 2016 to integrate directly with its TensorFlow software.
A TPU contains thousands of these things called multiply accumulators.
Later so it allows the hardware to perform matrix multiplication without the need to access registers or shared memory like a GPU would.
And if You have a neural network that's going to take weeks or months to train.
A TPU could save you 1,000,000 of dollars.
That's pretty cool, but that brings us to the newest type of PU, the DPU or data processing unit.
The CEO of Nvidia described it as the 3rd major pillar of computing going forward, but you'll likely never use one in your own computer because they're designed specifically for big data centers.
They're most like a CPU and typically based on the ARM architecture, but are highly optimized for moving data around.
They handle networking functions like packet processing, routing, and security, and also deal with data storage like compression and encryption.
The main goal is to relieve the CPU from any data processing jobs, so it can focus on living its best life by doing general purpose computing.
And with that, we've looked at 4 different ways a computer computes.
But there's one more wild card that we might get to experience in our lifetime, and that's the QPU or quantum processing unit.
All the chips we've looked at so far deal in bits, ones and zeros, but quantum computers deal in qubits, or quantum bits that can exist in a superposition of both states simultaneously.
Now, a cubate can represent multiple possibilities at once, but when measured, it collapses in to one of the possible states based on probability.
These cubits are subject to quantum entanglement, which means the state of 1 is directly related to another no matter the distance between them.
These properties are used together to create quantum gates, which are like logic gates in regular computers, but work in entirely different ways that I'm too stupid to understand.
What I do understand is that if this technology ever gets good, it will completely change the world.
Currently, cryptographic systems like RSA are underpinned by the fact that classical algorithms used for factorization would take 1,000,000,000 of years to crack with brute force even with the best computers of today.
But quantum computers will be able to run different algorithms, like Shor's algorithm that's exponentially faster at factorization and thus poses a major threat to modern encryption and security.
Luckily, there's no quantum here today that can run this algorithm, and even if there were, they sure as hell wouldn't be telling you and me about it.

Speaker 0: In faraway lands, slaves dig the earth for beautiful gems called quartz, which contain silicon dioxide. Alchemists or chemical engineers then refine and cook them into silicon substrate, a material that can be doped to act as both a conductor and insulator. Shamans, also known as electrical engineers, then inscribe billions of microscopic symbols on them that can't be seen with the naked eye. When lightning passes through them, they can speak the incomprehensible language of binary. Highly trained wizards called software engineers, can learn this language to build powerful machines that create illusions.

These illusions can then control the way people think and act in the real world. In today's illusion, I will harness this magic to pull back the veil on the almighty computer by looking at 4 different ways computers actually compute things at the hardware level. Because to put, a computer needs a p u, like a CPU, GPU, TPU, or DPU. The last 100 years have been crazy. The first truly programmable computer was the e 1, which was created by Konrad Zuse in 1936 in his mom's basement, but then it got blown up in 1943 during the bombardment of Berlin.

It's entirely mechanical with over 20,000 parts. It represents binary data with sliding metal sheets. It could do things like Boolean algebra and floating point numbers and had a clock rate of 1 hertz, which means it could execute one instruction per second. To put that in perspective, modern CPUs are measured in gigahertz or billions of cycles per back in. Over the next 10 years, people thought really hard about how computers should actually work.

And in 1945, we got the von Neumann architecture, which is still while used in modern chips today. It's the foundational design that describes how data and instructions are stored in the same memory space then handled by a processing unit. A couple years later, there is a huge breakthrough with the invention of the transistor, which is a semiconductor that can amplify or switch electrical signals. Like, a transistor could represent a 1 if current passes through it or a 0 if current doesn't pass through it. This was a hugely forward.

Then in 1958, the integrated circuit was developed, allowing multiple transistors to be placed on in a single silicon chip. Then finally in 1971, Intel released the first commercially available microprocessor that had all the features you know and love from a modern CPU. It was a 4 bit processor, meaning it could handle 4 bits of data at a time with approximately 23 100 transistors. The clock speed was 740 kilohertz, which was extremely fast at the time. CPU's are pretty complicated.

And if you really wanna learn how they work, I'd highly recommend reading CPU dot land, which does an amazing job of breaking down how they actually execute programs. It's totally free and was written by high schoolers Lexi Matic and at Hack Club, but what I wanna focus on is what they're actually used for so we can compare them to the other p u's. Like its name implies, the central processing unit is like the brain of a computer. Later. It runs the operating system, executes programs, and manages hardware.

It has access to the system's RAM and includes a hierarchy of caches on the chip itself for faster data retrieval. A CPU is optimized for sequential computations that require extensive branching and logic. Like, imagine some navigation software that needs to run an algorithm to compute the shortest possible route between two points. The algorithm may have a lot of conditional logic like if else statements that can only be computed 1 by 1 or sequentially. A CPU is optimized for this type of work.

Now modern CPUs also have multiple cores, which allows them to do work in parallel, which allows you to use multiple applications on your PC at the same time. And programmers can write code that does multithreading to utilize the cores on your machine to run code in parallel. Check out this video on my second channel if you wanna learn how to do that in JavaScript. Now to make a computer faster, one might think we could just add more and more CPU cores. The The only though is that CPU cores are expensive.

As the core scale up, so does power consumption and the heat dissipation requirements. It becomes out of diminishing returns and the extra complexity is just not worth it. At the time of this video, 24 cores is typically the upper limit of higher end chips like Apple's m 2 Ultra and Intel's I9, but there are massive chips like the 128 core AMD EPYC designed for data centers. Now when it comes to CPUs, there are multiple different architectures out there, and that's a big deal if you're doing low level systems programming, but every developer should be familiar with ARM and x86. 64 bit x86 is what you'll find on most modern desktop computers, while ARM is what you'll find on mobile devices because it has a more with an instruction set and better power efficiency, which means better battery life.

However, this distinction has been changing over the last few years, thanks to the full silicon chips, which have proven that the ARM architecture can also work for high performance computing on laptops and desktops, and even Microsoft is investing in running Windows with ARM. In addition, ARM is becoming more and more popular with cloud providers like the Neoverse chip or Amazon's Graviton 3, which allows the cloud to compute more stuff with less power consumption, which is one of the biggest expenses in a data center. But at some point, we've all hit the limitations of a CPU. Like, when I try to run pirated Nintendo 64 games on my Raspberry Pi. It lags like crazy.

That's because a lot of computation is required to calculate the appearance of all the lights and shadows in a game on demand. Well, that's where the GPU comes in. A Graphics processing unit, or graphics card, is highly optimized for parallel computing. Unlike a CPU with a measly 16 cores, NVIDIA's RTX 4080 has nearly 10,000 course. Each one of these course can handle a floating point or integer computation per cycle, and that allows games to perform tons of linear algebra in parallel parallel to render graphics instantly every time you push a button on your controller.

GPU's are also essential for training deep learning models that perform tons of matrix multiplication on large data sets. This has led to massive demand in the GPU market and Nvidia stock price recently landed on the moon.

Speaker 1: So he says, okay, give me $200. I gave him $200 And, um, uh, for $200, uh, I bought, um, uh, 15%. I think it was 20% of Nvidia.

Speaker 0: If GPU These have so many cores, why not just use a GPU over a CPU for everything? The short answer is that not all cores are created equal. A single CPU core is far faster than a single GPU UCOR. And its architecture can handle complex logic and branching, whereas a GPU is only designed for simple computations. Most of the code out in the world can't take advantage of parallel and needs to run sequentially with a single thread.

A CPU is like a Toyota Camry. It's extremely versatile, but can't take you to the moon. A GPU is more like a rocket ship. It's really fast when you wanna go in a straight line, but not really ideal for going to pick up your groceries. As the name implies, GPUs were originally designed for graphics, but nowadays everybody wants them to train an AI that can overthrow the government.

But there's actually hardware designed for that use case called the TPU or tensor processing unit. These chips are very similar to GPUs, but designed specifically for tensor operations, like the matrix multiplication required for deep learning. They were developed by Google in 2016 to integrate directly with its TensorFlow software. A TPU contains thousands of these things called multiply accumulators. Later so it allows the hardware to perform matrix multiplication without the need to access registers or shared memory like a GPU would.

And if You have a neural network that's going to take weeks or months to train. A TPU could save you 1,000,000 of dollars. That's pretty cool, but that brings us to the newest type of PU, the DPU or data processing unit. The CEO of Nvidia described it as the 3rd major pillar of computing going forward, but you'll likely never use one in your own computer because they're designed specifically for big data centers. They're most like a CPU and typically based on the ARM architecture, but are highly optimized for moving data around.

They handle networking functions like packet processing, routing, and security, and also deal with data storage like compression and encryption. The main goal is to relieve the CPU from any data processing jobs, so it can focus on living its best life by doing general purpose computing. And with that, we've looked at 4 different ways a computer computes. But there's one more wild card that we might get to experience in our lifetime, and that's the QPU or quantum processing unit. All the chips we've looked at so far deal in bits, ones and zeros, but quantum computers deal in qubits, or quantum bits that can exist in a superposition of both states simultaneously.

Now, a cubate can represent multiple possibilities at once, but when measured, it collapses in to one of the possible states based on probability. These cubits are subject to quantum entanglement, which means the state of 1 is directly related to another no matter the distance between them. These properties are used together to create quantum gates, which are like logic gates in regular computers, but work in entirely different ways that I'm too stupid to understand. What I do understand is that if this technology ever gets good, it will completely change the world. Currently, cryptographic systems like RSA are underpinned by the fact that classical algorithms used for factorization would take 1,000,000,000 of years to crack with brute force even with the best computers of today.

But quantum computers will be able to run different algorithms, like Shor's algorithm that's exponentially faster at factorization and thus poses a major threat to modern encryption and security. Luckily, there's no quantum here today that can run this algorithm, and even if there were, they sure as hell wouldn't be telling you and me about it.
In faraway lands, slaves dig the earth for beautiful gems called quartz, which contain silicon dioxide. Alchemists or chemical engineers then refine and cook them into silicon substrate, a material that can be doped to act as both a conductor and insulator. Shamans, also known as electrical engineers, then inscribe billions of microscopic symbols on them that can't be seen with the naked eye. When lightning passes through them, they can speak the incomprehensible language of binary. Highly trained wizards called software engineers, can learn this language to build powerful machines that create illusions. These illusions can then control the way people think and act in the real world. In today's illusion, I will harness this magic to pull back the veil on the almighty computer by looking at 4 different ways computers actually compute things at the hardware level. Because to put, a computer needs a p u, like a CPU, GPU, TPU, or DPU. The last 100 years have been crazy. The first truly programmable computer was the e 1, which was created by Konrad Zuse in 1936 in his mom's basement, but then it got blown up in 1943 during the bombardment of Berlin. It's entirely mechanical with over 20,000 parts. It represents binary data with sliding metal sheets. It could do things like Boolean algebra and floating point numbers and had a clock rate of 1 hertz, which means it could execute one instruction per second. To put that in perspective, modern CPUs are measured in gigahertz or billions of cycles per back in. Over the next 10 years, people thought really hard about how computers should actually work. And in 1945, we got the von Neumann architecture, which is still while used in modern chips today. It's the foundational design that describes how data and instructions are stored in the same memory space then handled by a processing unit. A couple years later, there is a huge breakthrough with the invention of the transistor, which is a semiconductor that can amplify or switch electrical signals. Like, a transistor could represent a 1 if current passes through it or a 0 if current doesn't pass through it. This was a hugely forward. Then in 1958, the integrated circuit was developed, allowing multiple transistors to be placed on in a single silicon chip. Then finally in 1971, Intel released the first commercially available microprocessor that had all the features you know and love from a modern CPU. It was a 4 bit processor, meaning it could handle 4 bits of data at a time with approximately 23 100 transistors.
computers
computer science
electronics
artificial intelligence
archaeology
machine learning
geology
senses
robotics
technology
mathematics
engineering
architecture
gods
physics
The clock speed was 740 kilohertz, which was extremely fast at the time.
CPU's are pretty complicated. And if you really wanna learn how they work, I'd highly recommend reading CPU dot land, which does an amazing job of breaking down how they actually execute programs. It's totally free and was written by high schoolers Lexi Matic and at Hack Club, but what I wanna focus on is what they're actually used for so we can compare them to the other p u's. Like its name implies, the central processing unit is like the brain of a computer. Later. It runs the operating system, executes programs, and manages hardware. It has access to the system's RAM and includes a hierarchy of caches on the chip itself for faster data retrieval. A CPU is optimized for sequential computations that require extensive branching and logic. Like, imagine some navigation software that needs to run an algorithm to compute the shortest possible route between two points. The algorithm may have a lot of conditional logic like if else statements that can only be computed 1 by 1 or sequentially. A CPU is optimized for this type of work. Now modern CPUs also have multiple cores, which allows them to do work in parallel, which allows you to use multiple applications on your PC at the same time. And programmers can write code that does multithreading to utilize the cores on your machine to run code in parallel. Check out this video on my second channel if you wanna learn how to do that in JavaScript. Now to make a computer faster, one might think we could just add more and more CPU cores.
databases
computer science
computers
programming
systems
The The only though is that CPU cores are expensive.
As the core scale up, so does power consumption and the heat dissipation requirements. It becomes out of diminishing returns and the extra complexity is just not worth it. At the time of this video, 24 cores is typically the upper limit of higher end chips like Apple's m 2 Ultra and Intel's I9, but there are massive chips like the 128 core AMD EPYC designed for data centers. Now when it comes to CPUs, there are multiple different architectures out there, and that's a big deal if you're doing low level systems programming, but every developer should be familiar with ARM and x86. 64 bit x86 is what you'll find on most modern desktop computers, while ARM is what you'll find on mobile devices because it has a more with an instruction set and better power efficiency, which means better battery life. However, this distinction has been changing over the last few years, thanks to the full silicon chips, which have proven that the ARM architecture can also work for high performance computing on laptops and desktops, and even Microsoft is investing in running Windows with ARM. In addition, ARM is becoming more and more popular with cloud providers like the Neoverse chip or Amazon's Graviton 3, which allows the cloud to compute more stuff with less power consumption, which is one of the biggest expenses in a data center. But at some point, we've all hit the limitations of a CPU. Like, when I try to run pirated Nintendo 64 games on my Raspberry Pi. It lags like crazy. That's because a lot of computation is required to calculate the appearance of all the lights and shadows in a game on demand. Well, that's where the GPU comes in. A Graphics processing unit, or graphics card, is highly optimized for parallel computing. Unlike a CPU with a measly 16 cores, NVIDIA's RTX 4080 has nearly 10,000 course. Each one of these course can handle a floating point or integer computation per cycle, and that allows games to perform tons of linear algebra in parallel parallel to render graphics instantly every time you push a button on your controller. GPU's are also essential for training deep learning models that perform tons of matrix multiplication on large data sets. This has led to massive demand in the GPU market and Nvidia stock price recently landed on the moon. So he says, okay, give me $200. I gave him $200 And, um, uh, for $200, uh, I bought, um, uh, 15%.
covid-19
deep learning
video gaming
architecture
ibm
computers
machine learning
electronics
neural networks
computer science
aerospace
programming
I think it was 20% of Nvidia. If GPU These have so many cores, why not just use a GPU over a CPU for everything? The short answer is that not all cores are created equal. A single CPU core is far faster than a single GPU UCOR. And its architecture can handle complex logic and branching, whereas a GPU is only designed for simple computations. Most of the code out in the world can't take advantage of parallel and needs to run sequentially with a single thread. A CPU is like a Toyota Camry. It's extremely versatile, but can't take you to the moon. A GPU is more like a rocket ship. It's really fast when you wanna go in a straight line, but not really ideal for going to pick up your groceries.
As the name implies, GPUs were originally designed for graphics, but nowadays everybody wants them to train an AI that can overthrow the government. But there's actually hardware designed for that use case called the TPU or tensor processing unit. These chips are very similar to GPUs, but designed specifically for tensor operations, like the matrix multiplication required for deep learning. They were developed by Google in 2016 to integrate directly with its TensorFlow software. A TPU contains thousands of these things called multiply accumulators. Later so it allows the hardware to perform matrix multiplication without the need to access registers or shared memory like a GPU would.
neural networks
covid-19
artificial intelligence
And if You have a neural network that's going to take weeks or months to train. A TPU could save you 1,000,000 of dollars. That's pretty cool, but that brings us to the newest type of PU, the DPU or data processing unit. The CEO of Nvidia described it as the 3rd major pillar of computing going forward, but you'll likely never use one in your own computer because they're designed specifically for big data centers. They're most like a CPU and typically based on the ARM architecture, but are highly optimized for moving data around. They handle networking functions like packet processing, routing, and security, and also deal with data storage like compression and encryption. The main goal is to relieve the CPU from any data processing jobs, so it can focus on living its best life by doing general purpose computing. And with that, we've looked at 4 different ways a computer computes. But there's one more wild card that we might get to experience in our lifetime, and that's the QPU or quantum processing unit. All the chips we've looked at so far deal in bits, ones and zeros, but quantum computers deal in qubits, or quantum bits that can exist in a superposition of both states simultaneously. Now, a cubate can represent multiple possibilities at once, but when measured, it collapses in to one of the possible states based on probability.
covid-19
computers
computer science
networking
particle physics
These cubits are subject to quantum entanglement, which means the state of 1 is directly related to another no matter the distance between them. These properties are used together to create quantum gates, which are like logic gates in regular computers, but work in entirely different ways that I'm too stupid to understand. What I do understand is that if this technology ever gets good, it will completely change the world. Currently, cryptographic systems like RSA are underpinned by the fact that classical algorithms used for factorization would take 1,000,000,000 of years to crack with brute force even with the best computers of today. But quantum computers will be able to run different algorithms, like Shor's algorithm that's exponentially faster at factorization and thus poses a major threat to modern encryption and security. Luckily, there's no quantum here today that can run this algorithm, and even if there were, they sure as hell wouldn't be telling you and me about it.
In faraway lands, slaves dig the earth for beautiful gems called quartz, which contain silicon dioxide. Alchemists or chemical engineers then refine and cook them into silicon substrate, a material that can be doped to act as both a conductor and insulator. Shamans, also known as electrical engineers, then inscribe billions of microscopic symbols on them that can't be seen with the naked eye. When lightning passes through them, they can speak the incomprehensible language of binary. Highly trained wizards called software engineers, can learn this language to build powerful machines that create illusions. These illusions can then control the way people think and act in the real world. In today's illusion, I will harness this magic to pull back the veil on the almighty computer by looking at 4 different ways computers actually compute things at the hardware level. Because to put, a computer needs a p u, like a CPU, GPU, TPU, or DPU. The last 100 years have been crazy. The first truly programmable computer was the e 1, which was created by Konrad Zuse in 1936 in his mom's basement, but then it got blown up in 1943 during the bombardment of Berlin. It's entirely mechanical with over 20,000 parts. It represents binary data with sliding metal sheets. It could do things like Boolean algebra and floating point numbers and had a clock rate of 1 hertz, which means it could execute one instruction per second. To put that in perspective, modern CPUs are measured in gigahertz or billions of cycles per back in. Over the next 10 years, people thought really hard about how computers should actually work. And in 1945, we got the von Neumann architecture, which is still while used in modern chips today. It's the foundational design that describes how data and instructions are stored in the same memory space then handled by a processing unit. A couple years later, there is a huge breakthrough with the invention of the transistor, which is a semiconductor that can amplify or switch electrical signals. Like, a transistor could represent a 1 if current passes through it or a 0 if current doesn't pass through it. This was a hugely forward. Then in 1958, the integrated circuit was developed, allowing multiple transistors to be placed on in a single silicon chip. Then finally in 1971, Intel released the first commercially available microprocessor that had all the features you know and love from a modern CPU. It was a 4 bit processor, meaning it could handle 4 bits of data at a time with approximately 23 100 transistors. The clock speed was 740 kilohertz, which was extremely fast at the time. CPU's are pretty complicated. And if you really wanna learn how they work, I'd highly recommend reading CPU dot land, which does an amazing job of breaking down how they actually execute programs. It's totally free and was written by high schoolers Lexi Matic and at Hack Club, but what I wanna focus on is what they're actually used for so we can compare them to the other p u's. Like its name implies, the central processing unit is like the brain of a computer. Later. It runs the operating system, executes programs, and manages hardware. It has access to the system's RAM and includes a hierarchy of caches on the chip itself for faster data retrieval. A CPU is optimized for sequential computations that require extensive branching and logic. Like, imagine some navigation software that needs to run an algorithm to compute the shortest possible route between two points. The algorithm may have a lot of conditional logic like if else statements that can only be computed 1 by 1 or sequentially. A CPU is optimized for this type of work. Now modern CPUs also have multiple cores, which allows them to do work in parallel, which allows you to use multiple applications on your PC at the same time. And programmers can write code that does multithreading to utilize the cores on your machine to run code in parallel. Check out this video on my second channel if you wanna learn how to do that in JavaScript. Now to make a computer faster, one might think we could just add more and more CPU cores. The The only though is that CPU cores are expensive. As the core scale up, so does power consumption and the heat dissipation requirements. It becomes out of diminishing returns and the extra complexity is just not worth it. At the time of this video, 24 cores is typically the upper limit of higher end chips like Apple's m 2 Ultra and Intel's I9, but there are massive chips like the 128 core AMD EPYC designed for data centers. Now when it comes to CPUs, there are multiple different architectures out there, and that's a big deal if you're doing low level systems programming, but every developer should be familiar with ARM and x86. 64 bit x86 is what you'll find on most modern desktop computers, while ARM is what you'll find on mobile devices because it has a more with an instruction set and better power efficiency, which means better battery life. However, this distinction has been changing over the last few years, thanks to the full silicon chips, which have proven that the ARM architecture can also work for high performance computing on laptops and desktops, and even Microsoft is investing in running Windows with ARM. In addition, ARM is becoming more and more popular with cloud providers like the Neoverse chip or Amazon's Graviton 3, which allows the cloud to compute more stuff with less power consumption, which is one of the biggest expenses in a data center. But at some point, we've all hit the limitations of a CPU. Like, when I try to run pirated Nintendo 64 games on my Raspberry Pi. It lags like crazy. That's because a lot of computation is required to calculate the appearance of all the lights and shadows in a game on demand. Well, that's where the GPU comes in. A Graphics processing unit, or graphics card, is highly optimized for parallel computing. Unlike a CPU with a measly 16 cores, NVIDIA's RTX 4080 has nearly 10,000 course. Each one of these course can handle a floating point or integer computation per cycle, and that allows games to perform tons of linear algebra in parallel parallel to render graphics instantly every time you push a button on your controller. GPU's are also essential for training deep learning models that perform tons of matrix multiplication on large data sets. This has led to massive demand in the GPU market and Nvidia stock price recently landed on the moon. So he says, okay, give me $200. I gave him $200 And, um, uh, for $200, uh, I bought, um, uh, 15%. I think it was 20% of Nvidia. If GPU These have so many cores, why not just use a GPU over a CPU for everything? The short answer is that not all cores are created equal. A single CPU core is far faster than a single GPU UCOR. And its architecture can handle complex logic and branching, whereas a GPU is only designed for simple computations. Most of the code out in the world can't take advantage of parallel and needs to run sequentially with a single thread. A CPU is like a Toyota Camry. It's extremely versatile, but can't take you to the moon. A GPU is more like a rocket ship. It's really fast when you wanna go in a straight line, but not really ideal for going to pick up your groceries. As the name implies, GPUs were originally designed for graphics, but nowadays everybody wants them to train an AI that can overthrow the government. But there's actually hardware designed for that use case called the TPU or tensor processing unit. These chips are very similar to GPUs, but designed specifically for tensor operations, like the matrix multiplication required for deep learning. They were developed by Google in 2016 to integrate directly with its TensorFlow software. A TPU contains thousands of these things called multiply accumulators. Later so it allows the hardware to perform matrix multiplication without the need to access registers or shared memory like a GPU would. And if You have a neural network that's going to take weeks or months to train. A TPU could save you 1,000,000 of dollars. That's pretty cool, but that brings us to the newest type of PU, the DPU or data processing unit. The CEO of Nvidia described it as the 3rd major pillar of computing going forward, but you'll likely never use one in your own computer because they're designed specifically for big data centers. They're most like a CPU and typically based on the ARM architecture, but are highly optimized for moving data around. They handle networking functions like packet processing, routing, and security, and also deal with data storage like compression and encryption. The main goal is to relieve the CPU from any data processing jobs, so it can focus on living its best life by doing general purpose computing. And with that, we've looked at 4 different ways a computer computes. But there's one more wild card that we might get to experience in our lifetime, and that's the QPU or quantum processing unit. All the chips we've looked at so far deal in bits, ones and zeros, but quantum computers deal in qubits, or quantum bits that can exist in a superposition of both states simultaneously. Now, a cubate can represent multiple possibilities at once, but when measured, it collapses in to one of the possible states based on probability. These cubits are subject to quantum entanglement, which means the state of 1 is directly related to another no matter the distance between them. These properties are used together to create quantum gates, which are like logic gates in regular computers, but work in entirely different ways that I'm too stupid to understand. What I do understand is that if this technology ever gets good, it will completely change the world. Currently, cryptographic systems like RSA are underpinned by the fact that classical algorithms used for factorization would take 1,000,000,000 of years to crack with brute force even with the best computers of today. But quantum computers will be able to run different algorithms, like Shor's algorithm that's exponentially faster at factorization and thus poses a major threat to modern encryption and security. Luckily, there's no quantum here today that can run this algorithm, and even if there were, they sure as hell wouldn't be telling you and me about it.
In
in
faraway
faraway
lands,
lands
slaves
slaves
dig
dig
the
the
earth
earth
for
for
beautiful
beautiful
gems
gems
called
called
quartz,
quartz
which
which
contain
contain
silicon
silicon
dioxide.
dioxide
Alchemists
alchemists
or
or
chemical
chemical
engineers
engineers
then
then
refine
refine
and
and
cook
cook
them
them
into
into
silicon
silicon
substrate,
substrate
a
a
material
material
that
that
can
can
be
be
doped
doped
to
to
act
act
as
as
both
both
a
a
conductor
conductor
and
and
insulator.
insulator
Shamans,
shamans
also
also
known
known
as
as
electrical
electrical
engineers,
engineers
then
then
inscribe
inscribe
billions
billions
of
of
microscopic
microscopic
symbols
symbols
on
on
them
them
that
that
can't
can't
be
be
seen
seen
with
with
the
the
naked
naked
eye.
eye
When
when
lightning
lightning
passes
passes
through
through
them,
them
they
they
can
can
speak
speak
the
the
incomprehensible
incomprehensible
language
language
of
of
binary.
binary
Highly
highly
trained
trained
wizards
wizards
called
called
software
software
engineers,
engineers
can
can
learn
learn
this
this
language
language
to
to
build
build
powerful
powerful
machines
machines
that
that
create
create
illusions.
illusions
These
these
illusions
illusions
can
can
then
then
control
control
the
the
way
way
people
people
think
think
and
and
act
act
in
in
the
the
real
real
world.
world
In
in
today's
today's
illusion,
illusion
I
i
will
will
harness
harness
this
this
magic
magic
to
to
pull
pull
back
back
the
the
veil
veil
on
on
the
the
almighty
almighty
computer
computer
by
by
looking
looking
at
at
4
4
different
different
ways
ways
computers
computers
actually
actually
compute
compute
things
things
at
at
the
the
hardware
hardware
level.
level
Because
because
to
to
put,
put
a
a
computer
computer
needs
needs
a
a
p
p
u,
u
like
like
a
a
CPU,
cpu
GPU,
gpu
TPU,
tpu
or
or
DPU.
dpu
The
the
last
last
100
100
years
years
have
have
been
been
crazy.
crazy
The
the
first
first
truly
truly
programmable
programmable
computer
computer
was
was
the
the
e
e
1,
1
which
which
was
was
created
created
by
by
Konrad
konrad
Zuse
zuse
in
in
1936
1936
in
in
his
his
mom's
mom's
basement,
basement
but
but
then
then
it
it
got
got
blown
blown
up
up
in
in
1943
1943
during
during
the
the
bombardment
bombardment
of
of
Berlin.
berlin
It's
it's
entirely
entirely
mechanical
mechanical
with
with
over
over
20,000
20,000
parts.
parts
It
it
represents
represents
binary
binary
data
data
with
with
sliding
sliding
metal
metal
sheets.
sheets
It
it
could
could
do
do
things
things
like
like
Boolean
boolean
algebra
algebra
and
and
floating
floating
point
point
numbers
numbers
and
and
had
had
a
a
clock
clock
rate
rate
of
of
1
1
hertz,
hertz
which
which
means
means
it
it
could
could
execute
execute
one
one
instruction
instruction
per
per
second.
second
To
to
put
put
that
that
in
in
perspective,
perspective
modern
modern
CPUs
cpus
are
are
measured
measured
in
in
gigahertz
gigahertz
or
or
billions
billions
of
of
cycles
cycles
per
per
back
back
in.
in
Over
over
the
the
next
next
10
10
years,
years
people
people
thought
thought
really
really
hard
hard
about
about
how
how
computers
computers
should
should
actually
actually
work.
work
And
and
in
in
1945,
1945
we
we
got
got
the
the
von
von
Neumann
neumann
architecture,
architecture
which
which
is
is
still
still
while
while
used
used
in
in
modern
modern
chips
chips
today.
today
It's
it's
the
the
foundational
foundational
design
design
that
that
describes
describes
how
how
data
data
and
and
instructions
instructions
are
are
stored
stored
in
in
the
the
same
same
memory
memory
space
space
then
then
handled
handled
by
by
a
a
processing
processing
unit.
unit
A
a
couple
couple
years
years
later,
later
there
there
is
is
a
a
huge
huge
breakthrough
breakthrough
with
with
the
the
invention
invention
of
of
the
the
transistor,
transistor
which
which
is
is
a
a
semiconductor
semiconductor
that
that
can
can
amplify
amplify
or
or
switch
switch
electrical
electrical
signals.
signals
Like,
like
a
a
transistor
transistor
could
could
represent
represent
a
a
1
1
if
if
current
current
passes
passes
through
through
it
it
or
or
a
a
0
0
if
if
current
current
doesn't
doesn't
pass
pass
through
through
it.
it
This
this
was
was
a
a
hugely
hugely
forward.
forward
Then
then
in
in
1958,
1958
the
the
integrated
integrated
circuit
circuit
was
was
developed,
developed
allowing
allowing
multiple
multiple
transistors
transistors
to
to
be
be
placed
placed
on
on
in
in
a
a
single
single
silicon
silicon
chip.
chip
Then
then
finally
finally
in
in
1971,
1971
Intel
intel
released
released
the
the
first
first
commercially
commercially
available
available
microprocessor
microprocessor
that
that
had
had
all
all
the
the
features
features
you
you
know
know
and
and
love
love
from
from
a
a
modern
modern
CPU.
cpu
It
it
was
was
a
a
4
4
bit
bit
processor,
processor
meaning
meaning
it
it
could
could
handle
handle
4
4
bits
bits
of
of
data
data
at
at
a
a
time
time
with
with
approximately
approximately
23
23
100
100
transistors.
transistors
The
the
clock
clock
speed
speed
was
was
740
740
kilohertz,
kilohertz
which
which
was
was
extremely
extremely
fast
fast
at
at
the
the
time.
time
CPU's
cpu's
are
are
pretty
pretty
complicated.
complicated
And
and
if
if
you
you
really
really
wanna
wanna
learn
learn
how
how
they
they
work,
work
I'd
i'd
highly
highly
recommend
recommend
reading
reading
CPU
cpu
dot
dot
land,
land
which
which
does
does
an
an
amazing
amazing
job
job
of
of
breaking
breaking
down
down
how
how
they
they
actually
actually
execute
execute
programs.
programs
It's
it's
totally
totally
free
free
and
and
was
was
written
written
by
by
high
high
schoolers
schoolers
Lexi
lexi
Matic
matic
and
and
at
at
Hack
hack
Club,
club
but
but
what
what
I
i
wanna
wanna
focus
focus
on
on
is
is
what
what
they're
they're
actually
actually
used
used
for
for
so
so
we
we
can
can
compare
compare
them
them
to
to
the
the
other
other
p
p
u's.
u's
Like
like
its
its
name
name
implies,
implies
the
the
central
central
processing
processing
unit
unit
is
is
like
like
the
the
brain
brain
of
of
a
a
computer.
computer
Later.
later
It
it
runs
runs
the
the
operating
operating
system,
system
executes
executes
programs,
programs
and
and
manages
manages
hardware.
hardware
It
it
has
has
access
access
to
to
the
the
system's
system's
RAM
ram
and
and
includes
includes
a
a
hierarchy
hierarchy
of
of
caches
caches
on
on
the
the
chip
chip
itself
itself
for
for
faster
faster
data
data
retrieval.
retrieval
A
a
CPU
cpu
is
is
optimized
optimized
for
for
sequential
sequential
computations
computations
that
that
require
require
extensive
extensive
branching
branching
and
and
logic.
logic
Like,
like
imagine
imagine
some
some
navigation
navigation
software
software
that
that
needs
needs
to
to
run
run
an
an
algorithm
algorithm
to
to
compute
compute
the
the
shortest
shortest
possible
possible
route
route
between
between
two
two
points.
points
The
the
algorithm
algorithm
may
may
have
have
a
a
lot
lot
of
of
conditional
conditional
logic
logic
like
like
if
if
else
else
statements
statements
that
that
can
can
only
only
be
be
computed
computed
1
1
by
by
1
1
or
or
sequentially.
sequentially
A
a
CPU
cpu
is
is
optimized
optimized
for
for
this
this
type
type
of
of
work.
work
Now
now
modern
modern
CPUs
cpus
also
also
have
have
multiple
multiple
cores,
cores
which
which
allows
allows
them
them
to
to
do
do
work
work
in
in
parallel,
parallel
which
which
allows
allows
you
you
to
to
use
use
multiple
multiple
applications
applications
on
on
your
your
PC
pc
at
at
the
the
same
same
time.
time
And
and
programmers
programmers
can
can
write
write
code
code
that
that
does
does
multithreading
multithreading
to
to
utilize
utilize
the
the
cores
cores
on
on
your
your
machine
machine
to
to
run
run
code
code
in
in
parallel.
parallel
Check
check
out
out
this
this
video
video
on
on
my
my
second
second
channel
channel
if
if
you
you
wanna
wanna
learn
learn
how
how
to
to
do
do
that
that
in
in
JavaScript.
javascript
Now
now
to
to
make
make
a
a
computer
computer
faster,
faster
one
one
might
might
think
think
we
we
could
could
just
just
add
add
more
more
and
and
more
more
CPU
cpu
cores.
cores
The
the
The
the
only
only
though
though
is
is
that
that
CPU
cpu
cores
cores
are
are
expensive.
expensive
As
as
the
the
core
core
scale
scale
up,
up
so
so
does
does
power
power
consumption
consumption
and
and
the
the
heat
heat
dissipation
dissipation
requirements.
requirements
It
it
becomes
becomes
out
out
of
of
diminishing
diminishing
returns
returns
and
and
the
the
extra
extra
complexity
complexity
is
is
just
just
not
not
worth
worth
it.
it
At
at
the
the
time
time
of
of
this
this
video,
video
24
24
cores
cores
is
is
typically
typically
the
the
upper
upper
limit
limit
of
of
higher
higher
end
end
chips
chips
like
like
Apple's
apple's
m
m
2
2
Ultra
ultra
and
and
Intel's
intel's
I9,
i9
but
but
there
there
are
are
massive
massive
chips
chips
like
like
the
the
128
128
core
core
AMD
amd
EPYC
epyc
designed
designed
for
for
data
data
centers.
centers
Now
now
when
when
it
it
comes
comes
to
to
CPUs,
cpus
there
there
are
are
multiple
multiple
different
different
architectures
architectures
out
out
there,
there
and
and
that's
that's
a
a
big
big
deal
deal
if
if
you're
you're
doing
doing
low
low
level
level
systems
systems
programming,
programming
but
but
every
every
developer
developer
should
should
be
be
familiar
familiar
with
with
ARM
arm
and
and
x86.
x86
64
64
bit
bit
x86
x86
is
is
what
what
you'll
you'll
find
find
on
on
most
most
modern
modern
desktop
desktop
computers,
computers
while
while
ARM
arm
is
is
what
what
you'll
you'll
find
find
on
on
mobile
mobile
devices
devices
because
because
it
it
has
has
a
a
more
more
with
with
an
an
instruction
instruction
set
set
and
and
better
better
power
power
efficiency,
efficiency
which
which
means
means
better
better
battery
battery
life.
life
However,
however
this
this
distinction
distinction
has
has
been
been
changing
changing
over
over
the
the
last
last
few
few
years,
years
thanks
thanks
to
to
the
the
full
full
silicon
silicon
chips,
chips
which
which
have
have
proven
proven
that
that
the
the
ARM
arm
architecture
architecture
can
can
also
also
work
work
for
for
high
high
performance
performance
computing
computing
on
on
laptops
laptops
and
and
desktops,
desktops
and
and
even
even
Microsoft
microsoft
is
is
investing
investing
in
in
running
running
Windows
windows
with
with
ARM.
arm
In
in
addition,
addition
ARM
arm
is
is
becoming
becoming
more
more
and
and
more
more
popular
popular
with
with
cloud
cloud
providers
providers
like
like
the
the
Neoverse
neoverse
chip
chip
or
or
Amazon's
amazon's
Graviton
graviton
3,
3
which
which
allows
allows
the
the
cloud
cloud
to
to
compute
compute
more
more
stuff
stuff
with
with
less
less
power
power
consumption,
consumption
which
which
is
is
one
one
of
of
the
the
biggest
biggest
expenses
expenses
in
in
a
a
data
data
center.
center
But
but
at
at
some
some
point,
point
we've
we've
all
all
hit
hit
the
the
limitations
limitations
of
of
a
a
CPU.
cpu
Like,
like
when
when
I
i
try
try
to
to
run
run
pirated
pirated
Nintendo
nintendo
64
64
games
games
on
on
my
my
Raspberry
raspberry
Pi.
pi
It
it
lags
lags
like
like
crazy.
crazy
That's
that's
because
because
a
a
lot
lot
of
of
computation
computation
is
is
required
required
to
to
calculate
calculate
the
the
appearance
appearance
of
of
all
all
the
the
lights
lights
and
and
shadows
shadows
in
in
a
a
game
game
on
on
demand.
demand
Well,
well
that's
that's
where
where
the
the
GPU
gpu
comes
comes
in.
in
A
a
Graphics
graphics
processing
processing
unit,
unit
or
or
graphics
graphics
card,
card
is
is
highly
highly
optimized
optimized
for
for
parallel
parallel
computing.
computing
Unlike
unlike
a
a
CPU
cpu
with
with
a
a
measly
measly
16
16
cores,
cores
NVIDIA's
nvidia's
RTX
rtx
4080
4080
has
has
nearly
nearly
10,000
10,000
course.
course
Each
each
one
one
of
of
these
these
course
course
can
can
handle
handle
a
a
floating
floating
point
point
or
or
integer
integer
computation
computation
per
per
cycle,
cycle
and
and
that
that
allows
allows
games
games
to
to
perform
perform
tons
tons
of
of
linear
linear
algebra
algebra
in
in
parallel
parallel
parallel
parallel
to
to
render
render
graphics
graphics
instantly
instantly
every
every
time
time
you
you
push
push
a
a
button
button
on
on
your
your
controller.
controller
GPU's
gpu's
are
are
also
also
essential
essential
for
for
training
training
deep
deep
learning
learning
models
models
that
that
perform
perform
tons
tons
of
of
matrix
matrix
multiplication
multiplication
on
on
large
large
data
data
sets.
sets
This
this
has
has
led
led
to
to
massive
massive
demand
demand
in
in
the
the
GPU
gpu
market
market
and
and
Nvidia
nvidia
stock
stock
price
price
recently
recently
landed
landed
on
on
the
the
moon.
moon
So
so
he
he
says,
says
okay,
okay
give
give
me
me
$200.
$200
I
i
gave
gave
him
him
$200
$200
And,
and
um,
um
uh,
uh
for
for
$200,
$200
uh,
uh
I
i
bought,
bought
um,
um
uh,
uh
15%.
15%
I
i
think
think
it
it
was
was
20%
20%
of
of
Nvidia.
nvidia
If
if
GPU
gpu
These
these
have
have
so
so
many
many
cores,
cores
why
why
not
not
just
just
use
use
a
a
GPU
gpu
over
over
a
a
CPU
cpu
for
for
everything?
everything
The
the
short
short
answer
answer
is
is
that
that
not
not
all
all
cores
cores
are
are
created
created
equal.
equal
A
a
single
single
CPU
cpu
core
core
is
is
far
far
faster
faster
than
than
a
a
single
single
GPU
gpu
UCOR.
ucor
And
and
its
its
architecture
architecture
can
can
handle
handle
complex
complex
logic
logic
and
and
branching,
branching
whereas
whereas
a
a
GPU
gpu
is
is
only
only
designed
designed
for
for
simple
simple
computations.
computations
Most
most
of
of
the
the
code
code
out
out
in
in
the
the
world
world
can't
can't
take
take
advantage
advantage
of
of
parallel
parallel
and
and
needs
needs
to
to
run
run
sequentially
sequentially
with
with
a
a
single
single
thread.
thread
A
a
CPU
cpu
is
is
like
like
a
a
Toyota
toyota
Camry.
camry
It's
it's
extremely
extremely
versatile,
versatile
but
but
can't
can't
take
take
you
you
to
to
the
the
moon.
moon
A
a
GPU
gpu
is
is
more
more
like
like
a
a
rocket
rocket
ship.
ship
It's
it's
really
really
fast
fast
when
when
you
you
wanna
wanna
go
go
in
in
a
a
straight
straight
line,
line
but
but
not
not
really
really
ideal
ideal
for
for
going
going
to
to
pick
pick
up
up
your
your
groceries.
groceries
As
as
the
the
name
name
implies,
implies
GPUs
gpus
were
were
originally
originally
designed
designed
for
for
graphics,
graphics
but
but
nowadays
nowadays
everybody
everybody
wants
wants
them
them
to
to
train
train
an
an
AI
ai
that
that
can
can
overthrow
overthrow
the
the
government.
government
But
but
there's
there's
actually
actually
hardware
hardware
designed
designed
for
for
that
that
use
use
case
case
called
called
the
the
TPU
tpu
or
or
tensor
tensor
processing
processing
unit.
unit
These
these
chips
chips
are
are
very
very
similar
similar
to
to
GPUs,
gpus
but
but
designed
designed
specifically
specifically
for
for
tensor
tensor
operations,
operations
like
like
the
the
matrix
matrix
multiplication
multiplication
required
required
for
for
deep
deep
learning.
learning
They
they
were
were
developed
developed
by
by
Google
google
in
in
2016
2016
to
to
integrate
integrate
directly
directly
with
with
its
its
TensorFlow
tensorflow
software.
software
A
a
TPU
tpu
contains
contains
thousands
thousands
of
of
these
these
things
things
called
called
multiply
multiply
accumulators.
accumulators
Later
later
so
so
it
it
allows
allows
the
the
hardware
hardware
to
to
perform
perform
matrix
matrix
multiplication
multiplication
without
without
the
the
need
need
to
to
access
access
registers
registers
or
or
shared
shared
memory
memory
like
like
a
a
GPU
gpu
would.
would
And
and
if
if
You
you
have
have
a
a
neural
neural
network
network
that's
that's
going
going
to
to
take
take
weeks
weeks
or
or
months
months
to
to
train.
train
A
a
TPU
tpu
could
could
save
save
you
you
1,000,000
1,000,000
of
of
dollars.
dollars
That's
that's
pretty
pretty
cool,
cool
but
but
that
that
brings
brings
us
us
to
to
the
the
newest
newest
type
type
of
of
PU,
pu
the
the
DPU
dpu
or
or
data
data
processing
processing
unit.
unit
The
the
CEO
ceo
of
of
Nvidia
nvidia
described
described
it
it
as
as
the
the
3rd
3rd
major
major
pillar
pillar
of
of
computing
computing
going
going
forward,
forward
but
but
you'll
you'll
likely
likely
never
never
use
use
one
one
in
in
your
your
own
own
computer
computer
because
because
they're
they're
designed
designed
specifically
specifically
for
for
big
big
data
data
centers.
centers
They're
they're
most
most
like
like
a
a
CPU
cpu
and
and
typically
typically
based
based
on
on
the
the
ARM
arm
architecture,
architecture
but
but
are
are
highly
highly
optimized
optimized
for
for
moving
moving
data
data
around.
around
They
they
handle
handle
networking
networking
functions
functions
like
like
packet
packet
processing,
processing
routing,
routing
and
and
security,
security
and
and
also
also
deal
deal
with
with
data
data
storage
storage
like
like
compression
compression
and
and
encryption.
encryption
The
the
main
main
goal
goal
is
is
to
to
relieve
relieve
the
the
CPU
cpu
from
from
any
any
data
data
processing
processing
jobs,
jobs
so
so
it
it
can
can
focus
focus
on
on
living
living
its
its
best
best
life
life
by
by
doing
doing
general
general
purpose
purpose
computing.
computing
And
and
with
with
that,
that
we've
we've
looked
looked
at
at
4
4
different
different
ways
ways
a
a
computer
computer
computes.
computes
But
but
there's
there's
one
one
more
more
wild
wild
card
card
that
that
we
we
might
might
get
get
to
to
experience
experience
in
in
our
our
lifetime,
lifetime
and
and
that's
that's
the
the
QPU
qpu
or
or
quantum
quantum
processing
processing
unit.
unit
All
all
the
the
chips
chips
we've
we've
looked
looked
at
at
so
so
far
far
deal
deal
in
in
bits,
bits
ones
ones
and
and
zeros,
zeros
but
but
quantum
quantum
computers
computers
deal
deal
in
in
qubits,
qubits
or
or
quantum
quantum
bits
bits
that
that
can
can
exist
exist
in
in
a
a
superposition
superposition
of
of
both
both
states
states
simultaneously.
simultaneously
Now,
now
a
a
cubate
cubate
can
can
represent
represent
multiple
multiple
possibilities
possibilities
at
at
once,
once
but
but
when
when
measured,
measured
it
it
collapses
collapses
in
in
to
to
one
one
of
of
the
the
possible
possible
states
states
based
based
on
on
probability.
probability
These
these
cubits
cubits
are
are
subject
subject
to
to
quantum
quantum
entanglement,
entanglement
which
which
means
means
the
the
state
state
of
of
1
1
is
is
directly
directly
related
related
to
to
another
another
no
no
matter
matter
the
the
distance
distance
between
between
them.
them
These
these
properties
properties
are
are
used
used
together
together
to
to
create
create
quantum
quantum
gates,
gates
which
which
are
are
like
like
logic
logic
gates
gates
in
in
regular
regular
computers,
computers
but
but
work
work
in
in
entirely
entirely
different
different
ways
ways
that
that
I'm
i'm
too
too
stupid
stupid
to
to
understand.
understand
What
what
I
i
do
do
understand
understand
is
is
that
that
if
if
this
this
technology
technology
ever
ever
gets
gets
good,
good
it
it
will
will
completely
completely
change
change
the
the
world.
world
Currently,
currently
cryptographic
cryptographic
systems
systems
like
like
RSA
rsa
are
are
underpinned
underpinned
by
by
the
the
fact
fact
that
that
classical
classical
algorithms
algorithms
used
used
for
for
factorization
factorization
would
would
take
take
1,000,000,000
1,000,000,000
of
of
years
years
to
to
crack
crack
with
with
brute
brute
force
force
even
even
with
with
the
the
best
best
computers
computers
of
of
today.
today
But
but
quantum
quantum
computers
computers
will
will
be
be
able
able
to
to
run
run
different
different
algorithms,
algorithms
like
like
Shor's
shor's
algorithm
algorithm
that's
that's
exponentially
exponentially
faster
faster
at
at
factorization
factorization
and
and
thus
thus
poses
poses
a
a
major
major
threat
threat
to
to
modern
modern
encryption
encryption
and
and
security.
security
Luckily,
luckily
there's
there's
no
no
quantum
quantum
here
here
today
today
that
that
can
can
run
run
this
this
algorithm,
algorithm
and
and
even
even
if
if
there
there
were,
were
they
they
sure
sure
as
as
hell
hell
wouldn't
wouldn't
be
be
telling
telling
you
you
and
and
me
me
about
about
it.
it
success
The speakers discuss the use of silicon carbide in computer technology, including its use as a processor and the implementation of the von operational architecture (VOP). They also touch on CPUs and their benefits for high-performance computing, including their cost and power consumption. The importance of CPUs for fast computing and the need for efficient GPUs for deep learning models is also discussed. The use of GPUs for fast computing and the potential for quantum processing units to create new hardware for AI applications are briefly touched upon.
CPU vs GPU vs TPU vs DPU vs QPU
In faraway lands, slaves dig the earth for beautiful gems called quartz, which contain silicon dioxide. Alchemists or chemical engineers then refine and cook them into silicon substrate, a material that can be doped to act as both a conductor and insulator. Shamans, also known as electrical engineers, then inscribe billions of microscopic symbols on them that can't be seen with the naked eye. When lightning passes through them, they can speak the incomprehensible language of binary. Highly trained wizards called software engineers, can learn this language to build powerful machines that create illusions. These illusions can then control the way people think and act in the real world. In today's illusion, I will harness this magic to pull back the veil on the almighty computer by looking at 4 different ways computers actually compute things at the hardware level. Because to put, a computer needs a p u, like a CPU, GPU, TPU, or DPU. The last 100 years have been crazy. The first truly programmable computer was the e 1, which was created by Konrad Zuse in 1936 in his mom's basement, but then it got blown up in 1943 during the bombardment of Berlin. It's entirely mechanical with over 20,000 parts. It represents binary data with sliding metal sheets. It could do things like Boolean algebra and floating point numbers and had a clock rate of 1 hertz, which means it could execute one instruction per second. To put that in perspective, modern CPUs are measured in gigahertz or billions of cycles per back in. Over the next 10 years, people thought really hard about how computers should actually work. And in 1945, we got the von Neumann architecture, which is still while used in modern chips today. It's the foundational design that describes how data and instructions are stored in the same memory space then handled by a processing unit. A couple years later, there is a huge breakthrough with the invention of the transistor, which is a semiconductor that can amplify or switch electrical signals. Like, a transistor could represent a 1 if current passes through it or a 0 if current doesn't pass through it. This was a hugely forward. Then in 1958, the integrated circuit was developed, allowing multiple transistors to be placed on in a single silicon chip. Then finally in 1971, Intel released the first commercially available microprocessor that had all the features you know and love from a modern CPU. It was a 4 bit processor, meaning it could handle 4 bits of data at a time with approximately 23 100 transistors. The clock speed was 740 kilohertz, which was extremely fast at the time. CPU's are pretty complicated. And if you really wanna learn how they work, I'd highly recommend reading CPU dot land, which does an amazing job of breaking down how they actually execute programs. It's totally free and was written by high schoolers Lexi Matic and at Hack Club, but what I wanna focus on is what they're actually used for so we can compare them to the other p u's. Like its name implies, the central processing unit is like the brain of a computer. Later. It runs the operating system, executes programs, and manages hardware. It has access to the system's RAM and includes a hierarchy of caches on the chip itself for faster data retrieval. A CPU is optimized for sequential computations that require extensive branching and logic. Like, imagine some navigation software that needs to run an algorithm to compute the shortest possible route between two points. The algorithm may have a lot of conditional logic like if else statements that can only be computed 1 by 1 or sequentially. A CPU is optimized for this type of work. Now modern CPUs also have multiple cores, which allows them to do work in parallel, which allows you to use multiple applications on your PC at the same time. And programmers can write code that does multithreading to utilize the cores on your machine to run code in parallel. Check out this video on my second channel if you wanna learn how to do that in JavaScript. Now to make a computer faster, one might think we could just add more and more CPU cores. The The only though is that CPU cores are expensive. As the core scale up, so does power consumption and the heat dissipation requirements. It becomes out of diminishing returns and the extra complexity is just not worth it. At the time of this video, 24 cores is typically the upper limit of higher end chips like Apple's m 2 Ultra and Intel's I9, but there are massive chips like the 128 core AMD EPYC designed for data centers. Now when it comes to CPUs, there are multiple different architectures out there, and that's a big deal if you're doing low level systems programming, but every developer should be familiar with ARM and x86. 64 bit x86 is what you'll find on most modern desktop computers, while ARM is what you'll find on mobile devices because it has a more with an instruction set and better power efficiency, which means better battery life. However, this distinction has been changing over the last few years, thanks to the full silicon chips, which have proven that the ARM architecture can also work for high performance computing on laptops and desktops, and even Microsoft is investing in running Windows with ARM. In addition, ARM is becoming more and more popular with cloud providers like the Neoverse chip or Amazon's Graviton 3, which allows the cloud to compute more stuff with less power consumption, which is one of the biggest expenses in a data center. But at some point, we've all hit the limitations of a CPU. Like, when I try to run pirated Nintendo 64 games on my Raspberry Pi. It lags like crazy. That's because a lot of computation is required to calculate the appearance of all the lights and shadows in a game on demand. Well, that's where the GPU comes in. A Graphics processing unit, or graphics card, is highly optimized for parallel computing. Unlike a CPU with a measly 16 cores, NVIDIA's RTX 4080 has nearly 10,000 course. Each one of these course can handle a floating point or integer computation per cycle, and that allows games to perform tons of linear algebra in parallel parallel to render graphics instantly every time you push a button on your controller. GPU's are also essential for training deep learning models that perform tons of matrix multiplication on large data sets. This has led to massive demand in the GPU market and Nvidia stock price recently landed on the moon. So he says, okay, give me $200. I gave him $200 And, um, uh, for $200, uh, I bought, um, uh, 15%. I think it was 20% of Nvidia. If GPU These have so many cores, why not just use a GPU over a CPU for everything? The short answer is that not all cores are created equal. A single CPU core is far faster than a single GPU UCOR. And its architecture can handle complex logic and branching, whereas a GPU is only designed for simple computations. Most of the code out in the world can't take advantage of parallel and needs to run sequentially with a single thread. A CPU is like a Toyota Camry. It's extremely versatile, but can't take you to the moon. A GPU is more like a rocket ship. It's really fast when you wanna go in a straight line, but not really ideal for going to pick up your groceries. As the name implies, GPUs were originally designed for graphics, but nowadays everybody wants them to train an AI that can overthrow the government. But there's actually hardware designed for that use case called the TPU or tensor processing unit. These chips are very similar to GPUs, but designed specifically for tensor operations, like the matrix multiplication required for deep learning. They were developed by Google in 2016 to integrate directly with its TensorFlow software. A TPU contains thousands of these things called multiply accumulators. Later so it allows the hardware to perform matrix multiplication without the need to access registers or shared memory like a GPU would. And if You have a neural network that's going to take weeks or months to train. A TPU could save you 1,000,000 of dollars. That's pretty cool, but that brings us to the newest type of PU, the DPU or data processing unit. The CEO of Nvidia described it as the 3rd major pillar of computing going forward, but you'll likely never use one in your own computer because they're designed specifically for big data centers. They're most like a CPU and typically based on the ARM architecture, but are highly optimized for moving data around. They handle networking functions like packet processing, routing, and security, and also deal with data storage like compression and encryption. The main goal is to relieve the CPU from any data processing jobs, so it can focus on living its best life by doing general purpose computing. And with that, we've looked at 4 different ways a computer computes. But there's one more wild card that we might get to experience in our lifetime, and that's the QPU or quantum processing unit. All the chips we've looked at so far deal in bits, ones and zeros, but quantum computers deal in qubits, or quantum bits that can exist in a superposition of both states simultaneously. Now, a cubate can represent multiple possibilities at once, but when measured, it collapses in to one of the possible states based on probability. These cubits are subject to quantum entanglement, which means the state of 1 is directly related to another no matter the distance between them. These properties are used together to create quantum gates, which are like logic gates in regular computers, but work in entirely different ways that I'm too stupid to understand. What I do understand is that if this technology ever gets good, it will completely change the world. Currently, cryptographic systems like RSA are underpinned by the fact that classical algorithms used for factorization would take 1,000,000,000 of years to crack with brute force even with the best computers of today. But quantum computers will be able to run different algorithms, like Shor's algorithm that's exponentially faster at factorization and thus poses a major threat to modern encryption and security. Luckily, there's no quantum here today that can run this algorithm, and even if there were, they sure as hell wouldn't be telling you and me about it.
The speakers discuss the use of silicon carbide in computer technology, including its use as a processor and the implementation of the von operational architecture (VOP). They also touch on CPUs and their benefits for high-performance computing, including their cost and power consumption. The importance of CPUs for fast computing and the need for efficient GPUs for deep learning models is also discussed. The use of GPUs for fast computing and the potential for quantum processing units to create new hardware for AI applications are briefly touched upon.

        [INST]
        You are youtuber called Fireship you make engaging high-intensity and entertaining coding tutorials and tech news. 
        you covers a wide range of topics relevant to programmers, aiming to help them learn and improve their skills quickly.
        
        Given the title of the video : CPU vs GPU vs TPU vs DPU vs QPU 
        and a small summary : The speakers discuss the use of silicon carbide in computer technology, including its use as a processor and the implementation of the von operational architecture (VOP). They also touch on CPUs and their benefits for high-performance computing, including their cost and power consumption. The importance of CPUs for fast computing and the need for efficient GPUs for deep learning models is also discussed. The use of GPUs for fast computing and the potential for quantum processing units to create new hardware for AI applications are briefly touched upon.
        [/INST]
        
        Generate the video : In faraway lands, slaves dig the earth for beautiful gems called quartz, which contain silicon dioxide. Alchemists or chemical engineers then refine and cook them into silicon substrate, a material that can be doped to act as both a conductor and insulator. Shamans, also known as electrical engineers, then inscribe billions of microscopic symbols on them that can't be seen with the naked eye. When lightning passes through them, they can speak the incomprehensible language of binary. Highly trained wizards called software engineers, can learn this language to build powerful machines that create illusions. These illusions can then control the way people think and act in the real world. In today's illusion, I will harness this magic to pull back the veil on the almighty computer by looking at 4 different ways computers actually compute things at the hardware level. Because to put, a computer needs a p u, like a CPU, GPU, TPU, or DPU. The last 100 years have been crazy. The first truly programmable computer was the e 1, which was created by Konrad Zuse in 1936 in his mom's basement, but then it got blown up in 1943 during the bombardment of Berlin. It's entirely mechanical with over 20,000 parts. It represents binary data with sliding metal sheets. It could do things like Boolean algebra and floating point numbers and had a clock rate of 1 hertz, which means it could execute one instruction per second. To put that in perspective, modern CPUs are measured in gigahertz or billions of cycles per back in. Over the next 10 years, people thought really hard about how computers should actually work. And in 1945, we got the von Neumann architecture, which is still while used in modern chips today. It's the foundational design that describes how data and instructions are stored in the same memory space then handled by a processing unit. A couple years later, there is a huge breakthrough with the invention of the transistor, which is a semiconductor that can amplify or switch electrical signals. Like, a transistor could represent a 1 if current passes through it or a 0 if current doesn't pass through it. This was a hugely forward. Then in 1958, the integrated circuit was developed, allowing multiple transistors to be placed on in a single silicon chip. Then finally in 1971, Intel released the first commercially available microprocessor that had all the features you know and love from a modern CPU. It was a 4 bit processor, meaning it could handle 4 bits of data at a time with approximately 23 100 transistors. The clock speed was 740 kilohertz, which was extremely fast at the time. CPU's are pretty complicated. And if you really wanna learn how they work, I'd highly recommend reading CPU dot land, which does an amazing job of breaking down how they actually execute programs. It's totally free and was written by high schoolers Lexi Matic and at Hack Club, but what I wanna focus on is what they're actually used for so we can compare them to the other p u's. Like its name implies, the central processing unit is like the brain of a computer. Later. It runs the operating system, executes programs, and manages hardware. It has access to the system's RAM and includes a hierarchy of caches on the chip itself for faster data retrieval. A CPU is optimized for sequential computations that require extensive branching and logic. Like, imagine some navigation software that needs to run an algorithm to compute the shortest possible route between two points. The algorithm may have a lot of conditional logic like if else statements that can only be computed 1 by 1 or sequentially. A CPU is optimized for this type of work. Now modern CPUs also have multiple cores, which allows them to do work in parallel, which allows you to use multiple applications on your PC at the same time. And programmers can write code that does multithreading to utilize the cores on your machine to run code in parallel. Check out this video on my second channel if you wanna learn how to do that in JavaScript. Now to make a computer faster, one might think we could just add more and more CPU cores. The The only though is that CPU cores are expensive. As the core scale up, so does power consumption and the heat dissipation requirements. It becomes out of diminishing returns and the extra complexity is just not worth it. At the time of this video, 24 cores is typically the upper limit of higher end chips like Apple's m 2 Ultra and Intel's I9, but there are massive chips like the 128 core AMD EPYC designed for data centers. Now when it comes to CPUs, there are multiple different architectures out there, and that's a big deal if you're doing low level systems programming, but every developer should be familiar with ARM and x86. 64 bit x86 is what you'll find on most modern desktop computers, while ARM is what you'll find on mobile devices because it has a more with an instruction set and better power efficiency, which means better battery life. However, this distinction has been changing over the last few years, thanks to the full silicon chips, which have proven that the ARM architecture can also work for high performance computing on laptops and desktops, and even Microsoft is investing in running Windows with ARM. In addition, ARM is becoming more and more popular with cloud providers like the Neoverse chip or Amazon's Graviton 3, which allows the cloud to compute more stuff with less power consumption, which is one of the biggest expenses in a data center. But at some point, we've all hit the limitations of a CPU. Like, when I try to run pirated Nintendo 64 games on my Raspberry Pi. It lags like crazy. That's because a lot of computation is required to calculate the appearance of all the lights and shadows in a game on demand. Well, that's where the GPU comes in. A Graphics processing unit, or graphics card, is highly optimized for parallel computing. Unlike a CPU with a measly 16 cores, NVIDIA's RTX 4080 has nearly 10,000 course. Each one of these course can handle a floating point or integer computation per cycle, and that allows games to perform tons of linear algebra in parallel parallel to render graphics instantly every time you push a button on your controller. GPU's are also essential for training deep learning models that perform tons of matrix multiplication on large data sets. This has led to massive demand in the GPU market and Nvidia stock price recently landed on the moon. So he says, okay, give me $200. I gave him $200 And, um, uh, for $200, uh, I bought, um, uh, 15%. I think it was 20% of Nvidia. If GPU These have so many cores, why not just use a GPU over a CPU for everything? The short answer is that not all cores are created equal. A single CPU core is far faster than a single GPU UCOR. And its architecture can handle complex logic and branching, whereas a GPU is only designed for simple computations. Most of the code out in the world can't take advantage of parallel and needs to run sequentially with a single thread. A CPU is like a Toyota Camry. It's extremely versatile, but can't take you to the moon. A GPU is more like a rocket ship. It's really fast when you wanna go in a straight line, but not really ideal for going to pick up your groceries. As the name implies, GPUs were originally designed for graphics, but nowadays everybody wants them to train an AI that can overthrow the government. But there's actually hardware designed for that use case called the TPU or tensor processing unit. These chips are very similar to GPUs, but designed specifically for tensor operations, like the matrix multiplication required for deep learning. They were developed by Google in 2016 to integrate directly with its TensorFlow software. A TPU contains thousands of these things called multiply accumulators. Later so it allows the hardware to perform matrix multiplication without the need to access registers or shared memory like a GPU would. And if You have a neural network that's going to take weeks or months to train. A TPU could save you 1,000,000 of dollars. That's pretty cool, but that brings us to the newest type of PU, the DPU or data processing unit. The CEO of Nvidia described it as the 3rd major pillar of computing going forward, but you'll likely never use one in your own computer because they're designed specifically for big data centers. They're most like a CPU and typically based on the ARM architecture, but are highly optimized for moving data around. They handle networking functions like packet processing, routing, and security, and also deal with data storage like compression and encryption. The main goal is to relieve the CPU from any data processing jobs, so it can focus on living its best life by doing general purpose computing. And with that, we've looked at 4 different ways a computer computes. But there's one more wild card that we might get to experience in our lifetime, and that's the QPU or quantum processing unit. All the chips we've looked at so far deal in bits, ones and zeros, but quantum computers deal in qubits, or quantum bits that can exist in a superposition of both states simultaneously. Now, a cubate can represent multiple possibilities at once, but when measured, it collapses in to one of the possible states based on probability. These cubits are subject to quantum entanglement, which means the state of 1 is directly related to another no matter the distance between them. These properties are used together to create quantum gates, which are like logic gates in regular computers, but work in entirely different ways that I'm too stupid to understand. What I do understand is that if this technology ever gets good, it will completely change the world. Currently, cryptographic systems like RSA are underpinned by the fact that classical algorithms used for factorization would take 1,000,000,000 of years to crack with brute force even with the best computers of today. But quantum computers will be able to run different algorithms, like Shor's algorithm that's exponentially faster at factorization and thus poses a major threat to modern encryption and security. Luckily, there's no quantum here today that can run this algorithm, and even if there were, they sure as hell wouldn't be telling you and me about it.
        