PDCON:Conference/GPU audio signals processing in Pd, and PDCUDA, an implementation with the CUDA runtime API: Difference between revisions

From Medien Wiki
No edit summary
mNo edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
== Graphics Processing Unit audio signals processing in Pure Data, and PdCUDA an implementation with the CUDA runtime API==
== Graphics Processing Unit audio signals processing in Pure Data, and PdCUDA an implementation with the CUDA runtime API==
Author:Charles Henry
Author: Charles Henry
 
Download full paper: [[Media:Graphics Processing Unit Audio Signals Processing in Pd and PdCUDA an Implementation with the CUDA Runtime API.pdf]]


An implementation named PdCUDA is presented for use of graphics processing unit (GPU) general programming capability for audio signals processing with [[Pure Data]] and the CUDA runtime application programmers interface (API). The goal of PdCUDA is to make uniformly efficient the development of CUDA based externals and their usage in Pd. In PDCUDA, the Pd source code is patched to enable the creation of CUDA digital signals processing (DSP) contexts, in which signal memory is allocated in GPU memory and DSP operations are performed by the GPU. This capability is made accessible to users in Pd's graphical patching environment by modifying the canvas class. PdCUDA adds a new canvas creation method for the symbol “cucanvas” which identifies that the underlying DSP context for that canvas uses CUDA. Memory transfer between host and GPU explicitly occurs between signals in a non-root canvas and its parent canvas. The Pd source code for DSP scheduling is reviewed for existing methods of optimizing memory access and avoiding latency. PdCUDA provides shared/static libraries of functions and a header file comprising an API for externals developers.
An implementation named PdCUDA is presented for use of graphics processing unit (GPU) general programming capability for audio signals processing with [[Pure Data]] and the CUDA runtime application programmers interface (API). The goal of PdCUDA is to make uniformly efficient the development of CUDA based externals and their usage in Pd. In PDCUDA, the Pd source code is patched to enable the creation of CUDA digital signals processing (DSP) contexts, in which signal memory is allocated in GPU memory and DSP operations are performed by the GPU. This capability is made accessible to users in Pd's graphical patching environment by modifying the canvas class. PdCUDA adds a new canvas creation method for the symbol “cucanvas” which identifies that the underlying DSP context for that canvas uses CUDA. Memory transfer between host and GPU explicitly occurs between signals in a non-root canvas and its parent canvas. The Pd source code for DSP scheduling is reviewed for existing methods of optimizing memory access and avoiding latency. PdCUDA provides shared/static libraries of functions and a header file comprising an API for externals developers.


=== See also ===
<videoflash type="vimeo">36252132|700|400</videoflash>
*[[Abbreviations]]




{{Template:PdCon11}}
{{Template:PdCon11}}

Latest revision as of 01:03, 6 February 2012

Graphics Processing Unit audio signals processing in Pure Data, and PdCUDA an implementation with the CUDA runtime API

Author: Charles Henry

Download full paper: Media:Graphics Processing Unit Audio Signals Processing in Pd and PdCUDA an Implementation with the CUDA Runtime API.pdf

An implementation named PdCUDA is presented for use of graphics processing unit (GPU) general programming capability for audio signals processing with Pure Data and the CUDA runtime application programmers interface (API). The goal of PdCUDA is to make uniformly efficient the development of CUDA based externals and their usage in Pd. In PDCUDA, the Pd source code is patched to enable the creation of CUDA digital signals processing (DSP) contexts, in which signal memory is allocated in GPU memory and DSP operations are performed by the GPU. This capability is made accessible to users in Pd's graphical patching environment by modifying the canvas class. PdCUDA adds a new canvas creation method for the symbol “cucanvas” which identifies that the underlying DSP context for that canvas uses CUDA. Memory transfer between host and GPU explicitly occurs between signals in a non-root canvas and its parent canvas. The Pd source code for DSP scheduling is reviewed for existing methods of optimizing memory access and avoiding latency. PdCUDA provides shared/static libraries of functions and a header file comprising an API for externals developers.

<videoflash type="vimeo">36252132|700|400</videoflash>



Kreativfonds Bauhaus-Univeristät WeimarElectronic Arts Blog für digitale SpielkulturThe Mozilla FoundationAllied Vision TechnologiesFreistaat ThüringenBauhaus-Universität WeimarHochschule für Musik Franz Liszt WeimarFraunhofer Institute for Digital Media Technology IDMTStadt WeimarKlassik Stiftung WeimarNKFaculty of MediaStudio for electro-acoustic MusicKulturTragWerk e.V.Elektronisches Studio der TU BerlinMaschinenraum Hackerspace WeimarRadio Lotte WeimarSponsors and partners of the 4th internationals Pure Data Convention in Weimar 2011

4th international Pure Data Convention 2011 Weimar ~ Berlin