O kernel Linux principal é capaz de programar GPGPU?

2

A questão é simples, existe suporte GPU de propósito geral no kernel do Linux?

Deixe-me explicar em mais detalhes, já que é um tópico muito amplo. Pela palavra "capaz" quero dizer apoio nativo. Isso desdobra o OpenGL e o OpenCL, pois são apenas APIs para ajudar aplicativos de código no modo de usuário.

Alguns equívocos comuns são de que, como super computadores usam GPGPUs e executam o Linux, o Linux os utiliza. Bem, não é bem assim. As distribuições Linux executadas em supercomputadores muitas vezes não são as mesmas que as distribuições ordinárias que conhecemos. Eles estão tão modificados que não são Linux, mas todo um novo sistema operacional.

Outra resposta famosa pode ser o fraco suporte das GPUs. Bem, não vamos lá e eliminar todos os outros fatores seja gargalo ou algo como arquitetura.

Vamos reformular a pergunta da seguinte forma:

Does the mainline Linux kernel natively utilize stream processing via general purpose registers of a GPU? And if it is, to what extent?

    
por AceofSpades 18.11.2013 / 03:58

2 respostas

3

Apenas uma nota, a ideia do kernel ter que virtualizar e contextualizar centenas de registros de GPU é horripilante e o kernel não está fazendo nada que possa se beneficiar de usá-los. Há código no kernel para gerenciar o compartilhamento de recursos da GPU entre processos (mais do que esse código está migrando para o kernel constantemente), e os processos que compartilham a GPU para computação fazem isso via opencl e cuda e afins, mas qualquer contexto da GPU Comutação eles não serão vinculados a qualquer segmento de CPU porque veja acima. Eu suspeito strongmente que a GPU é executada de forma totalmente independente e relata seus resultados com um relatório de barramento de algum tipo, leitura de registro voltada para a CPU ou interrupção ou outros enfeites.

    
por 19.11.2013 / 05:36
1

A resposta simples é não. Após algumas pesquisas e leitura de código, eu acredito que o kernel Linux da versão 3.12 tem pouquíssimos ou nenhum suporte para os registradores de uso geral das GPUs. Isso vem de décadas de noção centrada na CPU que vai precisar de uma mudança drástica se for mover-se na direção do processamento de fluxo.

Apesar de admitir a má qualidade da pergunta, não recebi uma resposta direta. Eu ainda acho que user50849 chegou perto de responder a pergunta.

    
por 19.11.2013 / 03:11