What would you call it if you had one filled with GPUs and another filled with LimeSDR-QPCIe boards? Iâm sure @g4guo would find a good use for such a configuration
After reading @g4guo post with curiosity, I realized I have been ignoring GPU for years as the new computing breakthrough. Iâve had the misleading concept that GPU would apply only for the gaming community and I was terribly wrong.
There are many articles, books, college classes and lots of academic work on GPU applied for DSP and SDR. I even realized that GPU skill set has been present in the several job description for open position in the industry.
I decided to order the GTX1080TI card to embark on this land of GPU programming for DSP and assisted by CPU and FPGA: they brand this methodology as âheterogeneousâ computing.
PCIe 4.0 will probably be the winner in this heterogeneous computing architecture: it is a mature protocol for power-hungry, high-performance applications.
I will try playing with the openairinterface5g using FPGA to accelerate the PHY and using GPU to accelerate L1/L2.
What I find even more exciting is the direction NVIDIA are moving with their Jetson devices.
Where they are combining high speed ARM cores and their GPU technology on the same
piece of silicon sharing the same RAM. This is being driven by Robotics and Self drive vehicles
but is equally suitable for SDR at the âedgeâ. Certainly a technology worth watching.
@robalenper The one thing I would caution you about using GPUs is system latency, you only really get
the big improvement in performance when you can batch many operations together, which with interactive
systems maybe an issue. This is principally down to memory caching on the GPU, GPUs have much smaller
caches than CPUs and there is a huge difference in access time between the different types of GPU memory.
I expect this to become less of a problem in the future as the technology advances though.
@g4guo Yes, single-GPU or multi-GPU programming is a very different paradigm, meaning that we can âconfidentlyâ write code which will badly perform less with GPUs than with a single CPU.
It may require years of GPU programming experience, so it is advisable to start learning sooner even when it is already late in the game
Thought the future was here. Or maybe I misunderstood what problem HBM memory solves.
Now I had another thought. Bitcoin mining went from CPUs to GPUs to ASICs as level of difficulty rose. Would one of these ASICs be useful in the SDR world? Or are they too specific? Iâm not sure but Iâd guess those hashing ASICs are literally a one-trick pony. So maybe I have my answer and itâs âno they wouldnât be useful hereâ. Oh I hear that GPUs are still used in mining etherium (I think).
I think the answer is in the name ASIC âApplication Specific Integrated Circuitâ
If you have a specific application and the volume then an ASIC would be best.
As hobbyists we are limited by cost, so we just have to use what we can afford
and GPUs provide a lot of bang for your buck (thanks to you gamers out there).
I would think of the FPGA as before the ASIC. But anyway you remind me that bitcoin mining did go to FPGA for a short time I think. GPU->FPGA->ASIC.
Yep some of us hobbyists are cheapskates on a budget. Thatâs kind of what I was getting at with the mention of those mining ASICs. Since theyâve gone through a generation or two by now I was guessing maybe they can be found for cheap. But as weâve touched on they may be too âspecificâ to be useful in SDR. I think they only do sha256 checksums over and over, comparing, and repeat. So GPUs are the way to go.
I have not looked at GPUs but I think AMD and Nvidia use different toolkits.
####Update: There is OpenCL for AMD and CUDA for Nvidia but Vulkan is here now and I think thatâs the API to use/learn. Well at least for Linux and no knowledge of mac/win.