我有一个很大的数据集,我正在将其读入易失性存储器以在其上运行FFT。目前,我正在通过内存映射一组~2GB文件并读取将它们复制到numpy阵列来实现这一点
#Memory mapping
comf = np.memmap(file_name, dtype = dt, mode = 'c')
comf1 = np.memmap(file_name1, dtype = dt, mode = 'c')
#Defining Numpy array
cdef np.ndarray tempcomf = np.zeros((templen, 1024), dtype = np.int8)
cdef np.ndarray tempcomf1 = np.zeros((templen1, 1024), dtype = np.int8)
#Copying as numpy array
tempcomf = np.memmap.copy(comf['data'][0:])
tempcomf1 = np.memmap.copy(comf1['data'][0:])
这是在Cython中完成的,读取的数据集随后被传递到Fortran函数以执行FFT。尽管此功能会在一段时间内淹没易失性内存,但内存访问速度相当快。但最大的瓶颈是将memmaped数据复制到numpy数组,在这方面我有以下问题:
在此方面的任何帮助都将不胜感激
目前没有回答
相关问题 更多 >
编程相关推荐