Quais são as diferenças de arquitetura entre GPU e CPU?

Поделиться
HTML-код
  • Опубликовано: 28 авг 2024

Комментарии • 68

  • @italothiagodev
    @italothiagodev 2 месяца назад +22

    Obrigado pelo conteúdo, muito interessante ver alguém que se preocupa em explicar conceitos de baixo nível, nessa era sensacionalista onde tudo e NoCode e IA.

    • @waine_jr
      @waine_jr  2 месяца назад +13

      Melhor ainda é ver a comunidade curtindo e dando tanto feedback positivo, não imaginava nada disso quando tava começando hahahaha

  • @cristianoo2
    @cristianoo2 2 месяца назад +19

    Uso GPU pra acelerar meus algoritmos de base matricial. O que faço na prática é implementar kernels que lidam com 1 dado apenas, de um conjunto de milhares de dados. Como a GPU tem cerca de 2048 cuda cores, 2048 dados sao executados em paralelo.
    Então consigo pegar algoritmos que exigiriam 2 milhoes de iterações e transformar eles em algo que leva menos de 1000 iterações

  • @fabiocaffarello
    @fabiocaffarello 2 месяца назад +4

    Muito bacana o seu Canal!!
    Sou engenheiro de dados e estou me especializando como engenheiro de machine learning.
    Embora não programe no baixo nível (uso muito python, spark, golang e iniciando minha jornada no rust) busco entender como funciona no baixo nível para complementar meu conhecimento e entender melhor as coisas por de baixo dos panos!! Achei bem interessante a sua abordagem e estou ansioso pelos futuros vídeos!
    Parabéns pelo trabalho!

  • @tenshizer0
    @tenshizer0 2 месяца назад +4

    Muito bacana teu canal. Eu fiz meu TCC e mestrado usando CUDA pra rodar algoritmos de otimização bioinspirados (AG, PSO, etc) em GPU. Meu maior gargalo eram as funções de avaliação, que muitas vezes me faziam trocar muitos dados entre RAM e GPU

    • @waine_jr
      @waine_jr  2 месяца назад

      Essa transferência de memória acaba com o desempenho de qualquer aplicação mesmo, é bem importante tentar fazer o máximo de tarefa possível na GPU e diminuir o número de transferências. É ordens de magnitude mais lento do que um acesso de memória em GPU.

  • @gersonmatavele80
    @gersonmatavele80 2 месяца назад +5

    Grande tópico. Trabalhei em pesquisa de virtualização da GPU :)

  • @NeuriLee
    @NeuriLee 2 месяца назад +2

    Foi sorte demais ter encontrado esse canal, pqp que conteúdo sensacional, coisa finíssima, não se acha quase nada nesse nível, muito baixo por sinal 😅😅 e meu Deus que trocadilho sensacional, não uso muito, mas quando aparece a oportunidade.. quase emociono kkkk muito engraçado kkkk

    • @waine_jr
      @waine_jr  2 месяца назад

      Kkkkkkkkkkk conteúdo de baixo nível é irresistível, a gnt tem que comentar

  • @GGB98
    @GGB98 2 месяца назад +1

    Baixo nível mas excelente qualidade! Parabéns!

  • @luizfilipe7630
    @luizfilipe7630 2 месяца назад +4

    9:15 isso de pular instantaneamente para outra thread tinha na linha i3. eles colocavam mais memória no L1 de cada core e salvava o contexto de duas threads neles, aí conseguiam trocar rapidamente. esta tecnologia se eu n me engano é chamada de hyperthreading e incrivelmente funciona mto bem para certos tipos de paralelismos.

    • @waine_jr
      @waine_jr  2 месяца назад +2

      Não sabia disso em CPU não, mt interessante e uma ótima solução pra acelerar troca de contexto.
      Na GPU tem isso também e é chamado de "register spilling", quando você salva o contexto dos registradores em caches. Mesmo sendo mt mais rápido que memória global, é ainda bem mais lento que manter os registradores alocados e costuma degradar o desempenho das aplicações qnd precisamos fazer. Bem comum qnd o número de registradores necessários não cabe no core da GPU.

  • @deleterium
    @deleterium 2 месяца назад +2

    Muito bom! Aprendi programação de gpu na prática e apanhando muito, mas agora sabendo os conceitos tudo se encaixa melhor!

  • @MiguelV-DF-xv2nf
    @MiguelV-DF-xv2nf 2 месяца назад +3

    Muito bom, me ajudou a entender mais um pouco sobre o assunto!

  • @marcosgualbertodejesusgalv2609
    @marcosgualbertodejesusgalv2609 2 месяца назад +2

    Parabéns pelo conteúdo do vídeo e obrigado por compartilhar seu conhecimento.
    Gosto muito dos seus vídeos

    • @waine_jr
      @waine_jr  2 месяца назад

      Valeu, meu consagrado!

  • @taleslinosoares751
    @taleslinosoares751 2 месяца назад +4

    Talvez nao seja o foco do canal mas seria legal um vídeo sobre o processador CELL do Playstation 3 e como a sua arquitetura era bizarra

    • @waine_jr
      @waine_jr  2 месяца назад +3

      Eu sempre ouço falar disso mesmo, que era mt complicado programar pro play 3, quem sabe algum dia não faço conteúdo sobre kkkkkk

  • @felipefarias283
    @felipefarias283 2 месяца назад +1

    Obrigado pelo conteúdo! seria legal se vc tiver tempo, mostrar com exemplos de códigos a diferença de codar para GPU, nunca vi nada

    • @waine_jr
      @waine_jr  2 месяца назад

      Eu gosto de fazer code review em GPU, vou trazer mais vídeos dessa forma. O formato de tutorial não acho mt massa de fazer, prefiro pegar código pronto e revisar/explicar ele

  • @Gabriel-qn6ls
    @Gabriel-qn6ls 2 месяца назад +2

    Excelente video, tmj.

  • @rodrigosouzabaleeiro9920
    @rodrigosouzabaleeiro9920 2 месяца назад +1

    Muito bom seu vídeo, obrigado, se possivel eu gostaria de ver mais videos como esse.

    • @waine_jr
      @waine_jr  2 месяца назад

      Com certeza vou trazer mais vídeo assim!

  • @TulhoKay
    @TulhoKay 2 месяца назад +2

    Eu estou adorando seu trabalho. Espero que tu cresce e consegua aprofundar o conteudo. Conteudo todo condensado em um único lugar.

    • @waine_jr
      @waine_jr  2 месяца назад

      Valeu, meu querido! To vendo que mantendo constância e qualidade, o crescimento vem a longo prazo

  • @drapala97
    @drapala97 2 месяца назад +2

    mt bom esse canal mano, aprendo muito! espero que cresça bastante

    • @waine_jr
      @waine_jr  2 месяца назад

      Valeu, meu querido!

  • @Leandro_B
    @Leandro_B 2 месяца назад +3

    Eu gostaria de ver um vídeo desses só que com GPU vs NPU

    • @waine_jr
      @waine_jr  2 месяца назад

      A arquitetura vai ser bem semelhante, o que muda principalmente são os recursos, consumo, modelo de execução de cada uma. Mas eu nunca vi nada mt a fundo de NPU a nível de arquitetura, até pq é uma coisa relativamente nova

  • @diogomedeirosdealmeida3317
    @diogomedeirosdealmeida3317 2 месяца назад +2

    Muito foda

  • @AlexCastroDev
    @AlexCastroDev 2 месяца назад +1

    Muito bom o conteudo !

  • @user-fw8zp2lu4k
    @user-fw8zp2lu4k 2 месяца назад +1

    Obrigado pelo vídeo

  • @AlexeiDimitri
    @AlexeiDimitri 2 месяца назад +1

    Não é 10x. Atualmente está na casa dos 4x a 5x (uma GPU típica tem clock de 950mhz e as CPUs estão entre 4GHZ e 5GHZ)
    E parte do problema das CPUs terem tanto espaço não-ocupado por unidades de execução tem a ver tanto com o fato da x86 ter um tradutor de hardware para um ISA menor, quanto pelo fato de ter muito mais coisa embarcada no processador (como o Intel Management Engine e a GPU integrada) grandes do que na GPU, que basicamente só tem unidades de shading, computing, cod/dec de vídeo, RT Cores, Tensor Cores, etc, unidades especializadas e muito menores

    • @waine_jr
      @waine_jr  2 месяца назад

      Sim, dei uma exagerada na ordem do clock kkkkkk alguma high end chegam até a 2GHz de clock.
      Com relação ao que ocupa e o que deixa lento as CPUs, não tenho autoridade pra falar sobre essas coisas. Gosto de ouvir o Jim Keller, ler Chips n Cheese, e o pessoal que trabalha na área de proc falando, é sempre mt interessante o que eles tem a dizer sobre esses assuntos. Quebrou muito das noções que eu tinha sobre processadores e que eram ultrapassadas

  • @luizrufino5037
    @luizrufino5037 2 месяца назад +2

    Só tem baixaria nesse canal
    Do jeito que eu gosto!

  • @Giovani_Avelar_BR
    @Giovani_Avelar_BR 2 месяца назад +2

    Cara, não sei se vc já comentou em algum vídeo, mas se ainda não, vc poderia falar sobre a função dos drivers de placa de vídeo e das APIs, tipo DirectX, OpenGL, olha pra vc ver, a Intel investiu bilhões de dólares nas placas Arc e está patinando, amargando prejuízos, a AMD já tem "20 anos de curso P#%%@ !!!" e vacila em hardware e especialmente em drivers das suas gpus, porque programar drivers parece ser algo tão complexo assim, nível NASA ?

    • @waine_jr
      @waine_jr  2 месяца назад +2

      Vish cara, nesse assunto eu não manjo praticamente nada kkkkkkkkkk o que posso falar no máximo é da API do driver do CUDA, mas nunca trabalhei com firmware e driver, então não manjo nada disso

  • @andremendoncabastos5103
    @andremendoncabastos5103 2 месяца назад +1

    Bacana

  • @wesleyroseno4339
    @wesleyroseno4339 2 месяца назад +1

    6:29 o clock da gpu é 10 vezes mais lento? As GPUs trabalham acima de 2 GHz. Como pode ser 10 vezes menos que o clock de uma CPU?

    • @waine_jr
      @waine_jr  2 месяца назад +1

      Dei uma exagerada na ordem kkkkkkk mas com certeza são mais lentos que da CPU, só não 10x kkkkkkkk

  • @marcelomenesesdelima2140
    @marcelomenesesdelima2140 2 месяца назад +1

    O nivel desse canal é muito baixo kk Gostei excelente video.

  • @richmv7394
    @richmv7394 2 месяца назад +1

    Que ferramenta é essa que ele usa para escrever ✍️ e aparecer na tela?

    • @waine_jr
      @waine_jr  2 месяца назад +1

      Kkkkkkkkkk eu jogo o tablet na tela com v4l2 e uso um filtro pra aparecer só o que to desenhando, algum dia faço vídeo explicando meu setup e esses programas e ferramentas que uso

  • @joaomatheus1993
    @joaomatheus1993 2 месяца назад +1

    Eu sou meio leigo no assunto, mas a gpu também precisa de um garbagecollector? Como que funciona esse tipo de processo dentro dela

    • @waine_jr
      @waine_jr  2 месяца назад +1

      Garbage collector (GC) é uma funcionalidade feita a nível de linguagem/aplicação. A GPU ou CPU não tem essa noção de GC, pra eles só existe a memória e é isso.
      Mas tem como fazer uma aplicação em GPU que tenha GC sim e desaloque automaticamente partes da memória alocada, mas não consigo ver mt o porquê disso, geralmente a gnt quer controle manual da memória em GPU

  • @luisguilhermeoliveira1972
    @luisguilhermeoliveira1972 2 месяца назад +2

    eu sempre me perguntei porque a gente não faz o sistema operacional rodar dentro da gpu, ta explicado kkk

    • @waine_jr
      @waine_jr  2 месяца назад

      só pra bootar ia umas 3 horas kkkkkkkkk

  • @AlexCastroDev
    @AlexCastroDev 2 месяца назад +1

    o final kkkkkkkkkkkkkkkk

  • @AtilaVasconcelos
    @AtilaVasconcelos 2 месяца назад +1

    nossa, todo meu mestrado (lah em 2004) em menos de 15 minutos 😂😂😂😂😂

    • @waine_jr
      @waine_jr  2 месяца назад

      kkkkkkkkkkkk aqui quero só introduzir o assunto, chego nem perto da profundidade que um estudo de pós tem

  • @rayziru9886
    @rayziru9886 2 месяца назад +2

    Você acha que em uma faculdade de engenharia da computação vou aprender isso?

    • @juansantos6909
      @juansantos6909 2 месяца назад +1

      Vou comentar aqui pq quero saber também.

    • @waine_jr
      @waine_jr  2 месяца назад +1

      Numa faculdade de eng. de computação vai ter todo conhecimento de base necessário pra entender isso. Inclusive eu fiz esse curso na UTFPR-Curitiba.
      Falo isso porque arquitetura de GPUs não costuma ser assunto nas matérias de graduação, só arquitetura de CPU. Quando isso é ofertado costuma ser em trilhas também.
      Mas nada impede você de estudar por conta também, recomendo o Programming Massively Parallel Processors: Hands On Approach, ótimo livro pra introduzir esses conceitos

    • @waine_jr
      @waine_jr  2 месяца назад

      Respondido, meu querido!

    • @PrinceOfAstoria
      @PrinceOfAstoria 2 месяца назад

      A resposta simples: SIM. A grade mínima de um curso de Ciências da Computação ou Engenharia da Computação deveria incluir uma disciplina relacionada a Análise de Desempenho, onde você modela sistemas segundo teoria das filas e a partir disso avalia coisas como latência e thoughtput. Também deveria abordar de forma intensiva e ostensiva tópicos como Arquiteturas de Computador, onde arquituras paralelas e threads são abordadas. Observe que isso é o mínimo esperado de um currículo de bacharelado de um curso de 4 anos em uma universidade pública e em algumas universidades privadas.

  • @AlexeiDimitri
    @AlexeiDimitri 2 месяца назад

    Ah, não, achei que a velha discussão de IPC vs core count já tava superada

    • @NeuriLee
      @NeuriLee 2 месяца назад

      É igual biscoito e bolacha, a discussão jamais terá fim meu amigo 😅😅

    • @AlexeiDimitri
      @AlexeiDimitri 2 месяца назад

      @@NeuriLee Na verdade as duas questões tem uma resposta objetiva
      A maior parte das aplicações de hoje em dia se beneficia mais de core count e cada vez menos temos ganhos reais de IPC que geram impacto significativo
      E no caso da bolacha, consiste em dois biscoitos com um recheio no meio, não tem o que discutir.

    • @waine_jr
      @waine_jr  2 месяца назад

      Nesse caso são só paradigmas diferentes mesmo, acho que nem faz sentido comparar desempenho em many threads e multi core pq servem pra coisas totalmente diferentes

  • @arozendojr
    @arozendojr 2 месяца назад +2

    Tem algum preconceito com GPU AMD ou é conceito já solidificado ? 😂😂😂😂😂😂

    • @waine_jr
      @waine_jr  2 месяца назад +2

      Hahhahahahahah não tenho culpa da NVIDIA dominar o mercado. Eu uso eles por causa do CUDA e o ambiente que oferecem, mas nada contra AMD não, só não se encaixa nas ferramentas que uso atualmente

  • @masterdoxbox
    @masterdoxbox 2 месяца назад +1

    Daqui uns períodos eu me formo em engenharia eletrônica e só consigo ver desenvolvimento web de horizonte 😢😢

    • @waine_jr
      @waine_jr  2 месяца назад +2

      É o que tem mais vaga no mercado, mas não quer dizer que não existam alternativas

    • @masterdoxbox
      @masterdoxbox 2 месяца назад

      @@waine_jr e onde se encontram essas alternativas?

    • @waine_jr
      @waine_jr  2 месяца назад

      @@masterdoxbox aí tem que procurar, mas o pessoal do meu Instagram sempre manda umas coisas que eu nem imaginava que existiam no Brasil. Professores de universidade costumam manjar de empresas e institutos que trabalham com coisas especializadas também.

  • @Giovani_Avelar_BR
    @Giovani_Avelar_BR 2 месяца назад +1

    0:45 É uma vergonha, esse canal só tem conteúdo de baixo nível kkkk

    • @waine_jr
      @waine_jr  2 месяца назад +1

      kkkkkkkkkkkkkkkkkkkkk

    • @Giovani_Avelar_BR
      @Giovani_Avelar_BR 2 месяца назад +1

      @@waine_jr Como já dizia o Alborgeti "É LAMENTÁVEL" kkk parabéns pelo conteúdo, e continue falando sobre esses assuntos, quanto mais baixo nível melhor, até o nível do elétron kkkk