FERRAMENTAS LINUX: A AMD está preparando mais código Linux para o Supercomputador Frontier

sexta-feira, 28 de maio de 2021

A AMD está preparando mais código Linux para o Supercomputador Frontier

 


Conffira !!

Frontier como o primeiro supercomputador exascale dos Estados Unidos sendo comissionado pelo Laboratório Nacional Oak Ridge e pelo Departamento de Energia. embora seja alimentado por CPUs / GPUs da AMD, está em processo de ver mais mudanças no kernel do Linux para trazer a nova plataforma.

O Frontier está sendo equipado com aceleradores AMD EPYC e Radeon Instinct. Embora previsto para ser entregue em 2021, o suporte ao software Linux continua a ser trabalhado para tornar este supercomputador uma realidade. Em particular, o código mais recente enviado está trabalhando no manuseio coerente da memória GPU com este supercomputador suportando uma interconexão coerente entre as CPUs e GPUs. A última série de patches da AMD está propondo mudanças no código de gerenciamento de memória em torno da migração da página da zona do dispositivo e, em última instância, para lidar com a migração da página e acesso coerente da CPU à memória de vídeo.

Construindo o recente código de memória virtual compartilhada (SVM) de gerenciamento de memória heterogênea (HMM) que agora está enfileirado para Linux 5.14, esta nova série de patch é [RFC PATCH 0/5] Support DEVICE_GENERIC memory in migrate_vma_ * . Felix Kuehling, engenheiro de longa data da AMD Linux, resume a situação como:

A AMD está construindo uma arquitetura de sistema para o supercomputador Frontier com uma interconexão coerente entre CPUs e GPUs. Esta arquitetura de hardware permite que as CPUs acessem coerentemente a memória do dispositivo GPU. Temos hardware em nossos laboratórios e estamos trabalhando com nosso parceiro HPE no BIOS, firmware e software para entrega ao DOE.

O BIOS do sistema anuncia a memória do dispositivo GPU (também conhecida como VRAM) como SPM (memória para fins especiais) no mapa de endereços do sistema UEFI. O driver amdgpu procura com lookup_resource e o registra com devmap como MEMORY_DEVICE_GENERIC usando devm_memremap_pages.

Agora estamos tentando migrar dados de e para essa memória usando os ajudantes migrate_vma_ * para que possamos oferecer suporte à migração baseada em páginas em nossas alocações de memória unificada, ao mesmo tempo em que oferecemos suporte ao acesso de CPU a essas páginas

Esta série de patches faz algumas mudanças para fazer com que as páginas MEMORY_DEVICE_GENERIC se comportem corretamente nos auxiliares migrate_vma_ *. Estamos procurando feedback sobre essa abordagem. Se estivermos próximos, o que é necessário para tornar nossos patches aceitáveis ​​no upstream? Se não estivermos perto, alguma sugestão de como conseguir o que estamos tentando fazer (ou seja, migração de página e acesso coerente da CPU ao VRAM)?





Fonte

Até a próxima ! 

Nenhum comentário:

Postar um comentário