GPUOpen | |
|---|---|
| Logo | |
| Autor original | |
| AMD | |
| Desenvolvedor | |
| Advanced Micro Devices | |
| Lançamento inicial | |
| 26 de janeiro de 2016 | |
| Repositório | |
| github.com/GPUOpen-LibrariesAndSDKs | |
| Escrito em | |
| C, C++, GLSL | |
| Sistema operacional | |
| Linux, Microsoft Windows | |
| Tipo | |
| Bibliotecas de efeitos de jogos, depuração de GPU, criação de perfil de CPU e GPU | |
| Licença | |
| Licença MIT | |
| Site | |
| gpuopen |
GPUOpen é um conjunto de software middleware desenvolvido originalmente pelo Radeon Technologies Group da AMD que oferece efeitos visuais avançados para jogos de computador. Foi lançado em 2016. O GPUOpen serve como uma alternativa e um concorrente direto do Nvidia GameWorks. GPUOpen é semelhante ao GameWorks, pois abrange diversas tecnologias gráficas diferentes como seus principais componentes, que antes eram independentes e separados uns dos outros. Entretanto, o GPUOpen é um software parcialmente de código aberto, diferente do GameWorks, que é proprietário e fechado.
O GPUOpen foi anunciado em 15 de dezembro de 2015, e lançado em 26 de janeiro de 2016.
Nicolas Thibieroz, gerente sênior de engenharia de jogos mundial da AMD, argumenta que "pode ser difícil para os desenvolvedores alavancarem seus investimentos em P&D tanto em consoles quanto em PCs devido à disparidade entre as duas plataformas" e que "bibliotecas proprietárias ou cadeias de ferramentas com APIs de "caixa preta" impedem que os desenvolvedores acessem o código para fins de manutenção, portabilidade ou otimizações". Ele diz que as próximas arquiteturas, como a série RX 400 da AMD, "incluem muitos recursos não expostos hoje em APIs gráficas de PC".
A AMD projetou o GPUOpen para ser um middleware de código aberto concorrente lançado sob a licença MIT. As bibliotecas visam aumentar a portabilidade do software entre consoles de videogame, PCs e também computação de alto desempenho.
O GPUOpen unifica muitas das ferramentas e soluções anteriormente separadas da AMD em um único pacote, tornando-as também totalmente de código aberto sob a licença MIT. O GPUOpen também facilita para os desenvolvedores obterem acesso de baixo nível à GPU.
Além disso, a AMD quer conceder aos desenvolvedores interessados o tipo de "acesso direto" de baixo nível às suas GPUs baseadas em GCN, que supera as possibilidades do Direct3D 12 ou Vulkan. A AMD mencionou, por exemplo, um acesso de baixo nível aos Asynchronous Compute Engine (ACEs). O ACE implementa "Asynchronous Compute", mas não pode ser configurado livremente no Vulkan ou no Direct3D 12.
O GPUOpen é composto por vários componentes principais, ferramentas e SDKs.
Software para imagens geradas por computador (CGI) usado no desenvolvimento de jogos de computador e filmes.
| Nome | API | Fonte | Descrição |
|---|---|---|---|
| TressFX | DirectX 12, Vulkan | GitHub | Esta biblioteca de efeitos visuais permite a criação de cabelos, pelos e grama realistas. |
| GeometryFX | DirectX 11 | GitHub | Esta biblioteca permite fácil acesso à filtragem de triângulos baseada em computação. |
| DepthOfFieldFX | DirectX 11 | GitHub | Esta biblioteca concede acesso a uma implementação de profundidade de campo otimizada para a arquitetura de GPU GCN por meio de um shader de computação. |
| ShadowFX | DirectX 11, DirectX 12 | GitHub | Esta biblioteca concede acesso a uma implementação para filtragem de sombra adiada que é otimizada para a arquitetura de GPU GCN. |
| FidelityFX | DirectX 11, DirectX 12, Vulkan | GitHub | FidelityFX é um conjunto de efeitos visuais e bibliotecas auxiliares de efeitos. |
| Nome | Algoritmo | Fonte | Descrição |
|---|---|---|---|
| FidelityFX CAS | Nitidez Adaptativa de Contraste (Contrast Adaptive Sharpening) | GitHub | Este algoritmo aprimora de forma adaptativa uma imagem ou cena, minimizando artefatos. |
| FidelityFX CACAO | Oclusão de ambiente de computação adaptativa combinada (Combined Adaptive Compute Ambient Occlusion) | GitHub | Este algoritmo é uma implementação otimizada de oclusão de ambiente de amostragem adaptativa. |
| FidelityFX LPM | Mapeador de preservação de luminância (Luminance Preserving Mapper) | GitHub | Este algoritmo é usado para mapear o tom da luminância de um pixel RGB em vez de mapear o tom da cor do pixel. |
| FidelityFX SPD | Downsampler de passagem única (Single Pass Downsampler) | GitHub | Este algoritmo, otimizado para a arquitetura de GPU RDNA, é usado para gerar 12 níveis de MIP para uma determinada textura. |
| FidelityFX SSSR | Reflexões Estocásticas do Espaço da Tela (Stochastic Screen Space Reflections) | GitHub | Este algoritmo é usado para adicionar reflexos no espaço da tela a um quadro ou cena. |
| FidelityFX VS | Sombreamento variável (Variable Shading) | GitHub | Este algoritmo é usado para gerar sombreamento de taxa variável baseado em imagem usando a luminância de amostras no quadro anterior. |
| FidelityFX Parallel Sort | Classificação por Radix (Radix Sort) | GitHub | Este algoritmo fornece uma classificação de radix baseada em computação. |
| FidelityFX Denoiser | Denoiser de sombra e reflexão (Shadow & Reflection Denoiser) | GitHub | Este algoritmo fornece funcionalidade de redução de ruído para sombras ray-traced e reflexos traçados por raios ou no espaço da tela. |
| FidelityFX Super Resolution 1 | Upsampler espacial (Spatial Upsampler) | GitHub | Este algoritmo é usado para ampliar uma imagem ou quadro para uma resolução mais alta usando apenas as informações espaciais fornecidas no quadro de entrada. |
| FidelityFX Super Resolution 2 | Upscaler Temporal (Temporal Upscaler) | GitHub | Este algoritmo é usado para ampliar quadros para uma resolução mais alta usando as informações temporais fornecidas pelos quadros de entrada. |
FidelityFX Super Resolution (FSR) é usado para aumentar a resolução de uma imagem de entrada para uma resolução mais alta. Existem várias versões do FSR com técnicas de upscaling e qualidade de imagem distintas:
As predefinições padrão para FSR da AMD podem ser encontradas na tabela abaixo. Observe que essas predefinições não são a única maneira pela qual o algoritmo pode ser usado; elas são simplesmente predefinições para resoluções de entrada/saída. Certos títulos, como Dota 2, oferecem controles deslizantes de resolução para ajustar a porcentagem de escala ou dimensionar dinamicamente a resolução de renderização interna dependendo do limite de FPS. A AMD também criou uma ferramenta de interface de linha de comando que permite ao usuário aumentar a escala de qualquer imagem usando FSR1/EASU, além de outros métodos de upsampling, como Interpolação Bilinear. Ele também permite que o usuário execute vários estágios do pipeline FSR, como o RCAS, de forma independente.
| Lançamento | Data de lançamento | Destaques |
|---|---|---|
| 1.0 / 1.0.1 | Junho de 2021 | Lançamento do FidelityFX Super Resolution (FSR), código-fonte disponível em julho de 2021. |
| 1.0.2 | novembro de 2021 | Correção robusta de nitidez adaptativa de contraste (RCAS). |
| 1.1 | Julho de 2023 | Disponível como parte do FidelityFX SDK. |
| 2.0.1 / 2.0.1a | Março de 2022 | Lançamento do FidelityFX Super Resolution 2.0 (FSR 2), código-fonte disponível em junho de 2022. |
| 2.1.0 | Setembro de 2022 | Efeitos fantasmas reduzidos e qualidade de upscaling aprimorada. O Farming Simulator 2022 foi um dos primeiros a adotar o patch 1.7.1. |
| 2.1.1 | Setembro de 2022 | |
| 2.1.2 | Outubro de 2022 | |
| 2.2.0 / 2.2.0a | novembro de 2022 | Melhorias na faixa de HDR, redução de artefatos fantasmas e cintilação. Código-fonte disponível em fevereiro de 2023. |
| 2.2.1 | Junho de 2023 | |
| 2.2.2 | Julho de 2023 | Disponível como parte do FidelityFX SDK. |
| 3.0 / 3.0.3 | Setembro de 2023 | O FSR 3 adiciona geração de quadros combinada com FSR 2 e Anti-Lag+ e oferece suporte a GPUs da AMD, Nvidia e Intel. O FSR 3 também é compatível com a nona geração de consoles de videogame. Código-fonte disponível em dezembro de 2023 como parte do FidelityFX SDK. |
| 3.0.4 | Março de 2024 | |
| 3.1.0 | Junho de 2024 | Redução de fantasmas, cintilação e cintilação, e estabilidade temporal aprimorada. Geração de quadros dissociada do upscaling. Arquivo-fonte facilmente atualizável para desenvolvedores. Suporte a Vulkan e Xbox Game Development Kit (GDK). Código-fonte disponível em julho de 2024 como parte do FidelityFX SDK 1.1. |
| Predefinição de qualidade | Fator de escala | Escala de renderização |
|---|---|---|
| AA nativo (desde a versão 3.0) | 1,00x | 100% |
| Qualidade Ultra (somente v1.0) | 1,30x | 77,0% |
| Qualidade | 1,50x | 66,6% |
| Equilibrado | 1,70x | 58,8% |
| Desempenho | 2,00x | 50,0% |
| Ultra Performance (desde a versão 2.0) | 3,00x | 33,3% |
O FSR 2 também pode ser modificado em quase qualquer jogo que suporte DLSS, trocando a DLL DLSS por uma DLL de camada de tradução que mapeia as chamadas de API DLSS para chamadas de API FSR 2.
O FSR 3 adiciona geração de quadros (Frame Generation), uma técnica que cria novos quadros entre os existentes usando interpolação de movimento. Com lançamento previsto para setembro de 2023, o FSR 3 usa uma combinação de FSR 2 e análise de fluxo óptico, que é executado usando computação assíncrona (ao contrário do DLSS 3 da Nvidia, que usa hardware dedicado). Como o FSR 3 usa uma solução baseada em software, ele é compatível com GPUs da AMD, Nvidia e Intel, bem como com a nona geração de consoles de videogame. Para combater a latência adicional inerente ao processo de geração de quadros, a AMD possui um recurso de nível de driver chamado Anti-Lag, que só funciona em GPUs AMD.
AMD Fluid Motion Frames (AFMF) é uma tecnologia de geração de quadros em nível de driver que será lançada no primeiro trimestre de 2024 e é compatível com todos os jogos DirectX 11 e DirectX 12. No entanto, ela roda em GPUs RDNA 2 e RDNA 3. O AFMF usa análise de fluxo óptico, mas não vetores de movimento, portanto, ele só pode interpolar um novo quadro entre dois quadros renderizados tradicionalmente. AFMF atualmente não é compatível com VSYNC.
O diretório oficial da AMD lista:
| Nome | Código fonte | API | SO | Tarefa |
|---|---|---|---|---|
| CodeXL | CodeXL | Direct3D, OpenGL, OpenCL, Vulkan | Linux Windows |
conjunto de ferramentas de desenvolvimento de software que inclui um depurador de GPU, um criador de perfil de GPU, um criador de perfil de CPU, um analisador de kernel OpenCL estático e vários plug-ins. |
| analisador estático para AMD CodeXL | amd-codexl-analisador | Direct3D, OpenGL, OpenCL | Linux Windows 64 bits |
Compilador off-line e ferramenta CLI de análise de desempenho para processamento de: kernels OpenCL, shaders HLSL e shaders GLSL parte do conjunto de ferramentas AMD CodeXL Requer a instalação do Radeon Software Crimson Edition ou do AMD Catalyst para executar esta ferramenta. |
| Plug-in D3D 12 para GPU PerfStudio | amd-gpuperfstudio-dx12 | Direct3D 12 | Windows | um plug-in para GPU PerfStudio GPU perfstudio |
| Tootle | amd-tootle | agnóstico | Linux Windows |
Ferramenta de otimização de ordem de triângulo; desenvolvida originalmente em 2006; pode ser facilmente integrada como parte de uma cadeia de ferramentas de pré-processamento de renderização ou malha Cf. http://mgarland.org/files/papers/quadrics.pdf |
Lançado pela ATI Technologies sob a licença BSD em 2006, o HLSL2GLSL não faz parte do GPUOpen. Ainda não se sabe se ferramentas semelhantes para o SPIR-V estarão disponíveis, assim como o lançamento oficial do próprio Vulkan (API). O código-fonte que foi definido como parte do GPUOpen também faz parte do kernel Linux (por exemplo, amdgpu e amdkfd), Mesa 3D e LLVM.
| Nome | Fonte | API | OS | Tarefa |
|---|---|---|---|---|
| Advanced Media Framework (AMF) SDK | GitHub | DirectX 12 | Linux, Windows 64-bit | Estrutura multimídia leve e portátil que abstrai a maioria dos detalhes específicos da plataforma e da API. |
| AMD GPU Services (AGS) SDK | GitHub | DirectX | Windows 64-bit | |
| LiquidVR SDK | GitHub | Direct3D 11 | Windows | melhora a suavidade da virtual reality. O objetivo é reduzir a latência entre os hardwares para que eles possam acompanhar o movimento da cabeça do usuário, eliminando o enjoo. Um foco particular está nas configurações de GPU dupla, onde cada GPU agora renderizará para um olho individualmente da tela. |
| Radeon Machine Learning (RML) SDK | GitHub | DirectX 12, Metal, OpenCL | Linux, OS X, Windows | |
| Radeon ProRender SDK (anteriormente FireRender) | GitHub | OpenCL | Linux, macOS, Windows | mecanismo de renderização baseado em física |
| RadeonRays SDK (anteriormente FireRays) | GitHub | DirectX 12, Vulkan | Linux 64-bit, OS X, Windows 64-bit | uma biblioteca de interseção de ray tracing heterogêneos de alta eficiência e alto desempenho para GPU e CPU ou APU em qualquer plataforma. |
| RapidFire SDK | GitHub | DirectX, OpenGL | Windows | facilita o uso de blocos SIP de aceleração de compressão de vídeo da AMD VCE (codificador H.264) e UVD (codificador H.264) para "Cloud gaming"/renderização externa |
| True Audio Next (TAN) SDK | GitHub | OpenCL | Windows 64-bit | SDK para processamento de sinal de áudio de alto desempenho acelerado por GPU Radeon e multi-core. |
A partir de 2022, o ecossistema de software de computação da AMD será reagrupado no metaprojeto ROCm.

amdgpu (kernel Linux 4.2+) e amdkfd (kernel Linux 3.19+)Software em torno de Heterogeneous System Architecture (HSA), Computação de Propósito Geral em Unidades de Processamento Gráfico (GPGPU) e Computação de Alto Desempenho (HPC)
A "Boltzmann Initiative" da AMD (nomeada em homenagem a Ludwig Boltzmann) foi anunciada em novembro de 2015 na SuperComputing15 e produzida como plataforma Radeon Open Compute (ROCm). O objetivo é fornecer uma alternativa ao CUDA da Nvidia, que inclui uma ferramenta para portar código-fonte CUDA para código-fonte portátil (HIP), que pode ser compilado no HCC e no NVCC.
O GPUOpen está disponível sob a licença MIT para o público em geral através do GitHub a partir de 26 de janeiro de 2016.
Há um entrelaçamento entre o GPUOpen e projetos de software livre bem estabelecidos e difundidos, por exemplo, kernel Linux, Mesa 3D e LLVM.