Back To Schedule

Symphony of a Thousand

GPU Synthesis With Massively Parallel Oscillators

14:00 - 14:50 Wednesday 13th November 2024 BST Empire
Intermediate
Advanced

In the last few years, there has been an increasing interest in GPU DSP research. While the GPU brings highly parallel processing to the mix, the problems in implementing the real-time requirements and data flow of a GPU audio pipeline are well known. However, one aspect that remains challenging is finding the GPU "killer apps" for audio: desirable use cases where the GPU really shines and outclasses a classical CPU implementation for the everyday musician.

This talk is about the journey of finding a synthesis algorithm where the GPU can shine. We present a "massively parallel synthesizer" with a "massively parallel sound" at the musician's fingertips, by running hundreds of oscillators in unison on the GPU.

This talk will cover the design, implementation, the tradeoffs and compromises needed to build such a GPU synthesizer. We will describe the algorithms as they are implemented in NVIDIA CUDA and are based on relatively straightforward wavetable synthesis, though at a rate of parallelism that would be unfeasible for a CPU implementation. We show how to leverage JUCE to build our synthesizer app and how to interface with the CUDA kernels to create an early proof-of-concept.

The usual real-time challenges such as CPU-GPU copying, latency and buffering are addressed, and more hands-on issues such as interopability with 3D graphics running on the same GPU as well as real-time scheduling and persistent kernels will be covered as well as needed.

We purposely target lower-end hardware (such as NVIDIA Tegra) to explore the feasibility of a GPU synthesizer on consumer hardware, but also to enable a possible path towards a standalone "GPU hardware synthesizer" in the future.

Cecill Etheredge

CTO

KoalaDSP B.V.

In daily life, Cecill serves as the Technical Director of KoalaDSP, a European startup focused on whitelabel DSP, middleware and audio plugin development for major industry players. In the remaining hours, Cecill channels his engineering skills and artistic flair into tackling challenging and complex problems, driven by a classic hacker ethos and curiosity. With a lifelong passion for technology and music, and over 20 years of experience in areas involving hardware, games, graphics, audio & algorithms, Cecill is still on a never-ending journey to learn, to create impactful innovations, and to share the lessons learned with others.

Cecill's experience with GPGPU began in 2008 during the early days of NVIDIA CUDA and Cg with the development of custom graphics rasterization and voxel raytracing algorithms at the University of Twente. This led to a more prominent role in researching & creating mass-spring physics algorithms in CUDA for medical systems with sub-millisecond real-time haptics. The drive to explore new uses for GPGPU has never left ever since. Today, with GPGPU technology more relevant than ever, the integration of GPGPU and audio has become particularly significant and personally relevant.