Se você se interessa por games, provavelmente já leu algo sobre placas de vídeo (ou GPUs, na sigla em inglês). Esses componentes de hardware são essenciais para todos que pretendem rodar os jogos de última geração em seus computadores, e não é à toa: eles tem um poder monstruoso de processamento.
Olhe para a lista de especificações técnicas de uma GPU e você verá RAM, núcleos de processamento, clock e uma série de outros fatores. Elas são quase como pequenos computadores que funcionam dentro do computador. Mas, é claro, você não consegue aproveitar o poder delas sem um processador igualmente potente.
Se as placas de vídeo recebem a sigla GPU (de “Graphics Processing Unit”), os processadores são chamados de CPU, de “Central Processing Units”. E embora os processadores sejam geralmente os principais responsáveis pela potência de um sistema, em alguns casos – como nos games – a GPU importa muito mais.
Cada um trabalha de um jeito
Enquanto os CPUs têm poucos núcleos (em geral até 10) voltados para fazer uma tarefa depois da outra o mais rapidamente possível, os GPUs são diferentes. Eles possuem um número muito maior – às vezes milhares – de núcleos bem menos potentes, mas que conseguem desempenhar diversos trabalhos em paralelo.
Para desenvolvedores, a possibilidade de ter milhares de núcleos trabalhando para seus programas ao mesmo tempo é bem atraente. Mas para servidores, por exemplo, que precisam lidar o tempo todo com um número imenso de tarefas simples, ela é ainda mais importante.
Processos que exigem um grande número de cálculos simples, tais como muitas questões de pesquisa acadêmica, também acabam sendo delegados a GPUs. O poder de processamento paralelo delas garante que elas sejam resolvidas em um tempo muito menor, e com muito mais eficiência energética, do que qualquer CPU seria capaz.
Voltando ao exemplo dos games: alguns usuários mais vorazes por performance equipam suas máquinas com mais de uma GPU – às vezes até quatro – para garantir o máximo de desempenho. Mas, de novo, os jogos não são os únicos programas que podem ser melhorados com o uso de GPUs. Cálculos extremamente complexos e algumas cargas particularmente intensas de trabalho se beneficiam muito da integração desses componentes ao hardware.
Um exército de placas
Dessa perspectiva, é fácil imaginar que há inúmeras aplicações comerciais para o poder computacional das placas de vídeo. De fato, há. E por isso diversas empresas que fornecem infraestrutura de TI já oferecem a opção de acrescentar GPUs à infraestrutura de seus clientes. A IBM, por exemplo, oferece esse serviço na plataforma Bluemix. E como a demanda por cálculos desse tipo pode ser pouco frequente, ele pode ser contratado por hora também.
Mas não se trata de equipar apenas uma máquina com até quatro placas. Trata-se do uso de GPUs em uma escala inteiramente diferente, formando núcleos de computadores ligado por rede (ou “clusters”) extremamente potentes. Com eles, abre-se uma ampla gama de possibilidade de processos de HPC (computação de alta performance na sigla em inglês) e HPDA (análide de dados de alta performance) que podem ser feitos na nuvem.
Empresas de engenharia podem usar essas ferramentas para automatizar processos de produção; empresas farmacêuticas, para fazer simulações e desenvolver remédios melhores. E todas as empresas podem, de uma maneira ou outra, utilizar o imenso poder de processamento das GPUs para encontrar respostas a perguntas que antes não podiam sequer ser formuladas.
Fazendo a máquina pensar por você
Um dos processos mais revolucionários da tecnologia, aliás, tem nas GPUs seu grande aliado. Trata-se do Deep Learning, ou “aprendizagem profunda” em tradução livre. A deep learning permite que as máquinas aprendam com sua interação com os usuários e se refinem ao longo do tempo. As GPUs, no entanto, conseguem acelerar esse processo, promovendo um “treinamento” extremamente intenso dos algoritmos em poucas horas.
Essa tecnologia é essencial para empresas que queiram entrar na era da computação cognitiva. Nela, os seus dados e a sua infraestrutura trabalham por você para analisar as tendências do mercado e te ajudar a tomar as melhores decisões. Mas para fazer isso, elas precisam do máximo de eficiência, rapidez e dados que você puder proporcionar.