O que acontece quando a memória da GPU não é suficiente?

2

Digamos que eu tenha uma GPU com memória de 1GB, mas meu aplicativo requer 2GB de memória de placa de vídeo, o que acontecerá quando eu executar o programa? O aplicativo pega a memória da RAM? Como ele lida com a memória de vídeo insuficiente?

Por algum motivo, ainda posso executar o aplicativo e percebi que o processo system.exe ocupa bastante memória (~ 800 MB), não tenho certeza se isso está relacionado à memória de vídeo insuficiente ou se existe outro assunto.

    
por rcs 30.09.2015 / 16:50

2 respostas

6

As GPUs modernas executarão um modo híbrido, em que os drivers / GPU começarão a transmitir dados de textura da RAM do sistema pelo barramento PCIe para compensar a RAM "ausente". Como a RAM do sistema é de 3 a 5 vezes mais lenta que a GDDR5 com latência muito maior, a falta de "VRAM" se traduziria em uma aplicação mais lenta e perda significativa de FPS.

No entanto, o desempenho será limitado pelo bandwitdh PCIe (6 GB / s).

Ao programar com o kit de ferramentas CUDA (v2.2 +), isso é conhecido como cópia zero .

Aqui está o código para isso, para quem está curioso como funciona.

float *a_h, *a_map;
cudaGetDeviceProperties(&prop, 0); 
if (!prop.canMapHostMemory) 
    exit(0); 
cudaSetDeviceFlags(cudaDeviceMapHost);
cudaHostAlloc(&a_h, nBytes, cudaHostAllocMapped);
cudaHostGetDevicePointer(&a_map, a_h, 0);
kernel<<<gridSize, blockSize>>>(a_map);

Leia mais em: link

    
por 30.09.2015 / 17:07
1

What will happen when I run the program?

Ele usará 100% da VRAM disponível para o seu sistema. Ele funcionará sem problemas porque foi implementado para usar a memória do sistema também ou porque você não tem VRAM suficiente e pode se comportar de maneiras inesperadas.

Does the application take the memory from RAM?

Se o aplicativo exigir 2 GB de VRAM, ter mais memória do sistema não ajudará, a menos que o aplicativo tenha sido projetado para isso.

How does it handle the insufficient video memory?

Isso depende totalmente da implementação que o autor do aplicativo escolhe implementar.

    
por 30.09.2015 / 17:00