Gostaria de saber quantas unidades paralelas para processamento de vértices uma GPU possui.
Esta página da Wikipedia fornece GFLOPS e velocidade de relógio, por exemplo, para a Radeon 5850 "Broadway PRO", você recebe 1000 GFLOPS. Suponha que a execução de um shader de vértice seja 100 flops, então isso significa que você pode processar 1000e9 / 100 = 10e9 vértices por segundo.
Existe um número publicado pelo fabricante do número de unidades de processamento paralelo ou uma maneira de saber esse número?
Respostas:
Não, certamente não.
Basicamente, você deve considerar suspeito qualquer cálculo da velocidade de execução de qualquer código baseado apenas na contagem de "FLOPS". De fato, geralmente é melhor que você ignore completamente o FLOPS.
Você não definiu o termo "unidade paralela"; sem essa definição, poderíamos adivinhar o que você está querendo.
Pegue a Radeon 5870. Possui 1600 unidades de ponto flutuante. Isso significa que, para cada ciclo, ele pode executar 1600 operações escalares de ponto flutuante de uma só vez. No entanto, cada código de operação VLIW funciona em registros matemáticos vetoriais de 5 vias. Portanto, a menor granularidade possível do código real é 1600/5 ou 320 (nota: essa é uma grande simplificação). São 320 tópicos.
No entanto , não é assim que funciona. Você não tem 320 caminhos separados de execução em andamento. Você não pode ter 320 partes diferentes de código em execução em 320 unidades diferentes. Veja, os VLIWs de 5 vias estão agrupados em núcleos SIMD de 4 vias. Cada SIMD pode ter seu próprio caminho de execução e seu próprio código-fonte. Cada VLIW em um núcleo SIMD pode ter dados separados, para que eles calculem valores separados. Mas cada VLIW dentro de um núcleo SIMD executa as mesmas instruções na etapa de bloqueio com os outros VLIWs nesse núcleo.
Realmente, você só tem 320/4, ou 80 threads no total. Mas, novamente, depende de que tipo de "unidade paralela" você está falando. Tecnicamente, 1600, 320 e 80 são todas respostas legítimas.
E isso é apenas para uma arquitetura específica . A linha Fermi da NVIDIA (GeForce 4xx e superior) usa uma arquitetura muito diferente. A linha Cayman da ATI (Radeon 69xx) altera os VLIWs de 5 vias para VLIWs de 4 vias. Sua próxima arquitetura também pode ter algumas diferenças significativas.
Sem saber o que você está procurando, simplesmente não há como responder à pergunta.
fonte
Eu não entendo, o que você quer dizer com unidade de processamento paralelo? unidades shader? Como hoje em dia um ppu e um gpu são basicamente a mesma coisa, quero dizer que o ppu é o gpu se estamos falando de ati radeon.
Suponho que você queira dizer as unidades funcionais, você deve ler o
Config core
campo na wikipedia:Config Core – The layout of the graphics pipeline, in terms of functional units. Over time the number, type and variety of functional units in the GPU core has changed significantly; before each section in the list there is an explanation as to what functional units are present in each generation of processors.
então para o radeon você diz que teria:
qual para o broadway pro é:
800:40:16
isso significa que possui 800 unidades de shader, 40 unidades de mapeamento de textura e 16 unidades de saída de renderização.
EDIT: Bem, não, parece que a unidade de processamento paralelo também é aplicada ao que você quer dizer, então acho que é meio confuso chamá-los dessa maneira. Eu os chamaria de unidades shader ou núcleos simd.
fonte