32 #ifndef VSMC_OPENCL_ADAPTER_HPP
33 #define VSMC_OPENCL_ADAPTER_HPP
43 template <
typename T,
typename F>
61 template <
typename T,
typename F>
72 void move_state (std::size_t iter, std::string &kernel_name)
78 template <
typename T,
typename F>
90 void move_state (std::size_t iter, std::string &kernel_name)
96 template <
typename T,
typename F>
114 template <
typename T>
127 const initialize_param_type &init_param = initialize_param_type(),
128 const pre_processor_type &pre = pre_processor_type(),
129 const post_processor_type &post = post_processor_type()) :
130 base(init_param, pre, post), initialize_state_(init_state) {}
133 {kernel_name = initialize_state_;}
137 const std::string initialize_state_;
142 template <
typename T>
154 const pre_processor_type &pre = pre_processor_type(),
155 const post_processor_type &post = post_processor_type()) :
156 base(pre, post), move_state_(move_state) {}
159 {kernel_name = move_state_;}
163 const std::string move_state_;
168 template <
typename T>
180 const pre_processor_type &pre = pre_processor_type(),
181 const post_processor_type &post = post_processor_type()) :
182 base(pre, post), monitor_state_(monitor_state) {}
185 {kernel_name = monitor_state_;}
189 const std::string monitor_state_;
194 template <
typename T>
208 const pre_processor_type &pre = pre_processor_type(),
209 const post_processor_type &post = post_processor_type()) :
210 base(path_grid, pre, post), path_state_(path_state) {}
213 {kernel_name = path_state_;}
217 const std::string path_state_;
222 #endif // VSMC_OPENCL_ADAPTER_HPP
base::post_processor_type post_processor_type
MonitorEvalAdapter(const std::string &monitor_state, const pre_processor_type &pre=pre_processor_type(), const post_processor_type &post=post_processor_type())
std::size_t move_state(std::size_t iter, SingleParticle< T > part)
InitializeAdapter(const F &f)
void monitor_state(std::size_t, std::string &kernel_name)
void path_state(std::size_t, std::string &kernel_name)
void move_state(std::size_t iter, std::string &kernel_name)
double path_state(std::size_t iter, ConstSingleParticle< T > part)
MonitorEvalAdapter(const F &f)
void move_state(std::size_t iter, std::string &kernel_name)
base::pre_processor_type pre_processor_type
base::pre_processor_type pre_processor_type
Path evaluation class base.
Initialize class adapter base.
Path evaluation class adapter.
Monitor::eval_type subtype using OpenCL.
Sampler::move_type subtype using OpenCL.
void path_state(std::size_t iter, std::string &kernel_name)
double path_grid(std::size_t iter, const Particle< T > &particle)
base::initialize_param_type initialize_param_type
Path::eval_type subtype using OpenCL.
void initialize_state(std::string &kernel_name)
InitializeAdapter(const std::string &init_state, const initialize_param_type &init_param=initialize_param_type(), const pre_processor_type &pre=pre_processor_type(), const post_processor_type &post=post_processor_type())
void move_state(std::size_t, std::string &kernel_name)
base::post_processor_type post_processor_type
Sampler::init_type subtype using OpenCL.
PathEvalAdapter(const F &f)
base::post_processor_type post_processor_type
MoveAdapter(const std::string &move_state, const pre_processor_type &pre=pre_processor_type(), const post_processor_type &post=post_processor_type())
void monitor_state(std::size_t iter, std::size_t dim, ConstSingleParticle< T > part, double *res)
base::pre_processor_type pre_processor_type
PathEvalAdapter(const std::string &path_state, const path_grid_type &path_grid, const pre_processor_type &pre=pre_processor_type(), const post_processor_type &post=post_processor_type())
base::path_grid_type path_grid_type
Monitor evaluation class adapter.
base::pre_processor_type pre_processor_type
Initialize class adapter.
void initialize_state(std::string &kernel_name)
base::post_processor_type post_processor_type