
Tesla K20 da NVIDIA oferece o mais alto desempenho da indústria de computação
No entanto, os testes de desempenho recentes em aplicativos científicos mostram que a GPU ultrapassou facilmente as nossas melhores expectativas.
Estamos particularmente entusiasmados com o novo recurso Hyper-Q da Kepler, que ajuda a aumentar o desempenho de milhares de aplicativos com códigos baseados em MPI sem a necessidade de reescrever o código principal.
Como o Hyper-Q funciona
A GPU é composta de múltiplos núcleos CUDA agrupados em multiprocessadores de streaming operando em paralelo. A unidade de hardware chamado de CUDA Work Distributor (CWD) é responsÁvel pela atribuição de atividades para os multiprocessadores individuais.
Na arquitetura Fermi atual, a CWD tem uma única conexão com a CPU host e o trabalho de diferentes processos MPI é incorporado em uma fila única. Esse fato pode facilmente limitar a quantidade de tarefas que podem ser executadas simultaneamente na GPU. O que resulta, muitas vezes, em GPUs subutilizadas.
O Hyper-Q remove essa limitação. Como mostra o figura abaixo, a nova Tesla K20 oferece 32 filas de trabalho entre o hospedeiro e a GPU, permitindo que vÁrios processos MPI possam ser executados simultaneamente no chip grÁfico. Cada processo pode ser atribuído a uma fila diferente, maximizando a utilização da GPU e aumentando o desempenho global.
Ao permitir mais processos MPI, o Hyper-Q maximiza a utilização do GPU, aumentando o desempenho global
Reduzido o esforço para os desenvolvedores
Além dos desenvolvedores MPI ficarem encantados com o desempenho que foi acrescentado, vão ficar igualmente impressionados com a forma como o Hyper-Q compila códigos MPI para a GPU significativamente mais fÁcil.
Os Códigos MPI foram muitas vezes criados para rodar em CPUs com sistemas multicore, com a quantidade de trabalho atribuída a cada processo MPI adaptada em conformidade. No entanto, isso muitas vezes significa que processos MPI não geram trabalho suficiente para ocupar completamente a GPU. Para que o código lançe trabalho suficiente para utilizar plenamente a GPU, os desenvolvedores frequentemente foram obrigados a modificar os seus códigos de forma significativa.
Hyper-Q reduz consideravelmente os esforços porque os desenvolvedores podem agora jogar muitos processos MPI com cargas de trabalho de pequeno e médio porte em uma GPU. Os desenvolvedores não precisam modificar seus códigos para colocar bastante trabalho em um único processo MPI. Em vez disso, eles podem enviar até 32 processos MPI com cargas de trabalho variÁveis para a GPU e deixar a GPU fazer todo o trabalho pesado.
Caso em questão: CP2K
CP2K é um código de simulação que roda em muitos sites no mundo da supercomputação. O CP2K é paralelizado usando MPI e OpenMP, além do CUDA, que é usado em alguns modelos.
Com GPUs baseadas em Fermi, os desenvolvedores experimentaram ganhos de desempenho reduzidos quando os processos MPI foram limitadas a pequenas quantidades de trabalho, principalmente em simulações de escala fortes. Enquanto a CPU foi muito utilizada, a GPU ficou completamente inativo em porções substanciais da simulação.
O índice de referência mostra o impacto do Hyper-Q
Sem o Hyper-Q, apenas um processo MPI é executado em cada elo com a GPU e a curva de desempenho entre 1 a 16 nós não é muito melhor do que com simulações com somente a CPU.
Com Hyper-Q, é possível desbloqueiar os benefícios da GPU, levando a um aumento de velocidade de 2,5 vezes com sua habilitação.
E a melhor parte? Nenhum esforço adicional de codificação é necessÁrio para permitir o Hyper-Q. Só é preciso um Tesla GPU K20 com o CUDA 5 instalado e definir uma variÁvel.
Esteja preparado!
O K20 Tesla serÁ o primeiro a contar com o Hyper-Q. Ele estÁ programado para estar disponível até o final do ano, mas você pode começar a se preparar de hoje.
Começe por acelerar o seu código usando OpenACC. Com diretivas OpenACC, os desenvolvedores simplesmente inserem dicas de compilador para o código e o compilador mapeia automaticamente partes de código para a GPU. Usando diretivas dentro dos processos MPI, você não precisa se preocupar com a quantidade de carga de trabalho que é criado pelo compilador OpenACC, porque o Hyper-Q assegura as estadias da GPU.
Você pode obter uma licença de teste de 30 dias para um compilador OpenACC no site da NVIDIA.
.....
Está pensando em comprar algum produto online? Conheça a extensão Economize do Adrenaline para Google Chrome. Ela é gratuita e oferece a você comparativo de preços nas principais lojas e cupons para você comprar sempre com o melhor preço. Baixe agora.
Assuntos
- Publicidade -
- Publicidade -
- Publicidade -