FERRAMENTAS LINUX: A AMD está propondo um novo design para o funcionamento dos drivers de GPU do Linux - cercas explícitas em todos os lugares

quarta-feira, 21 de abril de 2021

A AMD está propondo um novo design para o funcionamento dos drivers de GPU do Linux - cercas explícitas em todos os lugares

 

Confira !!


O conhecido desenvolvedor de drivers gráficos AMD Linux de código aberto, Marek Olšák, publicou uma proposta inicial esta semana como "um redesenho de como os drivers gráficos Linux funcionam".

Esse redesenho, que pode coexistir com segurança com o comportamento do driver atual, é sobre o uso de cercas explícitas em todos os lugares e uma nova abordagem de gerenciamento de memória que não faz uso de cercas de objeto de buffer (BO).

Aqui está o resumo da situação atual e o que Marek (e, por sua vez, os desenvolvedores de driver AMD) estão procurando resolver em torno do manuseio de memória de vídeo Linux:

A arquitetura gráfica atual do Linux foi inicialmente projetada para GPUs com apenas uma fila de gráficos onde tudo era executado na ordem de envio e cercas por BO eram usadas para gerenciamento de memória e sincronização CPU-GPU, não sincronização GPU-GPU. Posteriormente, várias filas foram adicionadas no topo, o que exigiu a introdução de sincronização GPU-GPU implícita entre filas de diferentes processos usando cercas por BO. Recentemente, até mesmo a execução paralela dentro de uma fila foi habilitada onde um buffer de comando inicia desenhos e sombreadores de computação, mas não espera por eles, habilitando o paralelismo entre os buffers de comando consecutivos. Modesetting também usa cercas por BO para agendar flips. Nosso agendador de GPU foi criado para permitir todos esses casos de uso e é a única razão pela qual o agendador existe.

O agendador de GPU, a sincronização implícita, o gerenciamento de memória baseado em BO fence e o rastreamento de fences por BO aumentam a sobrecarga e a latência da CPU e reduzem o paralelismo. Há um desejo de substituir todos eles por algo muito mais simples

Portanto, embora os atuais drivers gráficos de código aberto do Linux tenham um bom desempenho e sejam geralmente competitivos com o Windows, há um desejo de fazer melhor. Com a abordagem mais simples proposta de Marek, ele espera, em última análise, uma latência mais baixa e um melhor desempenho com a remoção de barreiras por objeto de buffer. A proposta também apresenta mudanças em torno do tratamento de cota de uso de vRAM por processo e muito mais.

De acordo com o plano, a sincronização implícita seria descontinuada com o tempo e poderia ser feita como parte do novo hardware trazido no driver, onde só seria implementado com o design explícito de cercas em todos os lugares.

Os interessados ​​em todos os detalhes técnicos da proposta de Marek podem encontrá-la na lista de mala direta .

O desenvolvedor de drivers da Intel, Jason Ekstrand, comentou que estão buscando uma abordagem de "cercas de espaço do usuário", que também foi uma sugestão feita pelos desenvolvedores de drivers do Windows da AMD, mas foi considerada insuficiente e pode apresentar novas implicações de segurança. Mas, para encurtar a história, melhorar o gerenciamento de memória da GPU do Linux é um assunto que está sendo discutido para uma melhoria / re-arquitetura significativa no futuro. Com a Intel avançando com seus esforços de gráficos discretos de alto desempenho e a AMD obtendo vitórias consideráveis ​​para supercomputadores baseados em Linux e muito mais, aprimorar ainda mais esses drivers de kernel é do interesse de todas as partes





Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário