SG++-Doxygen-Documentation
|
#include <OCLManagerMultiPlatform.hpp>
Public Member Functions | |
void | buildKernel (const std::string &program_src, const std::string &kernel_name, std::map< cl_platform_id, std::vector< cl_kernel >> &kernels) |
buildKernel builds the program that is represented by program_src and creates num_devices kernel objects that are stored into the map kernels More... | |
cl_kernel | buildKernel (const std::string &source, std::shared_ptr< OCLDevice > device, json::Node &kernelConfiguration, const std::string &kernelName) |
void | configure (base::OCLOperationConfiguration &configuration, bool useConfiguration=false) |
void | configureDevice (cl_device_id deviceId, json::Node &devicesNode, std::vector< cl_device_id > &filteredDeviceIds, std::vector< std::string > &filteredDeviceNames, std::map< std::string, size_t > &countLimitMap, bool useConfiguration) |
void | configurePlatform (cl_platform_id platformId, base::OCLOperationConfiguration &configuration, bool useConfiguration) |
std::shared_ptr< base::OCLOperationConfiguration > | getConfiguration () |
std::vector< std::shared_ptr< OCLDevice > > & | getDevices () |
OCLManagerMultiPlatform (bool verbose=false) | |
OCLManagerMultiPlatform (std::shared_ptr< base::OCLOperationConfiguration > parameters) | |
~OCLManagerMultiPlatform () | |
Public Attributes | |
std::vector< std::shared_ptr< OCLDevice > > | devices |
cl_uint | overallDeviceCount |
std::shared_ptr< base::OCLOperationConfiguration > | parameters |
std::vector< OCLPlatformWrapper > | platforms |
bool | verbose |
|
explicit |
References configure(), overallDeviceCount, parameters, and verbose.
|
explicit |
References configure(), overallDeviceCount, and verbose.
sgpp::base::OCLManagerMultiPlatform::~OCLManagerMultiPlatform | ( | ) |
void sgpp::base::OCLManagerMultiPlatform::buildKernel | ( | const std::string & | program_src, |
const std::string & | kernel_name, | ||
std::map< cl_platform_id, std::vector< cl_kernel >> & | kernels | ||
) |
buildKernel builds the program that is represented by program_src and creates num_devices kernel objects that are stored into the map kernels
program_src | the source of the program to compile |
kernel_name | name of the kernel function (in program_src) to create the kernel for |
kernels | the resulting kernels are put into this map, one for each platform |
References python.statsfileInfo::i, platforms, and verbose.
cl_kernel sgpp::base::OCLManagerMultiPlatform::buildKernel | ( | const std::string & | source, |
std::shared_ptr< OCLDevice > | device, | ||
json::Node & | kernelConfiguration, | ||
const std::string & | kernelName | ||
) |
References json::Node::contains(), json::Node::get(), json::Node::getBool(), and verbose.
void sgpp::base::OCLManagerMultiPlatform::configure | ( | base::OCLOperationConfiguration & | configuration, |
bool | useConfiguration = false |
||
) |
References configurePlatform(), python.statsfileInfo::i, parameters, and verbose.
Referenced by OCLManagerMultiPlatform().
void sgpp::base::OCLManagerMultiPlatform::configureDevice | ( | cl_device_id | deviceId, |
json::Node & | devicesNode, | ||
std::vector< cl_device_id > & | filteredDeviceIds, | ||
std::vector< std::string > & | filteredDeviceNames, | ||
std::map< std::string, size_t > & | countLimitMap, | ||
bool | useConfiguration | ||
) |
References json::Node::addDictAttr(), json::Node::contains(), json::Node::getUInt(), overallDeviceCount, and verbose.
Referenced by configurePlatform().
void sgpp::base::OCLManagerMultiPlatform::configurePlatform | ( | cl_platform_id | platformId, |
base::OCLOperationConfiguration & | configuration, | ||
bool | useConfiguration | ||
) |
References json::Node::addDictAttr(), sgpp::base::OCLPlatformWrapper::commandQueues, configureDevice(), sgpp::base::OCLPlatformWrapper::context, sgpp::base::OCLPlatformWrapper::deviceIds, sgpp::base::OCLPlatformWrapper::deviceNames, devices, parameters, sgpp::base::OCLPlatformWrapper::platformId, platforms, and verbose.
Referenced by configure().
std::shared_ptr< base::OCLOperationConfiguration > sgpp::base::OCLManagerMultiPlatform::getConfiguration | ( | ) |
References parameters.
Referenced by main().
std::vector< std::shared_ptr< OCLDevice > > & sgpp::base::OCLManagerMultiPlatform::getDevices | ( | ) |
References devices.
std::vector<std::shared_ptr<OCLDevice> > sgpp::base::OCLManagerMultiPlatform::devices |
Referenced by configurePlatform(), and getDevices().
cl_uint sgpp::base::OCLManagerMultiPlatform::overallDeviceCount |
Referenced by configureDevice(), and OCLManagerMultiPlatform().
std::shared_ptr<base::OCLOperationConfiguration> sgpp::base::OCLManagerMultiPlatform::parameters |
Referenced by configure(), configurePlatform(), getConfiguration(), and OCLManagerMultiPlatform().
std::vector<OCLPlatformWrapper> sgpp::base::OCLManagerMultiPlatform::platforms |
Referenced by buildKernel(), and configurePlatform().
bool sgpp::base::OCLManagerMultiPlatform::verbose |
Referenced by python.uq.operations.forcePositivity.operationMakePositiveFast.OperationMakePositiveFast::addFullGridPoints(), buildKernel(), python.uq.refinement.RefinementManager.RefinementManager::candidates(), python.uq.operations.forcePositivity.localFullGridSearch.LocalFullGridCandidates::computeCandidates(), configure(), configureDevice(), configurePlatform(), python.uq.operations.forcePositivity.findIntersections.IntersectionCandidates::findIntersections(), python.uq.operations.forcePositivity.localFullGridSearch.LocalFullGridCandidates::getLocalMaxLevel(), python.uq.manager.ASGCUQManager.ASGCUQManager::learnDataWithoutTest(), python.uq.manager.ASGCUQManager.ASGCUQManager::learnDataWithTest(), python.uq.operations.forcePositivity.operationMakePositive.OperationMakePositive::makeCurrentNodalValuesPositive(), python.uq.operations.forcePositivity.operationMakePositive.OperationMakePositive::makePositive(), python.uq.operations.forcePositivity.operationMakePositiveFast.OperationMakePositiveFast::makePositive(), OCLManagerMultiPlatform(), python.uq.manager.ASGCUQManager.ASGCUQManager::recomputeStats(), python.uq.refinement.RefinementManager.RefinementManager::refineGrid(), and python.uq.operations.forcePositivity.localFullGridSearch.LocalFullGridCandidates::splitFullGrids().