Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Desktop GPUs only got instruction-level preemption not that long ago

And even then it's often limited to already scheduled shaders in the queue - things like the register files being statically allocated at task schedule time means you can't just "add" a task, and removing a task is expensive as you need to suspend everything, store off the (often pretty large) register state and any used shader local data (or similar), stop that task and deallocate the shared resources. It's avoided for good reason, and even if it's supported likely a rather untested buggy path.

If you run an infinite loop on even the latest Nvidia GPU (with enough instances to saturate the hardware) you can still get "hangs", as it ends up blocking things like composition until the driver kills the task. It's still nowhere near the experience CPU task preemption gives you.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: