Weh. I have too many projects, but just had an idea for another one... Porting as many gnuradio function blocks to vulkan compute shaders as I can, as well as looking into a way to make a single block automatically pick "CPU vs GPU" based on their neighbors if they don't already have a mechanism for that. (to avoid extra copies between host and accelerator memory just for jellybean "intermediate" blocks, without incurring copies by making those blocks require the accelerator)
(Unfortunately the only way I can think of is either "naive" and problematic if you have multiple "either" blocks next to each other, or relying on the flow graph compiler to know about buffer typing and alternate implementations. The logic would be that blocks that have a single impl can bind a chain of 'either' blocks to that impl, but "preferring" the GPU if you have a GPU->intermediates->CPU chain)