GPUOcelot
Classes | Public Types | Static Public Member Functions

executive::LLVMModuleManager Class Reference

A class that manages modules that are executed by LLVM kernels. More...

#include <LLVMModuleManager.h>

Collaboration diagram for executive::LLVMModuleManager:
Collaboration graph
[legend]

List of all members.

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.

Detailed Description

A class that manages modules that are executed by LLVM kernels.


Member Typedef Documentation

typedef std::unordered_map<std::string, FunctionId> executive::LLVMModuleManager::FunctionIdMap
typedef std::unordered_map<std::string, Module> executive::LLVMModuleManager::ModuleMap

Member Function Documentation

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


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines