Digamos que eu esteja usando um computador, qualquer computador moderno típico mais ou menos. Um driver de dispositivo é responsável por tudo que vejo na minha tela, inclusive quando digito isso, a tela é atualizada (é claro que isso está dentro do escopo de um sistema operacional, como o Windows).
Vamos levar isso ao nível em que o hardware não se importa se existe um kernel ou não, e apenas recebe instruções.
Basicamente, como as GPUs "sabem" exatamente como fazer tudo? Um driver controla basicamente todas as funções minúsculas, intrínsecas ou de nível de circuito de hardware possíveis ou necessárias para calcular dados binários para exibição usando instruções especiais fornecidas por um driver?
Nesse caso, a GPU usa uma linguagem "assembly" ou "especial" para entender as instruções enviadas a ela como uma CPU?
Tenho muitas lacunas no meu conhecimento e existe esse "mistério" desagradável por trás das GPUs e de acessá-las diretamente via hardware.
Por exemplo, uma GPU e CPU precisam ser capazes de conectar-se de alguma forma, para que seja possível acessar uma GPU via conjunto da CPU e implementar os barramentos de dados / endereço corretos. Não há como um fornecedor de dispositivos impossibilitar o acesso à GPU fora de um driver, porque um driver também é código compilado e a GPU, como um circuito programável, deve trabalhar com instruções binárias.
Eu fiz esses tipos de perguntas e elas são excluídas violentamente rapidamente, sem resposta por que em muitos sites, então qual é o grande mistério / segredo aqui? É um pedaço de hardware em uma placa-mãe que é acessado como qualquer outro.
Então, realmente ... supondo que essa seja uma pergunta "ok" aqui sobre software e hardware, qualquer pessoa pode acessar diretamente uma GPU sem arquivos específicos do fornecedor, porque os arquivos não são mágicos.
Então, como as GPUs são "programadas" da perspectiva direta de hardware direto no nível específico do hardware?