3 ms·
GPU's suck at general loads. Let the CPU worry about the boring general nonsense like data shuffling and just hand the GPU massively parallel workloads like gra
by MisterTea 3y ago
GPU's suck at general loads. Let the CPU worry about the boring general nonsense like data shuffling and just hand the GPU massively parallel workloads like graphics, computations and so on. Let it do what it does best and let DMA handle the rest. Horses for courses.
- gumballindie 3y agoI am aware of their limitations. But I al wondering if there’s a way to make GPU cores behave like a single unit, or larger units like cpu cores, when needed - somehow to process data in a sequence of instructions, when needed and in parallel when not. Just thinking out loud. As I am playing around with GPUs for various reasons I am simply amazed at how versatile they are. One fun hack I wanted to make was a database function that would let me update database record on the GPU. One could implement the function as a kernel and have it update tens of thousands of records in one go. The bottleneck is reading data from disk, to cpu / ram, to gpu. Instead of there was a way to read data directly from disk, all records could be loaded in VRAM at once and data updated. I think for a good number of use cases databases are prime candidates for parallel processing. Each record being processed by a kernel. For gaming a significant bottleneck is moving texture and mesh data between disks, cpus, and the gpu. Essentially, I think the main component of a PC could be the GPU while the CPU is there to execute block operations - if there is no way to “fuse” gpu cores as per my first paragraph. I just think there’s a lot of performance left on the table otherwise. For ml inference at edge for instance all you need is a GPU with a network card and extremely fast storage. All of which are available but bottlenecked by the cpu.