FERRAMENTAS LINUX: Seis anos após o lançamento, o ajuste da CPU do AMD Piledriver é retrabalhado no LLVM Clang

domingo, 28 de outubro de 2018

Seis anos após o lançamento, o ajuste da CPU do AMD Piledriver é retrabalhado no LLVM Clang




Confira !!



Seis anos após a AMD introduzir o "Piledriver" como o sucessor dos processadores Bulldozer originais, o compilador LLVM Clang está vendo um modelo de programação revisado para esses processadores que pode render um desempenho mais rápido do código gerado para essa antiga classe de CPUs AMD.

Os núcleos Piledriver acabaram com uma gama de CPUs da série FX-8300 através da FX-9590, muitas APUs incluindo a A10-6800K, mais de uma dúzia de partes móveis, e também alguns CPUs Opteron. O Piledriver como um lembrete foi baseado em um processo SOI de 32nm, ofereceu melhor IPC sobre a microarquitetura Bulldozer original, acelerou as velocidades de clock e outras melhorias incrementais.

                           Esta fera de 220 watts pode agora correr mais rápido no Linux ...


Roman Lebedev, um desenvolvedor de software da Darktable, optou por otimizar o LLVM Clang com foco na aceleração do desempenho da CPU do Piledriver ao lidar com a velocidade de decodificação de imagem do software de fotografia RAW de código aberto. Com ajustes no modo de agendador Piledriver / bdver2, ele conseguiu que o desempenho do código gerado aumentasse em cerca de 1%, enquanto nos casos de teste mais significativos era até 7% mais rápido.

O modelo de planejador do Piledriver revisado agora está no mestre do LLVM para o próximo lançamento que será o LLVM / Clang 8.0 no início de 2019.

                   Para todos os sistemas AMD mais antigos com núcleos Piledriver, o mais recente compilador LLVM Clang pode gerar mais código ideal ao usar a segmentação "bdver2".


O que também torna este trabalho de programação interessante é que ele foi capaz de otimizar o modelo fazendo uso de novas ferramentas LLVM como llvm-exegesis para ajudar a traçar o perfil das características de instrução da máquina host usando os contadores de desempenho do sistema. Esse novo meio de criação de perfil / comparação de desempenho é, em vez de tradicionalmente, confiar nos dados fornecidos pelo fornecedor da CPU sobre as características ideais de instrução da CPU ou perfilação manual. Esperemos que essa abordagem ajude a otimizar outros modelos de planejadores de CPU para o LLVM / Clang, especialmente quando a vasta coleção de ferramentas do LLVM continuar a amadurecer.


Fonte

Até a próxima !

Nenhum comentário:

Postar um comentário