Doom rodando na GPU: como? (portaram um SO pra GPU só pra isso)

Поділитися
Вставка
  • Опубліковано 10 жов 2024
  • Acabaram de portar Doom pra GPU e nesse vídeo vou mostrar a gambiarra e dificuldades por trás de tudo isso.
    LIVES: Toda terça e quinta as 21h
    COMUNIDADE DO DESEMPENHO: / discord
    SEJA MEMBRO: / @waine_jr
    Vídeos exclusivos, lives salvas e canal no Discord só para membros!
    LINKS
    Doom para GPU: github.com/jhu...
    LLVM RPC de GPU: github.com/llv...
    REDES
    Site: www.wainejr.com/
    Instagram: / waine_jr
    TikTok: / waine_jr
    GitHub: github.com/wai...
    Discord: / discord
    00:54 Comunidade do Desempenho!
    01:21 Conversa entre GPU e CPU
    03:21 Jogos em GPU? Impossível
    04:19 Da GPU para CPU
    05:58 Código
    06:53 RPC: A mágica por trás
    09:44 Como funciona o RPC?
  • Наука та технологія

КОМЕНТАРІ • 27

  • @59day19
    @59day19 3 дні тому +3

    Já rodaram doom em uma rede neural, literalmente uma ia criando doom em tempo real e é tão instável quanto um sonho

    • @pboechat
      @pboechat 2 дні тому +1

      @@59day19 isso foi maneiro msm! Nao eh realmente a msma coisa q "rodar o codigo d doom" ainda q com grandes adaptacoes, mas mais uma demonstracao d como gerar frames d doom a partir d entradas d usuario neh

  • @NaoSeiProgramar
    @NaoSeiProgramar 3 дні тому +2

    Doom é literalmente um jogo universal.

    • @waine_jr
      @waine_jr  3 дні тому +1

      Poderíamos substituir a definição de Turing completo por: roda Doom? kkkkkkkkkk

    • @NaoSeiProgramar
      @NaoSeiProgramar 2 дні тому

      @@waine_jr Pode até ser coincidência, mas já costumo usar essa frase cotidianamente kkk

  • @GrandeFiasco
    @GrandeFiasco 3 дні тому +4

    Porra esse é o tipo de vídeo que eu ia querer colocar no meu vídeo. Eu tô refazendo o algoritimo de mapa deles vou fazer uma parte 2 e vou te chamar pra fazer outro vídeo sobre

    • @Masqueico_B0stileiro
      @Masqueico_B0stileiro 3 дні тому

      Manda a braba

    • @waine_jr
      @waine_jr  3 дні тому

      Ia ser uma honra participar do vídeo, Fiasco!

    • @pboechat
      @pboechat 2 дні тому

      @@GrandeFiasco fala camarada, desculpa me intrometer, mas qq vc quer dizer com "algoritmo d mapa deles"? Um loader pra Wad? Tais estruturando teus mapas em memoria com bsp? Abcs

  • @ulysses_grant
    @ulysses_grant 3 дні тому +1

    Acho que o próximo passo é rodar Doom em um pão de padaria.

  • @marcocunhabr
    @marcocunhabr 3 дні тому +2

    Imagino que isso possa ter utilidade em ferramentas de debug na GPU.

    • @waine_jr
      @waine_jr  3 дні тому

      Mesmo pra ferramentas de debug os protocolos e utilitário são bem desenvolvidos, com gdb-cuda ou semelhantes pro OpenCL, além de muita coisa pra profiling de desempenho

  • @viniciuslc
    @viniciuslc День тому

    Waine, fala sobre um dev que rodou linux em um intel 4004, demorou so alguns dias pra dar um boot completo kkkk

  • @pboechat
    @pboechat 3 дні тому +1

    Sobre o llvm.rpc_host_call: acho q eh um intrinsic pra ser usado por um runtime q queira se beneficiar do ferramental da llvm pra implementar coisas d computacao hibrida. Nao consegui encontrar nenhum uso corrente disso (ainda), mas consigo imaginar coisas tipo runtime d ML e tal usando isso.

    • @pboechat
      @pboechat 3 дні тому

      Ah, o ChatGPT me jurou d pes juntos q o open XLA usa isso, so nao conseguiu me apontar exatamente onde.

    • @waine_jr
      @waine_jr  3 дні тому

      Sim, o LLVM dá essa infra, e achei interessante agora ter essa possibilidade de pensar a GPU também como Host de um sistema, podendo fazer chamadas pro SO sem ter que sair dela. Pro que vai servir ainda tô curioso de saber, pq essas chamadas devem ser MUITO lentas kkkkkkkk

  • @59day19
    @59day19 3 дні тому

    Qual a próxima? Rodar doom no hd ? Rodar doom na memória de cache ?

    • @waine_jr
      @waine_jr  3 дні тому +1

      hhahahahahaha não ironicamente é tão difícil rodar Doom na GPU quanto num HD ou numa placa de vídeo, por essas chamadas de SO. Mas fazendo o driver pra essa RPC do dispositivo pro SO, tá feito em tudo isso aí.
      (Eu chuto que Doom cabe na cache da GPU inclusive, só precisa da RAM pra comunicação mesmo)

  • @pboechat
    @pboechat 3 дні тому

    Sobre um SO rodando exclusivamente na GPU: eu tb acho q isso nao faz muito sentido, ate mesmo pq na pratica o q seriam atribuicoes tipicas d um SO, - gerenciamento d recursos, agendamento d tarefas, tratamento d erros, etc. - seriam distribuidas entre multiplas plataformas (como sao hj com driver na CPU e algum tipo d firmware d frontend na GPU).

    • @waine_jr
      @waine_jr  3 дні тому

      Sim, não faz sentido mesmo, na documentação na verdade é como se a GPU recebesse capacidades de um SO (por meio do RPC e chamadas pro SO real), mas nem isso mesmo eu consigo ver mt caso de uso. Vamos ver com o tempo o que o povo vai inventar com isso hahahaha

    • @pboechat
      @pboechat 2 дні тому

      @@waine_jr ate certo ponto seria mais facil imaginar uma CPU totalmente SIMD... Mas eh aquilo, o trade-off seria gigantesco e ele possivelmente seria ruim (comparativamente) tanto em throughput quanto em esconder latência!

    • @pboechat
      @pboechat 2 дні тому

      @@waine_jr afinal d contas, a CPU eh uma maquina d calcular especializada em fingir q nao eh lenta em tarefas "gerais" hehe
      Pra tarefas q sao comprovadamente afeitas a um "paradigma computacional" (eg, embarrassingly parallel), melhor usar uma maquina d calcular q nao gasta tempo fingindo nao ser lenta (e sim resolvendo o problema) 😁

  • @pboechat
    @pboechat 3 дні тому

    Tem um "toy" OS chamado DawnOS q eu acho q roda (ou poderia rodar) em GPU.

    • @waine_jr
      @waine_jr  3 дні тому

      Não conhecia ele, e pelo que pesquisei é um sistema que roda em uma instrução, e dá pra rodar em GPU inclusive, muito massa hahahaha
      Esses projetos "toy" são os melhores de acompanhar, pessoal faz cada gambiarra e inovação pra uma coisa que "não serve pra nada"

    • @pboechat
      @pboechat 2 дні тому

      @@waine_jr usando o meme do homer positivamente:
      Nao serve pra nada *ate agora* 😁