ViennaCL - The Vienna Computing Library  1.5.2
Data Structures | Namespaces | Functions
autotune.hpp File Reference

User interface for the autotuning procedure. More...

#include <ctime>
#include <iomanip>
#include <cmath>
#include <iterator>
#include "viennacl/ocl/kernel.hpp"
#include "viennacl/ocl/infos.hpp"
#include "viennacl/scheduler/forwards.h"
#include "viennacl/generator/generate.hpp"
#include "viennacl/tools/timer.hpp"

Go to the source code of this file.

Data Structures

class  tuning_param
 class for a tuning parameter More...
 
class  tuning_config< ConfigType >
 Tuning configuration. More...
 

Namespaces

 viennacl
 Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
 
 viennacl::generator
 Provides an OpenCL kernel generator.
 
 viennacl::generator::autotune
 Provides the implementation for tuning the kernels for a particular device.
 

Functions

template<class ProfileT >
double benchmark_impl (viennacl::scheduler::statement const &statement, code_generator::forced_profile_key_type key, ProfileT const &prof, unsigned int n_runs)
 Add the timing value for a given profile and an statement. More...
 
template<class ConfigType >
void benchmark (std::map< double, typename ConfigType::profile_type > *timings, scheduler::statement const &op, code_generator::forced_profile_key_type const &key, tuning_config< ConfigType > &config, unsigned int n_runs, std::ofstream *out)
 Fills a timing map for a given statement and a benchmark configuration. More...
 

Detailed Description

User interface for the autotuning procedure.