fredros / pyfftw Goto Github PK
View Code? Open in Web Editor NEWThis project forked from pyfftw/pyfftw
A pythonic python wrapper around FFTW
Home Page: http://hgomersall.github.com/pyFFTW/
License: Other
This project forked from pyfftw/pyfftw
A pythonic python wrapper around FFTW
Home Page: http://hgomersall.github.com/pyFFTW/
License: Other
No single or long double precision supported by Intel. Check this online
Run the following code with mpirun -n 3
import numpy as np
import pyfftw
p = pyfftw.create_mpi_plan(input_shape=(11,1),
input_dtype=np.complex,
output_dtype=np.complex,
direction='FFTW_FORWARD',
flags=['FFTW_ESTIMATE'])
This raises
Traceback (most recent call last):
File "pyfftw_debugging.py", line 44, in
flags=['FFTW_ESTIMATE'])
File "pyfftw/mpi.pxi", line 922, in pyfftw.pyfftw.create_mpi_plan (/tmp/pyFFTW/pyfftw/pyfftw.c:21947)
File "pyfftw/mpi.pxi", line 1687, in pyfftw.pyfftw.FFTW_MPI.cinit (/tmp/pyFFTW/pyfftw/pyfftw.c:29076)
RuntimeErrorRuntimeError: The data configuration has an uncaught error that led to FFTW returning an invalid plan in MPI rank 1.Please report this as a bug.
Check that both long and long_mpi libs exist to avoid link error at load time
The following code doesn't work for comm.size > 2
import numpy as np
from numpy.testing import assert_allclose
import pyfftw
p = pyfftw.create_mpi_plan(input_shape=(10,1),
input_dtype=np.complex,
output_dtype=np.complex,
direction='FFTW_FORWARD',
flags=['FFTW_ESTIMATE'])
p_inverse = pyfftw.create_mpi_plan(input_shape=(10,1),
input_dtype=np.complex,
output_dtype=np.complex,
direction='FFTW_BACKWARD',
flags=['FFTW_ESTIMATE'])
np.random.seed(16)
a = np.random.random(p.input_array.shape) + \
np.random.random(p.input_array.shape)*1j
p.input_array[:] = a
p()
p_inverse.input_array[:] = p.output_array
p_inverse()
assert_allclose(p_inverse.output_array, a)
From https://www.travis-ci.com/s-sajid-ali/pyFFTW/builds/72827599
running build_ext
Build pyFFTW with support for FFTW with
double precision + pthreads
long precision + pthreads
cythoning /home/travis/build/s-sajid-ali/pyFFTW/pyfftw/pyfftw.pyx to /home/travis/build/s-sajid-ali/pyFFTW/pyfftw/pyfftw.c
Error compiling Cython file:
------------------------------------------------------------
...
cdef void *plan = self._plan
cdef fftw_generic_execute fftw_execute = self._fftw_execute
with nogil:
fftw_execute(plan, input_pointer, output_pointer)
IF HAVE_MPI:
^
------------------------------------------------------------
Hi,
Does anybody have experience installing pyFFTW with mpi support on an OS X machine? If I try, it immediately throws an error, that the fttw3.h cannot be found. However the fftw3.h is within the directory of ./include/win/fftw3.h, so I don't see the reason why setup.py cannot find this file or am I missing something?
Cheers,
Daniel
Accessing an input_array of a mpi plan creates a deprecation warning. The following code
import pyfftw
import numpy as np
p = pyfftw.create_mpi_plan(input_shape=(6,6), input_dtype=np.complex, output_dtype=np.complex, direction='FFTW_FORWARD')
p.input_array
returns
using a non-integer number instead of an integer will result in an error in the future
I was not able to debug this completely, but it could be that the array access here contains floats:
https://github.com/fredRos/pyFFTW/blob/mpi/pyfftw/mpi.pxi#L1269
The following crashes with a floating point exception (divide-by-zero).
import pyfftw
pyfftw.local_size((10,0))
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.