Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2023.0.0 - Français


fftw_flags

choix de la méthode pour la sélection de l'algorithme de planification pour la fft

Séquence d'appel

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

Paramètres

flag

une chaîne de caractères ou bien un entier. Sert à spécifier l'algorithme de planification. Voir ci-dessous.

a

un entier. Code de l'algorithme de planification. Voir ci-dessous.

S

une chaîne de caractères. Le nom de l'algorithme de planification.

Description

Cette fonction permet la sélection de l'algorithme utilisé pour déterminer l'algorithme de planification de fftw. Le planificateur est utilisé pour déterminer un moyen efficace pour calculer la fft.

Attention: la valeur par défaut "FFTW_ESTIMATE" donne le plus souvent de bonnes performances. N'essayez d'autres choix que si la performance est cruciale et que vous avez beaucoup d'appels du même type à effectuer.

Les entrées possibles sont :

  • {FFTW_ESTIMATE} ou 64. Selectionne une heuristique simple et peu couteuse pour choisir un plan (probablement sous-optimal). C'est la valeur par défaut.

  • FFTW_MEASURE ou 0. Selectionne une méthode consistant a effectuer plusieurs calcul de fft avec des planifications différentes, à mesurer leur temps d'exécution et de choisir la meilleure planification. En fonction de votre machine, cela peut prendre un certain temps (souvent quelques secondes).

  • FFTW_PATIENT ou 32. Similaire à "FFTW_MEASURE", mais considère un plus large éventail d'algorithmes et produit souvent un plan plus efficace (en particulier pour les transformations importantes). En revanche, le coût de la détermination du plan peut être largement supérieur (en particulier pour les transformations importantes).

  • FFTW_EXHAUSTIVE ou 8. Comme "FFTW_PATIENT", mais considère une gamme encore plus large d'algorithmes, visant a trouver le plan optimal , mais avec un temps de planification sensiblement augmenté.

Remarque : Lors de l'utilisation des méthodes FFTW_MEASURE/FFTW_PATIENT/FFTW_EXHAUSTIVE la fonction fftw doit être appélée au moins deux fois. (le premier appel est pour l'initalisation, le second et les autres pour le calcul)

Exemples

A=rand(1, 2^9 + 2^15);
fftw_forget_wisdom();
fftw_flags("FFTW_ESTIMATE");
timer(); y=fft(A); timer()//premier appel, détermine le plan
timer(); y=fft(A); timer() //appels similaires suivants
fftw_flags("FFTW_MEASURE");
fftw_forget_wisdom();
timer(); y=fft(A); timer()//premier appel, détermine le plan, prend environ 5min
timer(); y=fft(A); timer() //appels similaires suivants

Voir aussi

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 Mar 27 10:12:37 GMT 2023