GPU processing of 3D audio
Autor(a) principal: | |
---|---|
Data de Publicação: | 2022 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | http://hdl.handle.net/10316/102133 |
Resumo: | Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia |
id |
RCAP_375a92346a9cdd8f4940656f84555b98 |
---|---|
oai_identifier_str |
oai:estudogeral.uc.pt:10316/102133 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
GPU processing of 3D audioGPU processing of 3D audioUnidade de Processamento Gráfico de Propósito GeralMetalMotor de renderização de audio na Placa GráficaGeneral-purpose computing on graphics processing unitsMetalGraphics Card Audio Render EngineDissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e TecnologiaResumoÀ 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 tests2022-09-072023-09-07T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesishttp://hdl.handle.net/10316/102133http://hdl.handle.net/10316/102133TID:203062221engCosta, Guilherme Miguel Matosinfo:eu-repo/semantics/embargoedAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-10-27T11:08:32Zoai:estudogeral.uc.pt:10316/102133Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T21:19:11.553935Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
GPU processing of 3D audio GPU processing of 3D audio |
title |
GPU processing of 3D audio |
spellingShingle |
GPU processing of 3D audio Costa, Guilherme Miguel Matos 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 |
title_short |
GPU processing of 3D audio |
title_full |
GPU processing of 3D audio |
title_fullStr |
GPU processing of 3D audio |
title_full_unstemmed |
GPU processing of 3D audio |
title_sort |
GPU processing of 3D audio |
author |
Costa, Guilherme Miguel Matos |
author_facet |
Costa, Guilherme Miguel Matos |
author_role |
author |
dc.contributor.author.fl_str_mv |
Costa, Guilherme Miguel Matos |
dc.subject.por.fl_str_mv |
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 |
topic |
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 |
description |
Dissertação de Mestrado em Engenharia Informática apresentada à Faculdade de Ciências e Tecnologia |
publishDate |
2022 |
dc.date.none.fl_str_mv |
2022-09-07 2023-09-07T00:00:00Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10316/102133 http://hdl.handle.net/10316/102133 TID:203062221 |
url |
http://hdl.handle.net/10316/102133 |
identifier_str_mv |
TID:203062221 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/embargoedAccess |
eu_rights_str_mv |
embargoedAccess |
dc.source.none.fl_str_mv |
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799134086274482176 |