Pascal (microarquitetura) - Pascal (microarchitecture)

Nvidia Pascal
NVIDIA-GTX-1070-FoundersEdition-FL.jpg
A GTX 1070, a segunda placa disponível comercialmente a usar a arquitetura Pascal
Data de lançamento 5 de abril de 2016
Processo de fabricação
História
Antecessor Maxwell
Sucessor

Pascal é o codinome de uma microarquitetura de GPU desenvolvida pela Nvidia , como sucessora da arquitetura Maxwell . A arquitetura foi apresentada pela primeira vez em abril de 2016 com o lançamento do Tesla P100 (GP100) em 5 de abril de 2016 e é usada principalmente na série GeForce 10 , começando com a GeForce GTX 1080 e GTX 1070 (ambos usando a GPU GP104) , que foram lançados em 17 de maio de 2016 e 10 de junho de 2016, respectivamente. Pascal foi fabricado usando TSMC de 16 nm FinFET processo, e mais tarde Samsung de 14 nm processo FinFET.    

A arquitetura tem o nome do matemático e físico francês do século 17, Blaise Pascal .

Em 18 de março de 2019, a Nvidia anunciou que em um driver previsto para abril de 2019, eles habilitariam DirectX Raytracing em placas baseadas em Pascal começando com a GTX 1060 6 GB, e nas placas da série 16 , um recurso reservado para as placas baseadas em Turing Série RTX até esse ponto.

Detalhes

Die shot da GPU GP102 encontrada dentro das placas GeForce GTX 1080 Ti
Die shot da GPU GP106 encontrada dentro das placas GTX 1060

Em março de 2014, a Nvidia anunciou que o sucessor de Maxwell seria a microarquitetura Pascal; anunciado em 6 de maio de 2016 e lançado em 27 de maio do mesmo ano. O Tesla P100 (chip GP100) tem uma versão diferente da arquitetura Pascal em comparação com os GPUs GTX (chip GP104). As unidades de sombreamento no GP104 têm um design semelhante ao do Maxwell .

As melhorias arquitetônicas da arquitetura GP100 incluem o seguinte:

  • Em Pascal, um SM (multiprocessador de streaming) consiste em 64-128 núcleos CUDA, dependendo se é GP100 ou GP104. Maxwell empacotou 128, Kepler 192, Fermi 32 e Tesla apenas 8 núcleos CUDA em um SM; o GP100 SM é particionado em dois blocos de processamento, cada um com 32 núcleos CUDA de precisão simples, um buffer de instrução, um agendador de warp, 2 unidades de mapeamento de textura e 2 unidades de despacho.
  • Capacidade de computação CUDA 6.1.
  • Memória de largura de banda alta 2 - algumas placas apresentam 16 GiB HBM2 em quatro pilhas com um total de barramento de 4096 bits com uma largura de banda de memória de 720 GB / s.
  • Memória unificada - uma arquitetura de memória, onde a CPU e a GPU podem acessar a memória principal do sistema e a memória da placa de vídeo com a ajuda de uma tecnologia chamada "Mecanismo de migração de página".
  • NVLink - um barramento de alta largura de banda entre a CPU e a GPU, e entre várias GPUs. Permite velocidades de transferência muito mais altas do que as alcançáveis ​​usando PCI Express; estima-se que forneça entre 80 e 200 GB / s.
  • As operações de ponto flutuante de 16 bits ( FP16 ) (coloquialmente "meia precisão") podem ser executadas com o dobro da taxa de operações de ponto flutuante de 32 bits ("precisão única") e operações de ponto flutuante de 64 bits (coloquialmente "dupla precisão ") executado na metade da taxa de operações de ponto flutuante de 32 bits.
  • Mais registros - duas vezes a quantidade de registros por núcleo CUDA em comparação com Maxwell.
  • Mais memória compartilhada.
  • Sistema de agendamento de balanceamento de carga dinâmico. Isso permite que o agendador ajuste dinamicamente a quantidade de GPU atribuída a várias tarefas, garantindo que a GPU permaneça saturada de trabalho, exceto quando não houver mais trabalho que possa ser distribuído com segurança para distribuição. A Nvidia, portanto, habilitou com segurança a computação assíncrona no driver do Pascal.
  • Preempção em nível de instrução e nível de thread.

As melhorias arquitetônicas da arquitetura GP104 incluem o seguinte:

  • Capacidade de computação CUDA 6.1.
  • GDDR5X - novo padrão de memória com suporte a taxas de dados de 10 Gbit / s, controlador de memória atualizado.
  • Multiprojeção simultânea - gerando várias projeções de um único fluxo de geometria, conforme ele entra no mecanismo SMP a partir dos estágios de shader upstream.
  • DisplayPort 1.4, HDMI 2.0b.
  • Compressão de cor Delta de quarta geração.
  • Interface SLI aprimorada - interface SLI com largura de banda maior em comparação com as versões anteriores.
  • PureVideo Feature Set H decodificação de hardware de vídeo HEVC Main10 (10 bits), Main12 (12 bits) e decodificação de hardware VP9.
  • Suporte HDCP 2.2 para reprodução e streaming de conteúdo protegido por 4K DRM (Maxwell GM200 e GM204 não possuem suporte HDCP 2.2, GM206 suporta HDCP 2.2).
  • Codificação de hardware de 10 bits NVENC HEVC Main10.
  • GPU Boost 3.0.
  • Preempção no nível da instrução. Em tarefas gráficas, o driver restringe a preempção ao nível de pixel, porque as tarefas de pixel normalmente terminam rapidamente e os custos indiretos de fazer a preempção de nível de pixel são menores do que a preempção de nível de instrução (o que é caro). As tarefas de computação obtêm preempção no nível do thread ou no nível da instrução, porque podem levar mais tempo para serem concluídas e não há garantias de quando uma tarefa de computação termina. Portanto, o driver permite a preempção cara de nível de instrução para essas tarefas.

Visão geral

Grupo de Processadores Gráficos

Um chip é particionado em Graphics Processor Clusters (GPCs). Para os chips GP104, um GPC abrange 5 SMs.

Multiprocessador de streaming "Pascal"

Um "Multiprocessador de streaming" corresponde à unidade de computação da AMD . Um SMP abrange 128 ALUs de precisão simples ("núcleos CUDA") em chips GP104 e 64 ALUs de precisão simples em chips GP100.

O que a AMD chama de CU (unidade de computação) pode ser comparado ao que a Nvidia chama de SM (multiprocessador de streaming). Enquanto todas as versões de CU consistem em 64 processadores de sombreador (ou seja, 4 unidades de vetor SIMD (cada uma com largura de 16 vias) = ​​64), a Nvidia (chamando regularmente os processadores de sombreador de "núcleos CUDA") experimentou números muito diferentes:

  • No Tesla 1 SM combina 8 processadores de sombreamento de precisão simples (FP32)
  • No Fermi 1 SM combina 32 processadores de sombreamento de precisão simples (FP32)
  • No Kepler 1 SM combina 192 processadores de sombreador de precisão simples (FP32) e também 64 unidades de precisão dupla (FP64) (pelo menos as GPUs GK110)
  • No Maxwell 1 SM combina 128 processadores de sombreamento de precisão simples (FP32)
  • Em Pascal, depende:
    • No GP100, 1 SM combina 64 processadores de sombreador de precisão simples (FP32) e também 32 processadores de precisão dupla (FP64), fornecendo uma proporção de 2: 1 de taxa de transferência de precisão simples para dupla. O GP100 usa núcleos FP32 mais flexíveis, capazes de processar um número de precisão única ou dois números de meia precisão em um vetor de dois elementos. A Nvidia pretende abordar o cálculo de algoritmos relacionados ao aprendizado profundo com aqueles.
    • No GP104, 1 SM combina 128 ALUs de precisão simples, 4 ALUs de precisão dupla fornecendo uma proporção de 32: 1 e uma ALU de meia precisão que contém um vetor de dois flutuadores de meia precisão que podem executar a mesma instrução em ambos os flutuadores fornecendo uma proporção de 64: 1 se a mesma instrução for usada em ambos os elementos.

Polymorph-Engine 4.0

O Polymorph Engine versão 4.0 é a unidade responsável pelo Tessellation . Corresponde funcionalmente ao processador geométrico da AMD . Ele foi movido do módulo de sombreador para o TPC para permitir que um mecanismo Polymorph alimente vários SMs dentro do TPC.

Salgadinhos

  • GP100: O acelerador de GPU Nvidia Tesla P100 é voltado para aplicativos GPGPU , como computação de dupla precisão FP64 e treinamento de aprendizado profundo que usa FP16. Ele usa memória HBM2 . Quadro GP100 também usa a GPU GP100.
  • GP102: Este GPU é usado no TITAN Xp, Titan X e GeForce GTX 1080 Ti. Ele também é usado no Quadro P6000 e Tesla P40.
  • GP104: Este GPU é usado na GeForce GTX 1070, GTX 1070 Ti e GTX 1080. A GTX 1070 tem 15/20 e a GTX 1070 Ti tem 19/20 de seus SMs habilitados. Ambos são conectados à memória GDDR5, enquanto o GTX 1080 é um chip completo e está conectado à memória GDDR5X. Também é usado no Quadro P5000, Quadro P4000 e Tesla P4.
  • GP106: Este GPU é usado na GeForce GTX 1060 com memória GDDR5 / GDDR5X. Também é usado no Quadro P2000.
  • GP107: Este GPU é usado na GeForce GTX 1050 Ti e GeForce GTX 1050. Ele também é usado no Quadro P1000, Quadro P600, Quadro P620 e Quadro P400.
  • GP108: Este GPU é usado na GeForce GT 1010 e GeForce GT 1030.

No chip GP104, um SM consiste em 128 ALUs de precisão simples ("núcleos CUDA"), no GP100 de 64 ALUs de precisão simples. Devido à diferente organização dos chips, como número de ALUs de precisão dupla, o desempenho teórico de precisão dupla do GP100 é metade do teórico para precisão simples; a proporção é de 1/32 para o chip GP104.

Tabela de comparação de alguns chips Kepler, Maxwell e Pascal
GK104 GK110 GM204 (GTX 970) GM204 (GTX 980) GM200 GP104 GP100
Cache de textura dedicado por SM 48 KiB N / D N / D N / D N / D N / D N / D
Textura (gráficos ou computação) ou cache de dados somente leitura (somente computação) por SM N / D 48 KiB N / D N / D N / D N / D N / D
Memória compartilhada selecionável pelo programador / partições L1 por SM 48 KiB de memória compartilhada + 16 KiB de cache L1 (padrão) 48 KiB de memória compartilhada + 16 KiB de cache L1 (padrão) N / D N / D N / D N / D N / D
Memória compartilhada de 32 KiB + cache L1 de 32 KiB Memória compartilhada de 32 KiB + cache L1 de 32 KiB
Memória compartilhada de 16 KiB + cache L1 de 48 KiB 16 KiB de memória compartilhada + 48 KiB de cache L1
Cache L1 unificado / cache de textura por SM N / D N / D 48 KiB 48 KiB 48 KiB 48 KiB 24 KiB
Memória compartilhada dedicada por SM N / D N / D 96 KiB 96 KiB 96 KiB 96 KiB 64 KiB
Cache L2 por chip 512 KiB 1536 KiB 1792 KiB 2048 KiB 3072 KiB 2048 KiB 4096 KiB

atuação

O poder de processamento de precisão simples teórica de uma GPU Pascal em GFLOPS é calculado como 2 X (operações por instrução FMA por núcleo CUDA por ciclo) × número de núcleos CUDA × velocidade de clock do núcleo (em GHz).

O poder de processamento de precisão dupla teórica de uma GPU Pascal é 1/2 do desempenho de precisão simples da Nvidia GP100 e 1/32 da Nvidia GP102, GP104, GP106, GP107 e GP108.

O poder de processamento de meia precisão teórica de uma GPU Pascal é 2 × do desempenho de precisão simples no GP100 e 1/64 no GP104, GP106, GP107 e GP108.

Sucessor

A arquitetura Pascal foi sucedida em 2017 por Volta nos mercados de HPC , computação em nuvem e carros autônomos , e em 2018 por Turing no mercado de consumo e negócios.

Veja também

Referências