Unidade de Processamento de Matemática [fechada]

0

Ultimamente aprendi shaders de computação no Unity3D, de repente podia fazer muito mais cálculos na GPU por segundo do que na CPU, contanto que eu pudesse escrevê-los para serem tarefas executadas com muitos threads em paralelo fazendo a mesma operação de forma parametrizada.

No entanto, a GPU compartilha memória com a tela e não com a CPU, fazendo um atraso na transferência de muitos dados entre a CPU e a GPU, além de compartilhar um espaço com a tela, que geralmente é muito menor do que a memória da CPU .

Meu desktop aqui é um i7 INUC que tem 16GB de memória e um SSD de 1TB, enquanto o GPU é um Intel 650 integrado com muito pouca memória, embora possa compartilhar alguma memória com o CPU.

Se eu quiser expandir a GPU, eu teria que comprar uma GPU externa do Thunderbolt 3. Estes são bastante caros, eu vi uma edição do desenvolvedor Sonnet um que roda cerca de US $ 430, que inclui um RX 580 com cerca de 8 GB de RAM, o que obviamente ainda tem que compartilhar memória com a tela em vez da memória principal da CPU.

Isso me faz pensar se os sistemas podem existir com uma Unidade de Processamento de Matemática separada para computação paralela como uma GPU que poderia compartilhar a memória com a CPU principal?

Existem talvez sistemas que fazem coisas como já, ou maneiras de expandir meu sistema atual?

Isso essencialmente não deixaria tempo de transferência para as operações. Eles costumavam fazer co-processadores de matemática nos 386 e 486 dias, é claro que não é exatamente o mesmo.

Minha preocupação, a propósito, não é jogar, eu era um desenvolvedor de jogos de passatempo em um ponto, mas então eu passei a querer entender física quântica, engenharia, equações diferenciais e outras atividades matemáticas e científicas.

    
por John Ernest 08.10.2018 / 18:28

1 resposta

0

Sim, esses sistemas existem, mas não da maneira que você provavelmente está pensando. A maioria dos supercomputadores realmente funciona desta forma, eles têm um punhado do que você convencionalmente chamamos CPU, geralmente referido como processadores de I / O, e um número enorme de que você está chamando processadores matemáticos, que normalmente são chamados de processadores de aplicações.

Exemplos de hardware usados para essa finalidade como processadores de aplicativos incluem:

  • A plataforma MIC da Intel, também conhecida classicamente como Xeon Phi. Estes são dispositivos baseados em x86 (a maioria dos modelos são placas PCI-e duplas de comprimento total, embora alguns modelos tenham sido lançados como chips com soquete) com duzentos ou mais threads de execução. Vários grandes supercomputadores são construídos principalmente a partir deles, embora você possa obter cartões únicos das gerações mais antigas por alguns milhares de dólares em alguns lugares on-line.
  • Plataforma Tesla da NVIDIA. Elas se originaram como simples variantes hiperespecificadas de suas GPUs Quadro equivalentes, modificadas para não ter saídas de vídeo e otimizadas para taxa de transferência bruta de cálculos FP em vez de renderização. Hoje em dia, eles são principalmente GPUs com recursos completos, mas ainda se concentram no poder de processamento bruto da renderização. Eles estão prontamente disponíveis comercialmente, mas têm etiquetas de preço similarmente altas.
  • plataforma FireStream da AMD. Uma história parecida com a NVIDIA Tesla, exceto FireStream, praticamente desapareceu há quase uma década. Você ainda pode encontrar os cartões em alguns lugares, muitas vezes por muito barato, mas eles não são muito poderosos para os padrões de hoje.

Várias outras empresas têm ofertas semelhantes de uma ou outra. A plataforma Watson da IBM, por exemplo, é um sistema completo construído sobre esse princípio, exceto pelo fato de que os processadores individuais são, cada um, um sistema funcionalmente independente.

    
por 08.10.2018 / 21:09