Python PyFFTW多线程不工作

Python PyFFTW多线程不工作,python,multithreading,pyfftw,Python,Multithreading,Pyfftw,我正在运行基于FFTW3库的PyFFTW包装器的代码。在PyFFTW的计划函数调用中,有一个参数“thread”指定要使用的线程数。我使用一个基本的判断,活动监视器,来判断多线程是否有效。事实证明,即使我指定thread=4,以下代码也在一个CPU上运行。我的笔记本电脑是一台8核的Mac电脑。这是我的密码 import pyfftw n_cpu = 4 flags = ('FFTW_MEASURE','FFTW_DESTROY_INPUT') x_buffer = pyfftw.n_byte_a

我正在运行基于FFTW3库的PyFFTW包装器的代码。在PyFFTW的计划函数调用中,有一个参数“thread”指定要使用的线程数。我使用一个基本的判断,活动监视器,来判断多线程是否有效。事实证明,即使我指定thread=4,以下代码也在一个CPU上运行。我的笔记本电脑是一台8核的Mac电脑。这是我的密码

import pyfftw
n_cpu = 4
flags = ('FFTW_MEASURE','FFTW_DESTROY_INPUT')
x_buffer = pyfftw.n_byte_align_empty((8192,8192,), 16, 'complex128')
f_buffer = pyfftw.n_byte_align_empty((8192,8192,), 16, 'complex128')
fftObj  = pyfftw.FFTW(x_buffer, f_buffer,  axes=(-2,-1), direction='FFTW_FORWARD',  flags=flags, thread=n_cpu)
fftObj()
当我运行fftObj()时,计算机似乎在一个CPU上运行(CPU使用率为99%,而预期应为400%)。我想要的是在我的笔记本电脑的CPU之间分配FFT任务

除了尝试pyfftw之外,我还尝试用OpenMP用C编写了一些其他代码,从活动监视器中我看到CPU使用率高于100%。这意味着C代码在多个CPU上运行,我的机器确实具有多核功能

在开启pyfftw的多线程时,我是否错过了什么?还是我误解了参数的含义


有一个。

参数是
threads
而不是
thread
。可能应该找出多余和无效的论点。真想不到把一个问题放在上面?

参数是
threads
而不是
thread
。可能应该找出多余和无效的论点。真想不到把一个问题放在上面?

参数是
threads
而不是
thread
。可能应该找出多余和无效的论点。真想不到把一个问题放在上面?

参数是
threads
而不是
thread
。可能应该找出多余和无效的论点。想去把一个问题留在网上吗?

谢谢!添加“s”后,程序运行良好。我也在Github报道。谢谢你写了这个伟大的包装。这节省了我很多时间。谢谢!添加“s”后,程序运行良好。我也在Github报道。谢谢你写了这个伟大的包装。这节省了我很多时间。谢谢!添加“s”后,程序运行良好。我也在Github报道。谢谢你写了这个伟大的包装。这节省了我很多时间。谢谢!添加“s”后,程序运行良好。我也在Github报道。谢谢你写了这个伟大的包装。这节省了我很多时间。