Download - GPU_Vs_CPU.doc (27 kB)
Universidade Federal da Paraíba
Centro de Informática
Programa Pós-Graduação em Informática
Disciplina: Organização e Arquitetura de Computadores.
Resenha: Unidade 10.
Aluna: Priscilla Kelly M. Vieira.
GPU Vs CPU
GPU (Graphics Processing Unit – Unidade de Processamento Gráfico) é uma unidade especializada em computação gráfica de forma paralela. Inicialmente era utilizada apenas para o processamento de jogos e vídeos, atualmente, com o surgimento das GPUs programáveis, pode ser utilizadas para a execução de programas comuns com características intrínsecas de paralelismo, como indicado em Uso da GPU para Sistemas de Computação de Alto Desempenho, por Dallalana
Neste contexto, muitas são as pesquisas que focam no uso de GPUs para processamentos, que atualmente, são dominados pelo uso apenas de CPUs (Unidades de controle e Processamento). Em GPU Cluster for High Performance Computing, por Fan entre outros autores (IEEE Supercomputing Conference’2004), por exemplo, foi proposto um cluster de GPUs para computação de alto desempeno científico. Este foi baseado no alto desempenho das GPUs. Experimentos mostraram que a implementação baseada em GPUs obteve um desempenho 4, 6 vezes maior que a implementação com CPUs.
Ainda no contexto comparativo ente o desempenho de CPUs e GPUs, o trabalho The GPU Enhanced Parallel Computing for Large Scale Data Clustering, por Cui entre outros autores (CyberC’2011), faz um estudo de problemas que clusterização que são resolvidos de forma mais rápida em GPUs do que em processadores tradicionais seqüenciais. Experimentos apontaram que o ganho em desempenho variou entre 30 e 60 vezes em relação a execução em CPUs.
É importante ressaltar que a CPU e a GPU tem suas características individuais quanto a organização e arquitetura de seus componentes. Diante disto, cada uma destas unidades tem um domínio de problemas a resolver. A GPU, é mais rapida em operações que envolvem muitas threads e todas as threads realizam a mesma tarefa sob dados diferentes. Por outro lado, as CPUs tem melhor desempenho em atividades sequenciais, como indicado também em Uso da GPU para Sistemas de Computação de Alto Desempenho.
Portanto, é evidente o alto desempenho das GPUs, mas é importante verificar qual o domínio do problema a ser atacado e quais suas características. O melhor desempenho será alcançado quando o problema for atacado pelo dispositivo correto, atendendo aos requisitos não funcionais de desempenho do sistema.