Acesso de alto desempenho para armazenamento de arquivos
HPC blogue
Estas conferências GTC, o GPU-fest anual patrocinado pela NVIDIA, são os meus eventos favoritos do ano. Por quê? É a forma como o evento é organizado. No GTC, os pesquisadores do mundo real, analistas e outros clientes apresentam a grande maioria das sessões, e não porta-vozes da empresa.
Eles falam sobre seus projetos, os desafios que temos tratado, lições aprendidas, além de suas descobertas de pesquisa reais. Claro, eles também falam sobre como GPUs ajudou-os ao longo do caminho, mas isso é o que você ganha em uma conferência com foco em tecnologia GPU.
O caso em questão foi a minha primeira sessão na segunda-feira. Intitulado "Acelerar GraphLab Usando CUDA", caracterizou Vishal Vaidyanathan da Royal Caliber discutir o vasto mundo de problemas de gráficos eo desafio computacional maciço estes problemas presentes.
Gráfico problemas estão por toda parte. Um dos mais conhecidos é o problema de roteamento típico: por exemplo, descobrir o caminho mais curto entre um conjunto de cidades. No gráfico problema jargão, as cidades seriam chamados vértices e a linha entre dois deles uma borda.
Quanto mais vértices que você tem, o problema mais computacionalmente complexo gráfico. Eles também são muito difíceis de colocar em paralelo. O particionamento de um problema gráfico em sistemas diferentes, por exemplo, não ajuda muito.
Usando o nosso exemplo da cidade, você iria colocar algumas cidades em um sistema e os outros no Sistema B. No entanto, esses dois grupos estão intimamente ligados e teste para uma rota ideal exigiria muitos saltos entre "A" e "B", o que significa que os processadores acabar gastando muito de seu tempo coordenando seus testes em vez de calcular as melhores rotas.
GraphLab foi um enorme passo em frente em ajudar a paralelização de problemas gráficos. Real Caliber, com a ajuda de outros, ter adicionado uma API GPU para GraphLab e estão apresentando-a como VertexAPI2. E os resultados são, assim, muito GPU'riffic.
O eixo Y é a velocidade se atingido por VertexAPI2 em Tesla K40C vs GraphLab execução em um único núcleo, em seguida, processador quad-core Xeon i3770. Não surpreendentemente, as GPUs superar o single core de 50 - 220x eo quad-core de 15-100x.
Na sessão, Vishal discute os três objectivos principais para VertexAPI2. O primeiro é o que torna fácil de código, eo segundo é para esconder todos os detalhes específicos do GPU. Em outras palavras, fazer Vertex tão fácil de usar como GraphLab execução em 86 núcleos nativos. O terceiro objetivo é tê-lo executar como uma doninha queimada (ou seja rápido).
Vishal também vai para os detalhes sobre a API, como funciona, como usá-lo, e compara sua abordagem para outros algoritmos de problema gráfico como BFS (Best First Solution) e outros. NVIDIA já tem esta sessão on-line, para que você possa vê-lo de sua mesa no momento. ®
Nenhum comentário:
Postar um comentário