segunda-feira, 15 de fevereiro de 2016

PyVideoCore: API de desenvolvimento GPGPU para Raspberry Pi via Python

gpgpu raspberry pi

Em 2014 a Broadcom liberou a documentação da VideoCore IV além do código da stack gráfica dessa GPU. A publicação fez com que o desenvolvimento de aplicações que utilizam o processamento direto da GPU fosse acelerado.

No mesmo ano cerca de 3 meses depois já se viam aplicações como a implementação do algoritmo de hash SHA-256 via GPGPU que demonstrou ser 14,6 vezes mais rápida. Também houve a implementação de FFT entre outros.

APIs de desenvolvimento como OpenCL não existem para a VideoCore, sendo necessário utilizar diretamente pitadas de assembly para a GPU.

A PyVideoCore é uma interface criada por Koichi Nakamura (sim! O CEO da Idein Inc. criadores da placa PiZero Cluster) para facilitar o desenvolvimento.

A biblioteca ainda está em desenvolvimento mas já conta com alguns exemplos. Parte do código utilizado (assembler.py por exemplo) faz parte do liberado pela Broadcom.
 
Na imagem acima, o exemplo de multiplicação de matrizes é comparado. A execução via CPU pela numpy e sua execução via GPGPU com velocidade de 8,3226 Gflops.

Fonte: https://github.com/nineties/py-videocore

Nenhum comentário:

Postar um comentário