Quando se trata de IA, aprendizado de máquina e manipulação de grandes blocos de dados, é necessário um hardware especializado para realizar a tarefa com eficiência. Esses processos utilizam grandes quantidades de dados que exigem hardware que pode fornecer a largura de banda necessária e recursos poderosos de processamento paralelo. Enter-Tecnologia de armazenamento GPUDirect da NVIDIA.
GPUDirect é uma tecnologia DMA (Direct Memory Access) que permite que a placa gráfica NVIDIA em um dispositivo acesse a unidade de armazenamento para facilitar a troca de dados. Essa tecnologia também é aplicável a sistemas baseados em rede onde a troca de dados pode ocorrer sem envolver a CPU ou a memória do sistema.
A tecnologia NVIDIA GPUDirect promete aumentar o desempenho e reduzir os tempos de carregamento do dispositivo, reduzindo simultaneamente a tensão na CPU do sistema.
Como funciona o armazenamento direto da GPU?
Em um computador tradicional, sempre que algum dado precisa ser processado pela placa gráfica, ele primeiro passa do armazenamento para a CPU que copia os dados para a RAM. Então, a RAM novamente transfere os dados de volta para a CPU, que finalmente transfere os dados para a GPU. Isso torna o fluxo de dados um processo complicado que exige que a CPU manipule e gerencie todo o fluxo de dados para a GPU.

GPUDirect reimagina como os dados em um sistema devem ser tratados. Seu método de acessar os dados diretamente do armazenamento reduz significativamente os tempos de processamento. Para obter isso, ele aproveita os blocos de construção e o mecanismo de execução altamente especializados da placa gráfica.

Usando essa tecnologia, os dados não precisam competir com outros processos pela largura de banda da memória, reduzindo os tempos de espera pelos quais os dados precisam passar.
Ao utilizar a pilha de software NVIDIA Magnum I/O e DALI (Data Loading Library), as tarefas baseadas em Deep Learning e AI podem ser processadas com muita eficiência.
Benefícios do uso do armazenamento GPUDirect
Se implementado, a NVIDIA afirma que o GPUDirect melhorará e otimizará o desempenho do sistema, proporcionando um alto nível de poder de computação paralela. Isso também significa que a tecnologia pode ser usada para processar grandes quantidades de dados, como inteligência artificial e armazenamento de dados. A seguir estão alguns dos benefícios do GPUDirect:
Reduz a utilização da CPU e da memória do sistema: a tecnologia de armazenamento GPUDirect ajuda a reduzir a pressão sobre a CPU e a memória do sistema, reduzindo o número de E/S (Entrada/Saída). Reduz os tempos de carregamento e aumenta a taxa de descompressão de dados do hardware: Se você joga ou executa qualquer tarefa especializada que exija que a CPU processe grandes quantidades de dados, o GPUDirect acelera o processo e ajuda a descarregar as instruções que serão enviadas para a CPU. Facilita o aprendizado profundo e a IA: a IA e o aprendizado profundo são complexos e exigem processamento em vários níveis. Ao utilizar o GPUDirect, você pode processar grandes blocos de dados com relativa rapidez quando comparado ao processamento de dados por meios tradicionais.Ignorar o problema do gargalo da CPU: Ao reduzir a carga de processamento e as sobrecargas na CPU, o GPUDirect aumenta o desempenho do sistema e faz com que ele se concentre mais em operações lógicas em vez de manipular a transferência de dados para a GPU. Melhora o desempenho dos jogos em consoles e hardwares compatíveis: Ao utilizar o poder de processamento paralelo da GPU, os dados e os ativos dos jogos que você joga serão carregados muito mais rapidamente. A melhoria geral na qualidade gráfica, distância de visão, ativo ambiental e efeitos de partículas pode ser vista adotando a tecnologia GPUDirect e implementando-a em jogos.
Limitações do armazenamento GPUDirect
Apesar de todos os seus benefícios, NVIDIA GPUDirect, sendo uma tecnologia relativamente nova, vem com suas próprias ressalvas. Questões como compatibilidade limitada e um processo de configuração complicado são alguns dos fatores que podem afetar a ampla adoção dessa tecnologia. Algumas desvantagens dessa tecnologia são:
Compatibilidade de E/S limitada: Sendo uma nova tecnologia lançada em 2019, a tecnologia de aceleração de E/S NVIDIA GPUDirect tem compatibilidade limitada com outros sistemas. Requer configuração adicional para operar: NVIDIA GPUDirect Storage não vem habilitado por padrão. Os usuários terão que configurar e instalar manualmente os drivers e softwares necessários para que isso funcione em seus dispositivos. Ele também requer a instalação da pilha de software Magnum I/O para habilitar sistemas de arquivos, operar e processar grandes dados e operações relacionadas a IA.Suporte limitado de hardware e software: GPUDirect sendo uma nova tecnologia, possui software limitado que pode realmente tirar proveito desse recurso. Isso também significa que o GPUDirect tem suporte limitado para sistemas legados. O recurso requer a plataforma de computação paralela CUDA e pelo menos a série 8.x de placas gráficas para operar.
O que isso significa para os jogos?
Usuários médios e máquinas de computação doméstica não podem realmente aproveitar esse recurso ao realizar tarefas como jogar. Os jogos e o software precisam ser otimizados para aproveitar esse recurso, tornando o GPUDirect um nicho para um usuário médio.

No entanto, a tecnologia está sendo adotada em ritmo constante por desenvolvedores e fabricantes de hardware. A nova arquitetura Velocity do Microsoft Xbox utiliza tecnologia semelhante para reduzir significativamente os tempos de carregamento e aumentar o desempenho de seu console da série X.
Os jogos compatíveis também devem ser lançados em um futuro próximo.
O que devemos esperar no futuro?
Principalmente associados a IA, aprendizado de máquina e processamento de dados, GPUDirect tem uso principalmente no setor industrial de computação. A tecnologia é usada principalmente por desenvolvedores de software e grandes centros de processamento de dados que contam com a capacidade de operação paralela da GPU para reduzir o tempo de processamento de dados.
No entanto, a tecnologia está se espalhando muito rapidamente e outros fabricantes desenvolveram suas próprias alternativas ao NVIDIA GPUDirect. Ou seja, OpenCL da AMD e armazenamento direto do Windows.
Em suma, a tecnologia NVIDIA GPUDirect Storage visa melhorar os tempos de carregamento e processamento em aplicativos e software, otimizando o fluxo de dados no sistema.