Source

Branch

1/ @AgileJebrim

@NOTimothyLottes

What about when each stage depends upon the results of the previous stage?

2/ @AgileJebrim

@NOTimothyLottes

I guess that’s the same question as this. I think it’s still fine to have some gaps when syncing but to better aim for more evenly distributed execution times between cores and to keep these sync points to a minimum.

https://x.com/jakubtomsu_/status/1946485199006498933?s=46&t=ZbNecpPBsBMrvteeaA6IcA

3/ @NOTimothyLottes

@AgileJebrim

What do you do if a worker in a wide-multithread dependency chain gets preempted? The house of cards should fall right? Or one can offer self healing, instead of waiting on a specific fine grain dependency, use work duplication to avoid waiting.

4/ @AgileJebrim

@NOTimothyLottes

You just don’t allow for preemption to occur. I assume we’re talking OS/CPUs at this point rather than GPUs. You pin threads to cores and assign them the highest criticality/priority. On Linux we use the FIFO scheduler and isolate the OS, drivers, and IRQs to non-critical cores.

5/ @AgileJebrim

@NOTimothyLottes

There’s a bit of OS configuration involved to achieve this.

6/ @AgileJebrim

@NOTimothyLottes

Disabling SMT/hyperthreading is another one.

7/ @AgileJebrim

@NOTimothyLottes

All of this works fine if you control the hardware and system yourself but is more problematic if you don’t. This is one of many reasons why I’d prefer living within a GPU dispatch instead. Much harder to get interrupted by anything and much more portable on end user machines.

8/ @NOTimothyLottes

@AgileJebrim

Unfortunately consumer platforms with GPUs have OEM overlords who take over the GPU with irregular behavior for their purposes. Things like multi-monitor with OS windowing compositors are norm and highly irregular behavior.

9/ @AgileJebrim

@NOTimothyLottes

Even NVIDIA’s DriveOS/Tegra platform with Vulkan SC is using a compositor. That surprised me.

10/ @AgileJebrim

@NOTimothyLottes

Ironically their non-certified Vulkan SC driver on Windows does not and completely bypasses it with direct to display.

11/ @AgileJebrim

@NOTimothyLottes

Quite frankly, I think we in the flight sim industry should consider using direct-to-display. See this extension:

VK_KHR_display