OpenGL ES SDK for Android ARM Developer Center
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GLFFT::FFTWisdom Class Reference

#include <glfft_wisdom.hpp>

Public Member Functions

const std::pair< double,
FFTOptions::Performance
learn_optimal_options (unsigned Nx, unsigned Ny, unsigned radix, Mode mode, Target input_target, Target output_target, const FFTOptions::Type &type)
 
void learn_optimal_options_exhaustive (unsigned Nx, unsigned Ny, Type type, Target input_target, Target output_target, const FFTOptions::Type &fft_type)
 
const std::pair< const
WisdomPass,
FFTOptions::Performance > * 
find_optimal_options (unsigned Nx, unsigned Ny, unsigned radix, Mode mode, Target input_target, Target output_target, const FFTOptions::Type &base_options) const
 
const FFTOptions::Performancefind_optimal_options_or_default (unsigned Nx, unsigned Ny, unsigned radix, Mode mode, Target input_target, Target output_target, const FFTOptions &base_options) const
 
void set_static_wisdom (FFTStaticWisdom static_wisdom)
 
void set_bench_params (unsigned warmup, unsigned iterations, unsigned dispatches, double timeout)
 

Static Public Member Functions

static FFTStaticWisdom get_static_wisdom_from_renderer (const char *renderer)
 

Private Member Functions

std::pair< double,
FFTOptions::Performance
study (const WisdomPass &pass, FFTOptions::Type options) const
 
double bench (GLuint output, GLuint input, const WisdomPass &pass, const FFTOptions &options, const std::shared_ptr< ProgramCache > &cache) const
 

Private Attributes

std::unordered_map< WisdomPass,
FFTOptions::Performance
library
 
FFTStaticWisdom static_wisdom
 
struct {
   unsigned   warmup = 2
 
   unsigned   iterations = 20
 
   unsigned   dispatches = 50
 
   double   timeout = 1.0
 
params
 

Detailed Description

Definition at line 89 of file glfft_wisdom.hpp.

Member Function Documentation

double FFTWisdom::bench ( GLuint  output,
GLuint  input,
const WisdomPass pass,
const FFTOptions options,
const std::shared_ptr< ProgramCache > &  cache 
) const
private

Definition at line 181 of file glfft_wisdom.cpp.

const pair< const WisdomPass, FFTOptions::Performance > * FFTWisdom::find_optimal_options ( unsigned  Nx,
unsigned  Ny,
unsigned  radix,
Mode  mode,
Target  input_target,
Target  output_target,
const FFTOptions::Type base_options 
) const

Definition at line 426 of file glfft_wisdom.cpp.

const FFTOptions::Performance & FFTWisdom::find_optimal_options_or_default ( unsigned  Nx,
unsigned  Ny,
unsigned  radix,
Mode  mode,
Target  input_target,
Target  output_target,
const FFTOptions base_options 
) const

Definition at line 441 of file glfft_wisdom.cpp.

FFTStaticWisdom FFTWisdom::get_static_wisdom_from_renderer ( const char *  renderer)
static

Definition at line 26 of file glfft_wisdom.cpp.

const pair< double, FFTOptions::Performance > FFTWisdom::learn_optimal_options ( unsigned  Nx,
unsigned  Ny,
unsigned  radix,
Mode  mode,
Target  input_target,
Target  output_target,
const FFTOptions::Type type 
)

Definition at line 70 of file glfft_wisdom.cpp.

void FFTWisdom::learn_optimal_options_exhaustive ( unsigned  Nx,
unsigned  Ny,
Type  type,
Target  input_target,
Target  output_target,
const FFTOptions::Type fft_type 
)

Definition at line 97 of file glfft_wisdom.cpp.

void GLFFT::FFTWisdom::set_bench_params ( unsigned  warmup,
unsigned  iterations,
unsigned  dispatches,
double  timeout 
)
inline

Definition at line 107 of file glfft_wisdom.hpp.

void GLFFT::FFTWisdom::set_static_wisdom ( FFTStaticWisdom  static_wisdom)
inline

Definition at line 104 of file glfft_wisdom.hpp.

std::pair< double, FFTOptions::Performance > FFTWisdom::study ( const WisdomPass pass,
FFTOptions::Type  options 
) const
private

Definition at line 206 of file glfft_wisdom.cpp.

Member Data Documentation

unsigned GLFFT::FFTWisdom::dispatches = 50

Definition at line 130 of file glfft_wisdom.hpp.

unsigned GLFFT::FFTWisdom::iterations = 20

Definition at line 129 of file glfft_wisdom.hpp.

std::unordered_map<WisdomPass, FFTOptions::Performance> GLFFT::FFTWisdom::library
private

Definition at line 117 of file glfft_wisdom.hpp.

struct { ... } GLFFT::FFTWisdom::params
FFTStaticWisdom GLFFT::FFTWisdom::static_wisdom
private

Definition at line 124 of file glfft_wisdom.hpp.

double GLFFT::FFTWisdom::timeout = 1.0

Definition at line 131 of file glfft_wisdom.hpp.

unsigned GLFFT::FFTWisdom::warmup = 2

Definition at line 128 of file glfft_wisdom.hpp.


The documentation for this class was generated from the following files: