GPUOcelot
|
A class that manages modules that are executed by LLVM kernels. More...
#include <LLVMModuleManager.h>
Classes | |
class | DatabaseMessage |
class | GetFunctionMessage |
class | KernelAndTranslation |
class | Module |
class | ModuleDatabase |
A thread safe-class for actually maintaining the modules. More... | |
Public Types | |
typedef void(* | Function )(LLVMContext *) |
typedef unsigned int | FunctionId |
typedef ExecutableKernel::TextureVector | TextureVector |
typedef KernelAndTranslation::MetaData | MetaData |
typedef std::unordered_map < std::string, FunctionId > | FunctionIdMap |
typedef std::vector < KernelAndTranslation > | KernelVector |
typedef std::unordered_map < std::string, Module > | ModuleMap |
Static Public Member Functions | |
static void | loadModule (const ir::Module *m, translator::Translator::OptimizationLevel l, Device *device) |
Loads a module into the manager, kernels are now visible. | |
static bool | isModuleLoaded (const std::string &moduleName) |
Is a module loaded? | |
static unsigned int | totalFunctionCount () |
Gets the total number of functions in all modules. | |
static void | unloadModule (const std::string &moduleName) |
unLoad module from the database, this invalidates all ids | |
static void | setExternalFunctionSet (const ir::ExternalFunctionSet &s) |
Sets the current external function set for linking. | |
static void | clearExternalFunctionSet () |
Clears the current external function set for linking. | |
static void | associate (hydrazine::Thread *thread) |
Associate a hydrazine thread with this manager, allowing it to communicate. | |
static hydrazine::Thread::Id | id () |
Get the id of the hydrazine thread. |
A class that manages modules that are executed by LLVM kernels.
typedef void(* executive::LLVMModuleManager::Function)(LLVMContext *) |
typedef unsigned int executive::LLVMModuleManager::FunctionId |
typedef std::unordered_map<std::string, FunctionId> executive::LLVMModuleManager::FunctionIdMap |
typedef std::vector<KernelAndTranslation> executive::LLVMModuleManager::KernelVector |
typedef std::unordered_map<std::string, Module> executive::LLVMModuleManager::ModuleMap |
void executive::LLVMModuleManager::associate | ( | hydrazine::Thread * | thread | ) | [static] |
Associate a hydrazine thread with this manager, allowing it to communicate.
void executive::LLVMModuleManager::clearExternalFunctionSet | ( | ) | [static] |
Clears the current external function set for linking.
hydrazine::Thread::Id executive::LLVMModuleManager::id | ( | ) | [static] |
Get the id of the hydrazine thread.
bool executive::LLVMModuleManager::isModuleLoaded | ( | const std::string & | moduleName | ) | [static] |
Is a module loaded?
void executive::LLVMModuleManager::loadModule | ( | const ir::Module * | m, |
translator::Translator::OptimizationLevel | l, | ||
Device * | device | ||
) | [static] |
Loads a module into the manager, kernels are now visible.
void executive::LLVMModuleManager::setExternalFunctionSet | ( | const ir::ExternalFunctionSet & | s | ) | [static] |
Sets the current external function set for linking.
unsigned int executive::LLVMModuleManager::totalFunctionCount | ( | ) | [static] |
Gets the total number of functions in all modules.
void executive::LLVMModuleManager::unloadModule | ( | const std::string & | moduleName | ) | [static] |
unLoad module from the database, this invalidates all ids