Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.1.0 - 日本語


fftw_flags

fftプランナアルゴリズム選択用手法を設定する

呼び出し手順

[a,[S]]=fftw_flags(flag)

引数

flag

文字列または整数. プランナアルゴリズムを指定. 下記参照.

a

整数. プランナコード.下記参照.

S

文字列行列. プランナ名.

説明

この関数により,fftwプランナアルゴリズムを定義する際に 使用されるアルゴリズムを選択できます. プランナはfftを計算する効率的な手法を定義する 際に使用されます.

警告: デフォルト値 "FFTW_ESTIMATE" は通常かなり効率的な プランです. fft効率が実際に重要で 類似のコールを数多く行う場合にのみ変更を検討ください.

以下のエントリを指定可能です :

  • {FFTW_ESTIMATE} または 64. これを指定すると, 他のアルゴリズムで使用される 実際の観測量の代わりに, (おそらく準最適の)プランを簡単に選択できる 簡単な経験則が使用されます. このフラグを指定すると, 入力/出力配列はプランニングの間は上書きされません. これがデフォルト値です.

  • FFTW_MEASURE または 0. 実際に計算した複数回のFFTとそれらの実行時間 の計測値から最適なプランをみつけるようFFTWに指示します. 実行する計算機に依存した時間がかかります(通常は数秒).

  • FFTW_PATIENT または 32. "FFTW_MEASURE"と似ていますが, より広範なアルゴリズムを検討し,しばしば "より最適な"プランを出力します (特に大規模な変換の場合). しかし,プランニング時間は数倍かかります (特に大規模な変換の場合).

  • FFTW_EXHAUSTIVE または 8. "FFTW_PATIENT"に似ていますが, 高速と思われないようなものを多く含む さらにより広範なアルゴリズムを検討します. 最も最適なプランを出力しますが, プランニング時間は著しく増加します.

注意 : FFTW_MEASURE/FFTW_PATIENT/FFTW_EXHAUSTIVE を使用する時, fftwを2回コールする必要があります. (最初のコールは初期化用, 2回目以降は計算用)

A=rand(1, 2^9 + 2^15);
fftw_forget_wisdom();
fftw_flags("FFTW_ESTIMATE");
timer(); y=fft(A); timer()//最初のコールでプランを定義
timer(); y=fft(A); timer() //同じコールを続ける
fftw_flags("FFTW_MEASURE");
fftw_forget_wisdom();
timer(); y=fft(A); timer()//最初のコールでプランを定義, 5分ほどかかる
timer(); y=fft(A); timer() //同じコールを続ける
Report an issue
<< FFTW FFTW fftw_forget_wisdom >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon May 22 12:43:10 CEST 2023