High performance fourier transforms on GPUs with GLSL
Autor(a) principal: | |
---|---|
Data de Publicação: | 2023 |
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: | https://hdl.handle.net/1822/86512 |
Resumo: | Dissertação de mestrado integrado em Informatics Engineering |
id |
RCAP_9633b14894ca62135c435941ab07c58c |
---|---|
oai_identifier_str |
oai:repositorium.sdum.uminho.pt:1822/86512 |
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 |
High performance fourier transforms on GPUs with GLSLFFTGPGPUGLSLcuFFTPerformanceComputeCooley-TukeyStockhamEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado integrado em Informatics EngineeringThe Fast Fourier Transform is a family of algorithms indispensable for the computation of the Discrete Fourier Transform. As a result, these transforms are the core of many applications in several areas and are required to be computed efficiently in many scenarios. The continuous evolution of GPUs has increased the popularity of parallelizable algorithm implementations on this type of hardware. Traditionally GPUs were associated to graphics background, however, with the popularization of the compute functionality of this hardware, most modern GPUs now have this capability, hence, algorithms now are more likely to be implemented in the general-purpose compute pipeline of GPUs. As a result, many applications take advantage of compute programming in GPGPU-capable frameworks such as GLSL, a high-level shading language frequently used in the context of computer graphics. In this dissertation we provide, refine and compare GPU-driven implementations of the family of FFT algorithms in GLSL, with the goal to provide programmers with efficient and simplified compute kernels for this transform, from the classic Cooley-Tukey algorithm to more suitable algorithms for the GPU such as the Stockham algorithm with higher radix. Accordingly, we also use the cuFFT NVIDIA framework for reference in the comparisons of the GLSL algorithms implementations with the goal to analyse their significance on the tradeoff of using specialized implementations of the FFT algorithms or integrating dedicated software tools for any case of application. Finally, we demonstrate how all improvements discussed in this dissertation culminate in performance improvement in a real-time rendering technique that heavily depends on multiple of these transforms in the Nau3D engine as a case of study.A Transformada Rápida de Fourier é um algoritmo ou uma família de algoritmos indispensáveis para o cálculo da Transformada Discreta de Fourier. Assim, essas transformadas são o núcleo de muitas aplicações em diversas áreas e precisam ser calculadas de forma eficiente em muitos cenários. A evolução contínua dos GPUs aumentou a popularidade das implementações de algoritmos paralelizáveis neste tipo de hardware. Tradicionalmente, os GPUs eram associadas ao fundo gráfico, no entanto, com a popu larização da funcionalidade de compute desse hardware, os GPUs mais modernos agora têm essa capacidade, portanto, os algoritmos agora são mais propensos a serem implementados na compute pipeline de propósito geral dos GPUs. Como resultado, muitas aplicações aproveitam a programação em compute em frameworks compatíveis com GPGPU como GLSL, uma linguagem de shading de alto nível usada recorrentemente no contexto de computação gráfica. Nesta dissertação fornecemos, refinamos e analisamos implementações em GPU da família de algoritmos FFT em GLSL, com o objetivo de fornecer aos programadores compute kernels eficientes e simplificados para esta transformada, desde o clássico algoritmo de Cooley-Tukey até algoritmos mais adequados para o GPU. Da mesma forma, também usamos a framework cuFFT NVIDIA como referência nas comparações das implementações dos algoritmos em GLSL com o objetivo de analisar a sua importância no tradeoff entre usar implementações especializadas dos algoritmos FFT ou integrar ferramentas de software dedicadas para qualquer caso de aplicação. Por fim, demonstramos como todas as melhorias discutidas nesta dissertação culminam na melhoria de desempenho numa técnica de renderização em tempo real que depende de FFTs na engine Nau3D como caso de estudo.Fernandes, António RamiresUniversidade do MinhoMota, Jorge Francisco Teixeira Bastos da2023-02-242023-02-24T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/86512eng203355881info:eu-repo/semantics/openAccessreponame: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-09-23T01:18:07Zoai:repositorium.sdum.uminho.pt:1822/86512Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T20:30:35.734076Repositó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 |
High performance fourier transforms on GPUs with GLSL |
title |
High performance fourier transforms on GPUs with GLSL |
spellingShingle |
High performance fourier transforms on GPUs with GLSL Mota, Jorge Francisco Teixeira Bastos da FFT GPGPU GLSL cuFFT Performance Compute Cooley-Tukey Stockham Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
title_short |
High performance fourier transforms on GPUs with GLSL |
title_full |
High performance fourier transforms on GPUs with GLSL |
title_fullStr |
High performance fourier transforms on GPUs with GLSL |
title_full_unstemmed |
High performance fourier transforms on GPUs with GLSL |
title_sort |
High performance fourier transforms on GPUs with GLSL |
author |
Mota, Jorge Francisco Teixeira Bastos da |
author_facet |
Mota, Jorge Francisco Teixeira Bastos da |
author_role |
author |
dc.contributor.none.fl_str_mv |
Fernandes, António Ramires Universidade do Minho |
dc.contributor.author.fl_str_mv |
Mota, Jorge Francisco Teixeira Bastos da |
dc.subject.por.fl_str_mv |
FFT GPGPU GLSL cuFFT Performance Compute Cooley-Tukey Stockham Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
topic |
FFT GPGPU GLSL cuFFT Performance Compute Cooley-Tukey Stockham Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
description |
Dissertação de mestrado integrado em Informatics Engineering |
publishDate |
2023 |
dc.date.none.fl_str_mv |
2023-02-24 2023-02-24T00: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 |
https://hdl.handle.net/1822/86512 |
url |
https://hdl.handle.net/1822/86512 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
203355881 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
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_ |
1799133574358630400 |