News for hackers. Stuff that matters.
Re:Arm Announces Cortex-R82: First 64-Bit Real Time Processor by ChuckMcM on Monday September 07, 2020 @03:00PM (#24401717)
I'm pretty excited by this announcement. Not for storage but for software defined radios. If Xilinx upgrades their RFSOC (which is an Zynq Ultrascale variant with built in ADCs and DACs) to this core from the current A53 core it will allow much more sophisticated base band processing in software that is currently done with FPGA gates in the fabric. And while reconfigurable FPGAs are nice, software can change modes much more quickly than reconfiguring an FPGA can.
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.
Re:Arm Announces Cortex-R82: First 64-Bit Real Time Processor by noipv4 on Monday September 07, 2020 @05:11PM (#24402922)
I would be keen to see if GNSS-SDR can run on a multicore version of this CPU. We are developing fully software GPS / Galileo receivers using the Analog devices AD9364, and are able to run it on a quad core Kaby lake laptop.
Re:Arm Announces Cortex-R82: First 64-Bit Real Time Processor by rurban on Tuesday September 08, 2020 @02:31AM (#24405728)
Why do you need more than 2GB in real-time? In real-time the less the better. 64bit puts a huge burden on everything, the MMU also. Now people will start using operating systems which are not built for RT, like Linux, and wonder why the cycles start failing and the system constantly reboots. Driver availiability of course which drives down HW costs, but best use an extremely limited IO and only one fast IO to meet your cycle goals.

I see that it's better than a custom FPGA, but a normal 32bit rt cpu with half the memory pressure and pointer size looks much better to me.

Re:Arm Announces Cortex-R82: First 64-Bit Real Time Processor by ChuckMcM on Tuesday September 08, 2020 @02:33PM (#24411380)
I take it you haven't processed SAR data :-). In the Zynq Ultrascale series you can have DDR hanging off the fabric that is accessible through the AMBA bus to the processor. Having multiple cores doing overlapping convolutions on spectral data in RAM can run fast enough to give real time tracking latencies.
Re:Arm Announces Cortex-R82: First 64-Bit Real Time Processor by bfrog on Monday September 07, 2020 @03:06PM (#24401768)
They probably won't though, because the R core I don't believe has an MMU for Linux
Re:Arm Announces Cortex-R82: First 64-Bit Real Time Processor by idiot900 on Monday September 07, 2020 @03:08PM (#24401788)
From the article: "Another big change to the microarchitecture is the inclusion of an MMU"
Re:Arm Announces Cortex-R82: First 64-Bit Real Time Processor by bfrog on Monday September 07, 2020 @03:29PM (#24401979)
This is pretty massive! If fpga vendors provide this, what a great addition.
Re:Arm Announces Cortex-R82: First 64-Bit Real Time Processor by ChuckMcM on Monday September 07, 2020 @09:44PM (#24404503)
Hence my enthusiasm :-)
Re:Arm Announces Cortex-R82: First 64-Bit Real Time Processor by sitkack on Tuesday September 08, 2020 @08:57AM (#24407909)
What level of interposition can one do with these hard cpu cores? Are the cache eviction policies pluggable? Is "user code" in the path between the cpu and main memory?
Re:Arm Announces Cortex-R82: First 64-Bit Real Time Processor by ChuckMcM on Tuesday September 08, 2020 @06:28PM (#24414320)
On the Ultrascale Zynq's you can build RAM that is attached to the fabric and available to the processor across the AMBA bus. It isn't something I personally have played with a whole bunch so I can't give you a better answer then to look at the Zynq data sheets.

I do know you can make user hardware "appear" as memory to the main CPU.

Re:Arm Announces Cortex-R82: First 64-Bit Real Time Processor by sitkack on Tuesday September 08, 2020 @10:20PM (#24416154)