示例#1
0
 def __init__(self,nx,ny,bsize=16):
     self.nx = np.int32(nx)
     self.ny = np.int32(ny)
     self.bsize = bsize
     self.batch = nx/bsize*ny
     from pycudafft import FFTPlan
     self.fftplan = FFTPlan(self.bsize,1)
示例#2
0
class _2DFFT:
    def __init__(self,nx,ny,bsize=16):
        self.nx = np.int32(nx)
        self.ny = np.int32(ny)
        self.bsize = bsize #block size
        self.batch = nx/bsize*ny #How many 1D-FFTs?
        self.fftplan = FFTPlan(self.bsize,1)
    def execute(self, data, out, transpose, tdata, reverse=False):
        self.fftplan.execute(data, batch=self.batch, inverse=reverse)
        transpose(data, out, self.nx, self.ny, np.int32(1), block=tdata.block, grid=tdata.grid)
        self.fftplan.execute(out, data, batch=self.batch, inverse=reverse)
        transpose(data, out, self.nx, self.ny, np.int32(1), block=tdata.block, grid=tdata.grid)
示例#3
0
class _2DFFT:
    def __init__(self,nx,ny,bsize=16):
        self.nx = np.int32(nx)
        self.ny = np.int32(ny)
        self.bsize = bsize
        self.batch = nx/bsize*ny
        from pycudafft import FFTPlan
        self.fftplan = FFTPlan(self.bsize,1)
    def execute(self, data, out, transpose, tdata):
        self.fftplan.execute(data, batch=self.batch)
        transpose(data, out, self.nx, self.ny, np.int32(1), block=tdata.block, grid=tdata.grid)
        self.fftplan.execute(out, batch=self.batch)
示例#4
0
 def __init__(self,nx,ny,bsize=16):
     self.nx = np.int32(nx)
     self.ny = np.int32(ny)
     self.bsize = bsize #block size
     self.batch = nx/bsize*ny #How many 1D-FFTs?
     self.fftplan = FFTPlan(self.bsize,1)