vSMC
vSMC: Scalable Monte Carlo
|
Parallel sampler using OpenCL. More...
Classes | |
class | vsmc::CLBuffer< T, ID > |
OpenCL buffer. More... | |
class | vsmc::CLConfigure |
Configure OpenCL runtime behavior (used by MoveCL etc) More... | |
class | vsmc::CLError |
OpenCL exception. More... | |
class | vsmc::CLManager< ID > |
OpenCL Manager. More... | |
class | vsmc::CLQuery |
Query OpenCL information. More... | |
class | vsmc::CLSetup< ID > |
Configure the default behavior of CLManager. More... | |
class | vsmc::InitializeCL< T, PlaceHolder > |
Sampler<T>::init_type subtype using OpenCL. More... | |
class | vsmc::MonitorEvalCL< T, PlaceHolder > |
Monitor<T>::eval_type subtype using OpenCL. More... | |
class | vsmc::MoveCL< T, PlaceHolder > |
Sampler<T>::move_type subtype using OpenCL. More... | |
class | vsmc::PathEvalCL< T, PlaceHolder > |
Path<T>::eval_type subtype using OpenCL. More... | |
class | vsmc::StateCL< StateSize, FPType, ID > |
Particle::value_type subtype using OpenCL. More... | |
Enumerations | |
enum | vsmc::OpenCLDeviceFeature { vsmc::OpenCLDeviceDoubleFP, vsmc::OpenCLDeviceImageSupport } |
OpenCL device features. More... | |
Functions | |
std::size_t | vsmc::cl_min_global_size (std::size_t N, std::size_t local_size) |
The minimum global size that is a multiple of the local size. More... | |
void | vsmc::cl_minmax_local_size (const ::cl::Kernel &kern, const ::cl::Device &dev, std::size_t &factor, std::size_t &lmax, std::size_t &mmax) |
Query the preferred factor of local size. More... | |
std::size_t | vsmc::cl_preferred_work_size (std::size_t N, const ::cl::Kernel &kern, const ::cl::Device &dev, std::size_t &global_size, std::size_t &local_size) |
The preferred global and local size. More... | |
template<typename Arg1 , typename... Args> | |
void | vsmc::cl_set_kernel_args (::cl::Kernel &kern,::cl_uint offset, const Arg1 &arg1, const Args &...args) |
Set OpenCL kernel arguments. More... | |
template<typename CharT , typename Traits > | |
std::basic_ostream< CharT, Traits > & | vsmc::operator<< (std::basic_ostream< CharT, Traits > &os, const CLQuery &) |
Query OpenCL information using CLQuery. More... | |
template<typename CharT , typename Traits > | |
std::basic_ostream< CharT, Traits > & | cl::operator<< (std::basic_ostream< CharT, Traits > &os, const Platform &plat) |
Query device information in a given platform. More... | |
template<typename CharT , typename Traits > | |
std::basic_ostream< CharT, Traits > & | cl::operator<< (std::basic_ostream< CharT, Traits > &os, const Device &dev) |
Query device information. More... | |
template<typename CharT , typename Traits > | |
std::basic_ostream< CharT, Traits > & | cl::operator<< (std::basic_ostream< CharT, Traits > &os, const Kernel &kern) |
Query kernel information. More... | |
template<typename CharT , typename Traits > | |
std::basic_ostream< CharT, Traits > & | cl::operator<< (std::basic_ostream< CharT, Traits > &os, const Program &prog) |
Query program information. More... | |
template<typename CharT , typename Traits > | |
std::basic_ostream< CharT, Traits > & | cl::operator<< (std::basic_ostream< CharT, Traits > &os, const Context &ctx) |
Query device information in a given context. More... | |
Parallel sampler using OpenCL.
OpenCL device features.
Enumerator | |
---|---|
OpenCLDeviceDoubleFP |
Double precision floating points. |
OpenCLDeviceImageSupport |
Image support. |
Definition at line 42 of file cl_query.hpp.
|
inline |
The minimum global size that is a multiple of the local size.
Definition at line 69 of file cl_manip.hpp.
|
inline |
Query the preferred factor of local size.
kern | An OpenCL kernel |
dev | An OpenCL device |
factor | Multiplier factor of local size for optimzied performance |
lmax | Maximum of the local size |
mmax | Maximum of the multiplier of the factor |
Definition at line 48 of file cl_manip.hpp.
|
inline |
The preferred global and local size.
Definition at line 82 of file cl_manip.hpp.
|
inline |
Set OpenCL kernel arguments.
The first argument arg1
is set with index offset
and the next with index offset + 1
and so on. For C++11 implementations that support variadic template, there can be arbitrary number of arguments (or limited by the compiler's implementation). Otherwise this function supports up to 16 arguments.
Definition at line 142 of file cl_manip.hpp.
|
inline |
Query OpenCL information using CLQuery.
Definition at line 840 of file cl_query.hpp.
|
inline |
Query device information in a given platform.
Definition at line 851 of file cl_query.hpp.
|
inline |
Query device information.
Definition at line 865 of file cl_query.hpp.
|
inline |
Query kernel information.
Definition at line 879 of file cl_query.hpp.
|
inline |
Query program information.
Definition at line 872 of file cl_query.hpp.
|
inline |
Query device information in a given context.
Definition at line 858 of file cl_query.hpp.