Durante esta noite, uma nova revisão menor da especificação OpenCL 3.0 foi publicada com algumas melhorias e novidades. Sendo assim, o OpenCL 3.0.11 saiu como a revisão mais recente do padrão OpenCL 3.0 para computação de GPU e outros aceleradores.
O OpenCL 3.0.11 traz duas novas extensões – cl_khr_subgroup_rotate e cl_khr_work_group_uniform_arithmetic. A especificação cl_khr_subgroup_rotate da Arm, Intel e outros é para uma nova operação de troca de dados de subgrupo para rotação de valores pelos itens de trabalho em um subgrupo. Enquanto isso, a extensão cl_khr_work_group_uniform_arithmetic adiciona funções coletivas de grupo de trabalho ao OpenCL C. A extensão cl_khr_work_group_uniform_arithmetic adiciona varreduras e reduções de grupo de trabalho para operações lógicas, operações bit a bit, multiplicação de inteiros e multiplicação de ponto flutuante.
OpenCL 3.0.11 lançado com duas novas extensões
Além das duas novas extensões, o OpenCL 3.0.11 tem vários esclarecimentos, exigindo que o enfileiramento do lado do dispositivo também suporte variáveis globais do escopo do programa, condições de erro ausentes adicionadas e outras atualizações de rotina.
A especificação OpenCL 3.0.11 atualizada pode ser baixada do GitHub.
Compilador GCC 12.1 lançado com AVX-512 FP16, melhor suporte RISC-V, mais recursos C++23
Compilador GCC 12.1 lançado com AVX-512 FP16, melhor suporte RISC-V e mais recursos C++23. Alguns dos destaques do GCC 12.1 incluem:
O GCC 12.1 foi lançado hoje como a primeira versão estável do GCC 12. Também marca 35 anos desde o lançamento do GCC 1.0.
Com um ano de mudanças, o GCC 12.1 é um grande lançamento de recursos com muitas coisas boas, desde novos recursos C/C++ até o trabalho contínuo em outras linguagens como Fortran e Ada, suportando as mais novas CPUs e recursos ISA em várias arquiteturas, e avançando os recursos mais recentes do GCC, como o analisador estático integrado e a biblioteca JIT.
- Continuação do trabalho de suporte a C2X e C++23 e as próximas versões de C e C++, respectivamente, tanto para o compilador quanto para a biblioteca padrão C++. O suporte C2X e C++23 ainda é tratado como experimental. O suporte a C++ 20 libstdc++ também foi aprimorado, permanecendo experimental;
- GCC 12 tem suporte para suporte AVX-512 FP16 para novas CPUs Intel;
- Suporte aprimorado para OpenMP 5.0 com vários recursos adicionados. Algumas funcionalidades do OpenMP 5.1 também estão em vigor;
- O suporte ao OpenACC 2.6 continuou a ser aprimorado, incluindo paralelismo de trabalho para GPUs AMD;
- Na frente de segmentação AMD Radeon GCN, a limitação de poder usar apenas uma frente de onda por unidade de computação foi resolvida – agora são suportados até 40 grupos de trabalho por CU e 16 frentes de onda por grupo de trabalho;
- Recursos de linguagem Ada 2022 implementados junto com várias extensões Ada;
- O suporte à CPU RISC-V do GCC continua melhorando com várias novas extensões de conjunto de instruções agora suportadas. As extensões de criptografia vetorial e escalar do RISC-V foram adicionadas junto com zba, zbb, zbc e zbs;
- Novos alvos de CPU Arm incluem o Cortex-A510, Ampere-1, Cortex-A710 e Cortex-X2;
- A vetorização agora está habilitada no nível de otimização -O2 com o modelo de custo muito barato para melhorar o desempenho nesse nível de otimização comumente usado;
- A biblioteca GCC JIT (libgccjit) foi melhorada com vários novos pontos de entrada e novos recursos;
- O novo -ftrivial-auto-var-init permite inicializar variáveis de pilha implicitamente para aumentar a segurança;
- Há suporte de mitigação de especulação em linha reta x86 (SLS) disponível com o compilador GCC 12. O kernel do Linux já está preparado para fazer uso desta nova opção de segurança;
- O front-end “gfortran” do GCC agora suporta totalmente o TS 29113 para interoperabilidade com a linguagem de programação C. TS 29113 é a especificação técnica para aumentar a interoperabilidade do Fortran com C;
- O analisador estático do GCC continua a ser aprimorado com muitos novos avisos e recursos.
Veja gcc.gnu.org para a lista completa de mudanças no GCC 12.1. O anúncio formal do lançamento do GCC 12.1 pode ser lido na lista de discussão do GCC.
Via Phoronix