pyfft.

Biblioteca FFT para Pycuda e Pyopencl
Baixe Agora

pyfft. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • MIT/X Consortium Lic...
  • Nome do editor:
  • Bogdan Opanchuk
  • Site do editor:
  • http://github.com/Manticore

pyfft. Tag


pyfft. Descrição

Biblioteca FFT para Pycuda e Pyopencl O Pyfft é um módulo Python que contém a implementação de FFT em lotes, portado da implementação OpenCL da Apple. A ideologia de OpenCl de construir o código do kernel nos mapas da mosca perfeitamente em Pycuda / Pyopencl, e variedade de motores de modelos de Python torna a geração de código mais simples. Eu usei o Mako Templating Motor, simplesmente por causa da preferência pessoal. O código pode ser facilmente alterado para usar qualquer outro mecanismo. "CUDA" parte do Pyfft requer a versão atual do desenvolvimento do Pycuda (0,94). O início do uso é bastante simples. Primeiro, importar numpy e interface de criação de plano de Pyfft (Vamos usar o CUDA neste exemplo): >>> de Pyfft.Cuda Plano de Importação >>> Import Numpysince Estamos usando o CUDA, ele deve ser inicializado antes que qualquer função CUDA seja chamada ( Por padrão, o plano usará o contexto existente, mas existem outras possibilidades; consulte a entrada de referência para o plano para mais informações). Além disso, precisaremos do módulo GPuArray para passar dados de e para a GPU: >>> de Pycuda.Tools Import Make_Default_Context >>> Import pycuda.gpuarray como GPuArray >>> Import pycuda.Driver como CUDA >>> CUDA.Init ( >>> context = make_default_context () então o plano deve ser criado. A criação não é muito rápida, principalmente por causa da velocidade de compilação. Mas, felizmente, pycuda e pyopencl cache compilou fontes, por isso, se você usar o mesmo plano para cada execução do seu programa, será criado bastante rápido. >>> Plano = Plano ((16, 16)) Agora, vamos preparar a matriz de teste simples e tentar executar o plano sobre ele: >>> dados = numpy.ones ((16, 16), DTYPE = numpy.complex64)> >> gpu_data = gpuarray.to_gpu (dados) >>> plan.execute (gpu_data) >>> resultado = gpu_data.get () >>> Imprimir resultado # doctest: + elipses ... ] Como esperado, nós obtivemos a matriz com o primeiro - elemento inferior, igual ao tamanho da matriz. Vamos agora executar a transformação inversa: >>> Plan.execute (GPU_Data, Inverse = True) >>> resultado = gpu_data.get () Como os dados são não inteiros, não podemos simplesmente compará-lo. Nós apenas calcularemos o erro. >>> error = numpy.abs (numpy.sum (numpy.abs (dados) - numpy.abs (resultado)) / data.size) >>> erro <1etruethat-6


pyfft. Software Relacionado

Slepc.

Biblioteca escalável para cálculos de problemas de eigenvalue ...

157

Download

Pyudt.

wrapper python para biblioteca de transferência de dados baseada em UDP (UDT) ...

190

Download

pybfc.

Uma biblioteca Python que inclui gráficos de dependência ou dicionário de atributos ...

64

Download