High performance fourier transforms on GPUs with GLSL

Detalhes bibliográficos
Autor(a) principal: Mota, Jorge Francisco Teixeira Bastos da
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