Computação científica com Python com GPUs modernas com precisão dupla

14

Alguém aqui usou computação científica de precisão dupla com GPUs de nova geração (por exemplo, K20) por meio de Python?

Sei que essa tecnologia está evoluindo rapidamente, mas qual é a melhor maneira de fazer isso atualmente? A GPU está fora do escopo das bibliotecas científicas populares do Python, numpy e scipy, e eu queria usar o theano, mas parece usar apenas a precisão float32 da GPU. Estou ciente de que o google pode fornecer resultados de pesquisa para python gpu, mas espero ter mais informações do que uma lista de projetos que podem ou não estar a caminho de encontrar seu criador.

tosquiadeira
fonte
4
Se eu precisasse disso, provavelmente usaria o PyOpenCL . A codificação GPU de uso geral ainda é de nível bastante baixo (tente a interface OpenCL C, é difícil). No entanto, o PyOpenCL parece abstrair o máximo possível e parece ter um impulso considerável por trás dele.
boyfarrell
1
"nova geração" deve ser bastante semelhante à série Tesla anterior com dupla precisão, provavelmente a única ressalva sendo a versão CUDA / driver. Portanto, os métodos de precisão dupla que funcionam com Tesla (por exemplo, M2070) e a versão atual CUDA / Driver também devem funcionar com o K20.
internetscooter
1
Talvez aqui ( stackoverflow.com/questions/5957554/python-gpu-programming ) possa ajudá-lo.
Eusoubrasileiro 29/07
2
Theano tem um novo back-end de GPU que suporta float64. Ainda não está completo, mas iremos divulgá-lo no status beta esta semana.
nouiz
Obrigado @nouiz - sugiro adicionar seu comentário como resposta quando você fizer o lançamento.
Aron Ahmadia

Respostas:

3

Não sei por que coloquei esta resposta em um comentário ...

Se eu precisasse disso, provavelmente usaria o PyOpenCL . A codificação GPU de uso geral ainda é de nível bastante baixo (tente a interface OpenCL C, é difícil). No entanto, o PyOpenCL parece abstrair o máximo possível e parece ter um impulso considerável por trás dele.

boyfarrell
fonte
Eh, isso acontece. Eu faço a mesma coisa às vezes.
Geoff Oxberry