There's a commensurate list of the energy cost of all these operations: Getting a double variable from RAM is orders of magnitude more costly than squaring the 64-bit floating point value you just loaded.
Makes sense really but it’s odd to think about that overall CPU power draw is just the sum of tiny amounts of energy lost each operation, and that the type of operation may impact power draw, rather than program’s utilization of resources.
Huh, I knew division was slow but 20-100 cycles? That's insane. So that means if you need to do repeated divisions with the same divisor it's cheaper to calculate its inverse and then multiplying each time? Or can compilers already do that as optimization?
I love how as the access time got slower and slower, the talk got faster and faster 😂
I was running out of time!
As data access gets slower, we need smaller protocol overhead.
Speedrunning a talk that compares the speed of computers to humans, I love it
Sad this talk had to be cut short, I would have enjoyed a slightly longer version!
I think I saw an old, longer, talk about this a few years ago.
There's a commensurate list of the energy cost of all these operations: Getting a double variable from RAM is orders of magnitude more costly than squaring the 64-bit floating point value you just loaded.
Makes sense really but it’s odd to think about that overall CPU power draw is just the sum of tiny amounts of energy lost each operation, and that the type of operation may impact power draw, rather than program’s utilization of resources.
Also listen to the podcast Two's Complement; they had an episode about that topic 😊
loved it!
Matt is the funniest guy! Great talk!
Huh, I knew division was slow but 20-100 cycles? That's insane. So that means if you need to do repeated divisions with the same divisor it's cheaper to calculate its inverse and then multiplying each time? Or can compilers already do that as optimization?
You'd be switching to float arithmetic which might mess up the modulo use-case. But for other applications your suggestion sounds interesting.
Compilers have been implementing division using multiply by reciprocal for decades. Check out godbolt compiler explorer for details.
Interesting perspective, too bad the presentation was cut short.
This talk was so long, I could've gone down to L3 cache and back.
Genius idea🤯
Most computers can't move on there own. So like 0 km/h. (That's about 0 miles per hour)
So this talk is about 200 ns if an AI were to watch it.
The main takeaway from this talk is, that humans are way too slow.