Using multiple LimeSDRs with a Thunderbolt 3 dock

This type of massive GPU expansion via PCIe Gen3 x16 may become common in computing clouds:

Connecting 4 cables of PCIe Gen3 x16 (i.e. 505 Gb/s):

http://www.onestopsystems.com/4u-compute-accelerator-geforce-gtx1080-gpus

Of course, TB3 is a compromise for consumer electronics products.

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 :slight_smile:

Especially if they were Volta based GPUs

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.

https://gitlab.eurecom.fr/oai/openairinterface5g/tree/master

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.

  • Charles

@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.

  • Charles

@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 :slight_smile:

1 Like

At $2,599 LimeSDR-QPCIe boards cost more than NVIDIAs most expensive graphics cards!

If we can get anywhere near to NVIDIA volumes I am confident that we could bring the cost down :smiley:

1 Like

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.

After ASICs there are FPGAs “Field Programmable Gate Arrays” which are more
general purpose and are becoming easier to program especially with things
like Xilinx’s SDSoC
https://www.xilinx.com/products/design-tools/software-zone/sdsoc.html
Large FPGAs are expensive.

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).

  • Charles

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.