Eu estava assistindo recentemente um ótimo vídeo da Computerphile sobre senhas, em que Mike Pound se gabava do supercomputador de sua empresa ter 4 placas gráficas (Titan X, para ser exato).
Como entusiasta da simulação numérica, sonho em construir uma área de trabalho exclusivamente para o trabalho de simulação. Por que Mike Pound mede a capacidade computacional de seu computador por suas placas gráficas e não por seus processadores? Se eu estivesse construindo um computador, com qual item devo me preocupar mais?
Respostas:
Mike Pound obviamente valoriza a capacidade computacional das placas gráficas mais alta que a capacidade computacional das CPUs.
Por quê? Uma placa de vídeo é basicamente composta de MUITOS processadores simplificados, todos rodando em paralelo. Para alguns trabalhos de simulação, grande parte da computação pode ser facilmente paralelizada e processada em paralelo nos milhares de núcleos disponíveis nas placas gráficas, reduzindo o tempo total de processamento.
qual item devo me preocupar mais? Realmente depende da carga de trabalho de que você gosta e como essa carga de trabalho pode / é paralelizada para uso em uma placa gráfica. Se sua carga de trabalho for um conjunto embaraçosamente paralelo de cálculos simples, e o software for escrito para aproveitar as placas gráficas disponíveis, mais placas gráficas terão um impacto no desempenho muito maior do que mais CPUs (dólar por dólar).
fonte
Confira https://developer.nvidia.com/cuda-zone (e google cuda nvidia para muito mais informações). A arquitetura cuda e as placas gráficas topo de linha são bastante usadas para supercomputadores de desktop. Normalmente, você pode montar uma caixa de vários Tflop por menos de US $ 10.000 (usd) usando componentes de caixa branca disponíveis no mercado.
Então...
... cuda é de longe o melhor jogo da cidade para você. Talvez tente perguntar novamente em /scicomp// ou em outro site da stackexchange, mais diretamente envolvido com esse tipo de coisa.
(A propósito, suponho que você se sinta à vontade com a idéia de que estamos falando de programação massivamente paralela aqui, portanto, talvez você precise se familiarizar com esse paradigma para o design de algoritmos.)
fonte
Do ponto de vista prático, você provavelmente deve prestar bastante atenção à placa-mãe e à CPU, dada a relativa dificuldade de atualização em comparação à GPU. Após a compra, é um momento terrível para descobrir que você não tem espaço para quatro GPUs ou um processador rápido o suficiente para mantê-los todos ocupados.
Você também deve estar ciente de que o desempenho da GPU é mais frequentemente relatado em FLOPs de precisão única e diminui bastante na precisão dupla. Se você precisar de precisão extra em suas simulações, acabará bem abaixo da velocidade anunciada.
Para as corridas de engenharia de software
Na verdade, existem duas preocupações principais do ponto de vista de software, o gargalo de Von Neumann e o modelo de programação. A CPU possui um acesso bastante bom à memória principal, a GPU possui uma grande quantidade de memória mais rápida integrada. Não é de se estranhar que o tempo em que os dados entram e saem da GPU nega completamente qualquer ganho de velocidade. Em geral, a CPU é vencedora em computação moderada em grandes quantidades de dados, enquanto a GPU se destaca em computação pesada em quantidades menores. Tudo isso nos leva ao modelo de programação.
Em um nível alto, o problema é o antigo e honrado debate MIMD / SIMD. Os sistemas de instrução múltipla / dados múltiplos têm sido os grandes vencedores na computação geral e comercial. Nesse modelo, que inclui o SMP, existem vários processadores, cada um executando seu próprio fluxo de instruções individual. É o equivalente a computador de uma cozinha francesa, onde você direciona um pequeno número de cozinheiros qualificados para concluir tarefas relativamente complicadas.
Os sistemas de instrução única / dados múltiplos, por outro lado, se assemelham mais a uma enorme sala cheia de funcionários acorrentados às suas mesas, seguindo as instruções de um controlador mestre. "Todo mundo ADICIONA as linhas 3 e 5!" Foi usado em sua forma pura no ILLIAC e em alguns sistemas "mini-super", mas perdeu no mercado. As GPUs atuais são primos próximos, são mais flexíveis, mas compartilham a mesma filosofia geral.
Resumir brevemente:
fonte