Sep 5 – 9, 2023
ASU Memorial Union (2nd Floor)
US/Arizona timezone
GRCon23 will be running from Tuesday Sept 5 to Saturday Sept 9 this year.

Behind CyberEther: Metal Hardened Portable GPU Accelerated Interface

Sep 7, 2023, 1:15 PM
Arizona (MU 221) (ASU Memorial Union 2nd Floor)

Arizona (MU 221)

ASU Memorial Union 2nd Floor

Talk Hardware Accelerated Applications Main Track


Luigi Cruz (SETI Institute)


This year's talk will focus on the progress made in the development of CyberEther since last year's presentation. Software development has progressed significantly, and it's time for a new update. We will discuss the latest features and improvements, including brand-new DSP acceleration on Metal (inside Apple Silicon’s GPU) and support for Vulkan which makes it possible to use CyberEther on Linux. The software has reached a point where it can run natively on both iPhone and iPad devices. I will also share the development roadmap for future CyberEther updates and its integration with GNU Radio. Attendees will learn how CyberEther can improve their signal processing tasks and how they can easily implement it in their applications. A live signal-oriented demo will be presented to showcase CyberEther's capabilities. During this demonstration, attendees will have the opportunity to witness the power of CyberEther in action and see how it can be applied to solve tasks.

CyberEther provides a GPU-accelerated frequency sink interface, including 2D Waterfall, Lineplot, and Spectrogram displays. It utilizes modern graphical APIs such as Metal and Vulkan. Its internal Digital Signal Processing (DSP) is accelerated using parallel computing APIs like CUDA, Metal, and Vulkan whenever possible. CyberEther is modular, allowing it to adapt to the target device and run with the best-supported combination possible. On an Apple Silicon device, CyberEther leverages Metal for both graphical and compute processing. Meanwhile, Raspberry Pi users can expect Vulkan for graphical processing and VkFFT for DSP, while Linux desktop users will find CyberEther using Vulkan for graphical processing and CUDA for DSP.

The CyberEther interface is written in modern C++20 and is portable. It can be easily implemented in an application with minimal changes. The interface has minimal core dependencies and acceleration and graphical modules are loaded only if all dependencies are available at compilation time, which avoids dependency issues.

This talk will also demonstrate CyberEther as a GNU Radio out-of-tree module and explain how the internal DSP works. The development process and tips for optimizing heterogeneous computing will be shared.

Talk Length 30 Minutes
Link to Open Source Code

Primary author

Luigi Cruz (SETI Institute)

Presentation materials