GPU processing of 3D audio

Detalhes bibliográficos
Autor(a) principal: Costa, Guilherme Miguel Matos
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