News for hackers. Stuff that matters.
Re:Arm Announces Cortex-R82: First 64-Bit Real Time Processor by dragontamer on Monday September 07, 2020 @03:05PM (#24401762)
Question: are GPUs a consideration in the SDR world?

I'm no expert on SDR, but it seems to me that SDRs are the high bandwidth and parallel workloads where GPUs excel in. (GPUs can perform fourier transforms very efficiently)

The only possible qualm would be the latency of a GPU. But I don't imagine that SDR workloads are very latency sensitive? Or am I mistaken there?

GPU kernels are just software, but the parallel nature of GPUs means that it's better if most of the GPU is sharing the same code (very small L1 code cache per thread). So it's far more flexible than a FPGA but somewhat less flexible than a CPU (where different cores and threads can be executing very different code with large and unique L1 caches)

Re:Arm Announces Cortex-R82: First 64-Bit Real Time Processor by ChuckMcM on Monday September 07, 2020 @03:19PM (#24401886)
Yes! There is a very active community of using Cuda to do signal processing[1].

Latency is an interesting thing, its always part of the SDR pipeline since you have filter delays and processing delays. Most digital streams are uni-directional so you get the bits out, just shifted by 'x' nS. Since the 'x' is deterministic you can plan for it.

[1] https://github.com/rapidsai/cusignal

Re:Arm Announces Cortex-R82: First 64-Bit Real Time Processor by CamperBob2 on Monday September 07, 2020 @04:23PM (#24402463)
That's pretty cool. I don't know anyone who does realtime signal processing work in Python, though, least of all myself. Are there C bindings for all of that stuff?
Re:Arm Announces Cortex-R82: First 64-Bit Real Time Processor by ChuckMcM on Monday September 07, 2020 @04:33PM (#24402577)
Nearly all of the "heavy lifting" as it were are C or C++ libraries. Python is just the 'plumbing' level. It is not dissimilar to using MATLAB where the drivers are all optimized code but the connection between them is MATLAB.

This design pattern is a common of nearly all SDR frameworks (Gnuradio, Redhawk, Pothos, Etc.) The "interconnect" between processing elements is typically shared memory, and that is why it lends itself to GPU work as well.

That said, since my head is most comfortable thinking in C, I tend to write stuff in C rather than Python :-).

Re:Arm Announces Cortex-R82: First 64-Bit Real Time Processor by ksaj on Monday September 07, 2020 @04:35PM (#24402603)
I'm not sure if this is precisely what you are looking for, but it's been on my radar for a while for a potential upcoming project. It has limitations (64-bit Windows only, for one) which is why I haven't acted on it yet. But it is part of my pre-project research just the same.

https://github.com/taroz/GNSS-SDRLIB

Re:Arm Announces Cortex-R82: First 64-Bit Real Time Processor by 01100011 on Monday September 07, 2020 @06:04PM (#24403331)
NVIDIA and Ericsson are already working on leveraging GPUs for 5G:

https://www.ericsson.com/en/blog/2020/4/hardware-acceleratio...

I don't know if this involves baseband processing or just protocols and tighter coupling of applications to the network to reduce overall latency.

This effort is certainly driving a reduction in jitter which is currently an issue with many realtime GPU applications.

Re:Arm Announces Cortex-R82: First 64-Bit Real Time Processor by mhh__ on Monday September 07, 2020 @03:28PM (#24401967)
I've seen it done on the PC side, but (at least on my budget) implementing a GPU, and an FPGA, and the actual SDR I haven't seen. It's definitely a good idea but whereas I could definitely do a decent spec arm board with enough time and prototypes to get it right, I don't even know where to start when it comes to even getting a GPU to boot.