terça-feira, 24 de junho de 2014

Algoritmo de hash SHA-256 é implementado para GPU do Raspberry Pi


O conceito de GPGPU permite que a computação de propósito geral venha a ser processada na GPU, isso já vem sendo usado a anos em diversas frentes na computação e com o benefício da paralelização traz grande velocidade em relação a CPUs dependendo do algorítimo.

Depois do código fonte do driver da GPU ser liberado, o desenvolvimento em torno da GPU do Raspberry Pi tem melhorado, mas antes mesmo disso já existiam progressos em torno de GPGPU. Muito do seu desenvolvimento pré liberação se devem aos esforços de Herman Hermitage que estava fazendo engenharia reversa para construir um assembler para a GPU.
Um dos usos já possíveis está na computação de hashes, que são utilizados em diversas aplicações mesmo sem muitos usuários saberem.

Elorimer, autor dessa implementação do sha-256, também desenvolveu seu próprio assembler para GPU visto que não sabia do projeto de Herman na época.

Sua implementação de SHA-256 é 14.6x mais rápida do que utilizando a CPU do Raspberry Pi.

O código do assembler e implementação do SHA-256 podem ser obtidos em seu github: https://github.com/elorimer/rpi-playground

As explicações de como foi desenvolvido podem ser vistas em seu blog( em inglês ): http://rpiplayground.wordpress.com


Andrew Holme também dedicou esforços nesse sentido, mas para computação de FFT( Transformada rápida de Fourier ) , como resultado foi possível calcular 10 vezes mais rápido do que utilizando a CPU.

Benchmarks
Benchmarks






Existem outros projetos também em torno disso e certamente que sairão cedo ou tarde implementações para outros algoritmos, o que irá ajudar outros projetos que as utilizarão.

Fontes:
http://www.raspberrypi.org/gpgpu-hacking-on-the-pi/
http://www.raspberrypi.org/forums/viewtopic.php?t=77231&p=550759
http://rpiplayground.wordpress.com
http://www.raspberrypi.org/accelerating-fourier-transforms-using-the-gpu/

Nenhum comentário:

Postar um comentário