def testWisdom(self): i=0 for lib in libs: lib.forget_wisdom() inputa = lib.create_aligned_array(1024,np.typeDict[_complex[i]]) outputa = lib.create_aligned_array(1024,np.typeDict[_complex[i]]) plan = lib.Plan(inputa,outputa,flags=['patient']) soriginal = lib.export_wisdom_to_string() lib.import_wisdom_from_string(soriginal) lib.export_wisdom_to_file('test.wisdom') lib.forget_wisdom() lib.import_wisdom_from_file('test.wisdom') os.remove('test.wisdom') del inputa del outputa i+=1
def testWisdom(self): i = 0 for lib in libs: lib.forget_wisdom() inputa = lib.create_aligned_array(1024, np.typeDict[_complex[i]]) outputa = lib.create_aligned_array(1024, np.typeDict[_complex[i]]) plan = lib.Plan(inputa, outputa, flags=['patient']) soriginal = lib.export_wisdom_to_string() lib.import_wisdom_from_string(soriginal) lib.export_wisdom_to_file('test.wisdom') lib.forget_wisdom() lib.import_wisdom_from_file('test.wisdom') os.remove('test.wisdom') del inputa del outputa i += 1
def fftw_propagation_aligned(N,repeats, lib, dtype): t = np.linspace(-5,5,N) dt = t[1]-t[0] f = np.linspace(-1/dt/2.,1/dt/2.,N) f = fftshift(f) t = fftshift(t) farray = lib.create_aligned_array(f.shape,dtype=dtype) tarray = lib.create_aligned_array(t.shape,dtype=dtype) fftplan = lib.Plan(tarray,farray,'forward') ifftplan = lib.Plan(farray,tarray,'backward') farray[:] = 0 tarray[:] = 0 tarray += np.exp(-t**2/0.5) dispersion = np.exp(-1.j*h*beta*f) ti = time.time() for i in xrange(repeats): fftplan() farray *= dispersion/N ifftplan() to = time.time()-ti return fftshift(t),fftshift(tarray),fftshift(f),fftshift(farray), to
def fftw_propagation_aligned(N, repeats, lib, dtype): t = np.linspace(-5, 5, N) dt = t[1] - t[0] f = np.linspace(-1 / dt / 2., 1 / dt / 2., N) f = fftshift(f) t = fftshift(t) farray = lib.create_aligned_array(f.shape, dtype=dtype) tarray = lib.create_aligned_array(t.shape, dtype=dtype) fftplan = lib.Plan(tarray, farray, 'forward') ifftplan = lib.Plan(farray, tarray, 'backward') farray[:] = 0 tarray[:] = 0 tarray += np.exp(-t**2 / 0.5) dispersion = np.exp(-1.j * h * beta * f) ti = time.time() for i in xrange(repeats): fftplan() farray *= dispersion / N ifftplan() to = time.time() - ti return fftshift(t), fftshift(tarray), fftshift(f), fftshift(farray), to