Drivers para implementar vGPU (GPU over IP)?


0

Tem dois computadores: um em casa (sem GPU) - e outro (com uma GPU nVidia CUDA) alugado em um data center (computação em nuvem) ou coleta de poeira na casa de um amigo.

  1. Alguém já desenvolveu um driver que permite que meu computador domine a GPU do computador remoto pela Internet?

    Esse driver (vamos chamá-lo de "vGPU") permitiria que os aplicativos CUDA existentes usassem a GPU remota como uma GPU local de forma transparente (de forma transparente - sem modificação).

  2. Existe uma razão fundamental porque não pode existir?

  3. Os drivers vGPU existentes (se houver) são escalonáveis ​​para lidar vários servidores de GPU?
  4. Latência não é crítico para meus aplicativos de GPU (IA, criptografia, renderização em 3D, processamento de vídeo), mas seria um bônus adicional se a latência de uma solução existente fosse suficiente para permitir aplicativos em tempo real, como jogos.

Eu estava procurando por um por anos antes de acabar postando essa pergunta aqui.


“Alguém desenvolveu um driver que permite que meu computador doméstico aproveite a GPU do computador remoto pela Internet?” - A Nvidia lançou um serviço inteiro com base nessa ideia. No entanto, ele não pode ser usado para aplicativos CUDA, pelo menos atualmente.
Ramhound


@Ramhound: Eu estava vagamente ciente das tecnologias de virtualização da GPU da Nvidia. É terrível que nada disso esteja disponível como um driver agnóstico do Windows para o benefício dos aplicativos CUDA.
7vujy0f0hy

Respostas:


1

Não há driver de GPU sobre IP que eu saiba. No entanto, se você tiver um computador físico inteiro em um data center, poderá usar a área de trabalho remota.

O Windows tem a Área de Trabalho Remota embutida e existe um grande número de softwares remotos vnc para o Linux. Você pode se conectar ao seu computador pela Internet e instalar o software e executar o software no computador remoto com a GPU.

No entanto, o que você não pode fazer é adicionar diretamente a capacidade de computação da GPU ao seu PC. Os requisitos de largura de banda são ótimos. Os slots pci-e 1.0 x16 têm 4GB / se 2.0 são 8GB / s, e isso é especialmente difícil para jogos. Você pode transmitir vídeos em 1080p pela internet, mas você precisará de velocidades rápidas de acesso à Internet ou ficará lento.

O OpenCL ou CUDA talvez consiga usar um nível de largura de banda menor, já que a GPU pode gastar muito tempo em cada cálculo e gastar menos comunicação.

No entanto, como a GPU precisa ser conectada a um computador para ser útil, é melhor executar o software completamente no computador remoto.


Existência de soluções como rCUDA , Nvidia vGPU , SETI @ home , a “Solução remota” O VisualSFM, assim como outras plataformas de computação distribuída, contradiz a afirmação de que a GPU precisa ser conectada a um computador para ser útil. Eu entendi mal esses aplicativos?
7vujy0f0hy

1
@ 7vujy0f0hy SETI @ home é exatamente como eu disse. Faz o download de uma unidade de trabalho para o seu PC que tem o software em execução. O back end do SETI @ home envia apenas unidades de trabalho que coletam os resultados.
cybernard

O SETI @ home não executa a tarefa inteira no servidor, apenas pequenos quanta da tarefa. Como isso é fundamentalmente diferente do meu driver vGPU ideal? (Além de ser uma solução de propósito único.) Uma propriedade importante de não Executar uma tarefa inteira em uma máquina alugada é a segurança de dados. Também a existência de rCUDA e Nvidia vGPU parece contradizer sua opinião até mais diretamente. Em qualquer caso, o +1 vai para você por tentativa e esforço.
7vujy0f0hy

NVIDIA vGPU: "GPUs NVIDIA em máquinas virtuais (VMs) e aplicativos virtuais" Portanto, se você tiver um servidor vmware, poderá permitir que todos eles compartilhem a GPU. Em uma VM, todo o pacote de software é executado no PC remoto e você só se conecta a ele por meio de um protocolo semelhante ao da área de trabalho remota. Meu entendimento é que você quer enviar os pacotes em GPU streaming em tempo real para serem processados ​​pela GPU e os resultados para retornar imediatamente a você. Se você quiser empacotar seu trabalho, conectar-se a um servidor remoto e ter os resultados eventualmente retornados, você poderá fazê-lo, mas será muito trabalhoso.
cybernard
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.