ViennaCL - The Vienna Computing Library  1.5.0
Data Structures | Namespaces | Functions
viennacl/generator/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

namespace  viennacl
 

Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.


namespace  viennacl::generator
 

Provides an OpenCL kernel generator.


namespace  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.
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.

Detailed Description

User interface for the autotuning procedure.