使用OpenMP的FFTW文档中的误解或拼写错误

时间:2012-05-16 19:54:26

标签: openmp fftw

此引用来自FFTW Manual

  

[...]第三,在创建要并行化的计划之前,您应该这样做   拨打:

     

void fftw_plan_with_nthreads(int nthreads);

     

nthreads参数表示你想要FFTW使用的线程数(实际上,是   最大数量)。 [...]

     

使用OpenMP,配置FFTW以使用当前正在运行的所有内容   OpenMP线程(由omp_set_num_threads(nthreads)设置或由   OMP_NUM_THREADS环境变量),您可以这样做:   fftw_plan_with_nthreads(omp_get_num_threads())。

我认为最后一个命令是错误的。它应该是fftw_plan_with_nthreads(omp_get_max_threads())omp_get_num_threads()将返回当前的线程数。但那可能是1,因为有人在一个线程上创建了fftw_plan。 omp_get_num_threads()不会返回OMP_NUM_THREADS的值,也不会是omp_set_num_threads(nthreads)的倒数。

我是对的还是我误解了FFTW或OpenMP API?

0 个答案:

没有答案