4 ms·
> My understanding is that CPU/GPU per application can make only single draw call in sequential manner. The limitation you're probably thinking of is in the Op
by milkey_mouse 6y ago
> My understanding is that CPU/GPU per application can make only single draw call in sequential manner.
The limitation you're probably thinking of is in the OpenGL drivers/API, not in the GPU driver itself. OpenGL has global (per-application) state that needs to be tracked, so outside of a few special cases like texture uploading you have to only issue OpenGL calls from one thread. If applications use the lower-level Vulkan API, they can use a separate "command queue" for each thread. Both of those are graphics APIs, I'm less familiar with the compute-focused ones but I'm sure they can also process calls from multiple threads.
- milkey_mouse 6y agoAnd VGPUS are isolated from one another, that's the whole point-so using multiple in one application would be very difficult, as I don't think they can share data/memory in any way.
- neatze 6y agoMy primitive thoughts: Threaded Computation on CPU -> Single GPU Call -> Parallel Computation on GPU -> Threaded Computation on CPU ... I wonder if it can be used in such way: Asyc Concurrent Computation on CPU -> Asyc Concurrent GPU Calls -> Parallel Time Independent Computations on GPU -> Asyc Concurrent Computation on CPU