this post was submitted on 27 Nov 2023
1 points (100.0% liked)

Hardware

33 readers
1 users here now

A place for quality hardware news, reviews, and intelligent discussion.

founded 11 months ago
MODERATORS
 

Afaik, gpu cores a very stripped down cpu cores that do basic math, but what sort of math can cpus do that gpus can't

I'm talking, cpu core vs Tensor/Cuda cores.

top 4 comments
sorted by: hot top controversial new old
[–] [email protected] 2 points 9 months ago

to truly understand the difference u need to get into the weeds of low level physical implementation of logic instruction sets. the "bloat" of a cpu mostly has to do with striving to speed up the processing of sequential, order-sensitive instructions. unlike gpu which can be massively parallel.

[–] [email protected] 1 points 9 months ago
[–] [email protected] 1 points 9 months ago (1 children)

In terms of pure math, CPU and GPU cores are actually pretty equal. However, GPU cores lack a TON of other essential features supported by a modern CPU. For example...

Features needed for secure multitasking:

  • Protection rings
  • Virtual memory/paging
  • Virtualization

Features needed to manage the system's hardware:

  • Programmable interrupts
  • Memory-mapped I/O
  • System Management Mode

Features needed for high performance in workloads that aren't massively parallel:

  • Simultaneous multithreading
  • Branch prediction
  • Out-of-order execution/register renaming

GPU cores are pure math machines with minimal capabilities outside of that. CPU cores are multipurpose monstrosities that spend surprisingly little of their time adding numbers together (and most of the addition that does happen is just calculating memory addresses).

[–] [email protected] 1 points 9 months ago

Simultaneous multithreading

For what it's worth, GPUs are kind of getting SMT now with the advent of dedicated asynchronous queues for compute and memory transfers. Modern GPUs are able to draw primitives, run compute shaders and perform DMA transfers from CPU to GPU at the same time, with the first two even using the same hardware. Of course you need to be careful with where you do these as there can be hardware resource conflicts, but you can do something kind of like SMT to make use of otherwise idle hardware while the GPU is doing other work.