Please use this identifier to cite or link to this item: https://hdl.handle.net/10316/102133
Title: GPU processing of 3D audio
Other Titles: GPU processing of 3D audio
Authors: Costa, Guilherme Miguel Matos
Orientador: Fonseca, Nuno Miguel da Costa Santos
Paiva, Rui Pedro Pinto de Carvalho e
Keywords: Unidade de Processamento Gráfico de Propósito Geral; Metal; Motor de renderização de audio na Placa Gráfica; General-purpose computing on graphics processing units; Metal; Graphics Card Audio Render Engine
Issue Date: 7-Sep-2022
Serial title, monograph or event: GPU processing of 3D audio
Place of publication or event: Sound Particles S.A
Abstract: ResumoÀ medida que a sociedade avança, o poder computacional acompanha de forma a alcançarnovas formas de aumentar o desempenho nos softwares. O uso da Placa Gráfica no de-senvolvimento de software, devido ao seu alto número de threads, é um exemplo perfeitodisso.Esta tese faz parte do meu estágio curricular com o tema "GPU 3D audio process-ing" para a empresa Sound Particles.Neste momento, a pipeline de processamento de áudio é feito no CPU, sendo oobjetivo do estágio a migração deste processamento para GPU de forma a aumentar aescalabilidade e velocidade de renderização.O desenvolvimento desta migração foi feito utilizando a API "Metal" sendo instan-ciada na linguagem que os produtos da empresa utilizam, C++.O Metal API pode ser invocado em Swift, Objective C, e recentemente com C++17,dado á Apple lançar uma interface C++ de baixo overhead, metal-cpp. O proces-samento em GPU é feito em MSL, que é uma linguagem de baixo nível, desenvolvidapara API Metal, sendo baseada na linguagem C++14, também conhecida como ISO/IECJTC1/SC22/WG21 N4431.No primeiro semestre, o foco principal foi uma fase de adaptação onde abordei ostópicos GPU e GPGPU, e desenvolvi protótipos para iniciar o desenvolvimento em MetalAPI e em Objective-C para lidar com todas as dependências no novo ambiente de desen-volvimento.No segundo semestre, o foco principal foi a migração completa do motor de áudiopara GPU seguida de uma fase de otimizações e medição de desempenho.A migração do processo de renderização foi concluído com uma aceleração de 82%em comparação com os valores obtidos pelo CPU. Foi priorizado alcançar uma arquiteturade renderização mais eficiente para apresentar melhores resulstado.No entanto não existiutempo para concluír esta nova arquitetura e a tarefa relacionada com os testes de qualidadenão foi completada.
As society progresses, the computation power follows it so that we can achieve new ways ofincreasing performance in computing software. The use of the Graphics Card in softwaredevelopment is a perfect example because of its high thread number so that we can achievehigh-performance systems.This thesis is a part of a curricular internship with the theme "GPU 3D audio pro-cessing" for the company Sound Particles.At the moment, the audio processing pipeline is done in Central Processing Unit(CPU), and the objective of the internship is to migrate this processing to Graphical Pro-cessing Unit (GPU) to increase scalability and rendering speed.The development of this migration was done using the Metal API and developedin the Objective C language, which is instantiated in the language that the company’sproducts use, C++.Metal Application Programming Interface (API) can be invoked in Swift, ObjectiveC, and recently with C++17 after Apple released a low-overhead C++ interface. Pro-cessing in GPU is done in Metal Shading Language (MSL), which is a low-level language,developed for API, which is based on the C++14 language, also known as ISO/IEC JTC1/SC22/WG21 N4431.In the first semester, the main focus was an adaptation phase where I addressed thetopics GPU and General-Purpose Computing on Graphics Processing Unit (GPGPU) anddeveloped prototypes to start development in Metal API and in Objective-C to handle alldependencies in the new development environment.In the second semester, the main focus was completing the migration of the audioengine to GPU, followed by a phase of optimizations and performance measurement.The render migration was completed with a speedup of 82% compared to the CPUbenchmarks. Due to the prioritization of achieving a better render architecture that wouldpresent more promising results, there was not enough time to conclude it and simultaneitycomplete quality tests
Description: Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia
URI: https://hdl.handle.net/10316/102133
Rights: embargoedAccess
Appears in Collections:UC - Dissertações de Mestrado

Files in This Item:
File Description SizeFormat
Guilherme Miguel Matos Costa.pdf6 MBAdobe PDFView/Open
Show full item record

Page view(s)

28
checked on Apr 24, 2024

Download(s)

22
checked on Apr 24, 2024

Google ScholarTM

Check


This item is licensed under a Creative Commons License Creative Commons