4 ms·
Modern gpus (last 5 years) are optimized for GPGPU in addition to graphics. They also have preemptive multitasking on either a per batch or per workgroup basis.
by bjwbell 11y ago
Modern gpus (last 5 years) are optimized for GPGPU in addition to graphics. They also have preemptive multitasking on either a per batch or per workgroup basis.
Intel's latest gpu architecture has an embedded OS running on the gpu for scheduling command batches, I'm not sure what AMD and Nvidia do.
I still wouldn't write a general purpose OS for it.
- AlphaSite 11y agoAre you talking about Phi or their actual GPUs?
- CyberDildonics 11y agoThe Phi has it's own OS running on it. It will also be sold in stand alone chips soon
- pandaman 11y ago>Intel's latest gpu architecture has an embedded OS running on the gpu for scheduling command batches, I'm not sure what AMD and Nvidia do. Same on AMD and NVidia, except it's been like this for the past 10-15 years (depending if you count at the bottom or at the top of the hardware release pipeline).
- greggman 11y agoI think we have different definitions of "preemptive multitasking". There is no GPU I know of that can be preempted once given a command to draw. Once it starts if that drawing command takes 30 seconds there's no preempting it. This is why Windows has a timeout that resets the GPU if it doesn't respond. (I believe other OSes have added that feature but I'm not 100% sure). Anyway, I've yet to use a GPU or an OS that supports preempting the GPU. I'd be happy to be proven wrong. I can also give you samples to test. It doesn't require fancy shaders. All it requires is lots of large polygons in one draw call.
- bjwbell 11y agoThat's what I know too for graphics draw calls. For GPGPU there's been hard work for finer grained preemption, last I looked into it (~1yr ago) on Linux it was a work in progress to put it kindly. If you're curious, lookup the Intel Broadwell GPU specs, there's sections devoted to the various levels of preemption. If you're really curious look up the workarounds needed for the finest grained preemption (this would be preempting a single GPGPU draw call). Then decide enabling fine grained preemption should probably wait for Skylake, unless you took too much Adderall and no challenge sounds impossible. Do I speak from personal experience? I plead the fifth. I've no experience with how fine grained nvidia's preemption is.