GPUOcelot
|
Executes an LLVMKernel using the LLVM JIT. More...
#include <LLVMExecutableKernel.h>
Public Types | |
enum | CallType { TailCall = 0x1, ReturnCall = 0x2, NormalCall = 0x3, ExitCall = 0x4, BarrierCall = 0x5, InvalidCallType = 0x0 } |
Types of call instructions. More... | |
typedef translator::Translator::OptimizationLevel | OptimizationLevel |
Public Member Functions | |
LLVMExecutableKernel (const ir::IRKernel &kernel, Device *d=0, OptimizationLevel l=translator::Translator::NoOptimization) | |
Creates a new instance of the runtime bound to a kernel. | |
~LLVMExecutableKernel () | |
Clean up the runtime. | |
void | launchGrid (int width, int height, int depth) |
Launch a kernel on a 2D grid. | |
void | setKernelShape (int x, int y, int z) |
Sets the shape of a cta in the kernel. | |
void | setExternSharedMemorySize (unsigned int bytes) |
Declare an amount of external shared memory. | |
void | setWorkerThreads (unsigned int threadLimit) |
Describes the device used to execute the kernel. | |
void | updateArgumentMemory () |
Reload argument memory. | |
void | updateMemory () |
Indicate that other memory has been updated. | |
TextureVector | textureReferences () const |
Get a vector of all textures references by the kernel. | |
char * | argumentMemory () const |
Get the block of argument memory associated with the kernel. | |
char * | constantMemory () const |
Get the block of constant memory associated with the kernel. | |
OptimizationLevel | optimization () const |
Get the optimization level of the kernel. | |
void | addTraceGenerator (trace::TraceGenerator *generator) |
void | removeTraceGenerator (trace::TraceGenerator *generator) |
void | setExternalFunctionSet (const ir::ExternalFunctionSet &s) |
void | clearExternalFunctionSet () |
Executes an LLVMKernel using the LLVM JIT.
typedef translator::Translator::OptimizationLevel executive::LLVMExecutableKernel::OptimizationLevel |
executive::LLVMExecutableKernel::LLVMExecutableKernel | ( | const ir::IRKernel & | kernel, |
executive::Device * | d = 0 , |
||
OptimizationLevel | l = translator::Translator::NoOptimization |
||
) |
Creates a new instance of the runtime bound to a kernel.
executive::LLVMExecutableKernel::~LLVMExecutableKernel | ( | ) |
Clean up the runtime.
void executive::LLVMExecutableKernel::addTraceGenerator | ( | trace::TraceGenerator * | generator | ) | [virtual] |
adds a trace generator to the EmulatedKernel
Reimplemented from executive::ExecutableKernel.
char * executive::LLVMExecutableKernel::argumentMemory | ( | ) | const |
Get the block of argument memory associated with the kernel.
void executive::LLVMExecutableKernel::clearExternalFunctionSet | ( | ) | [virtual] |
clear the external function table for the emulated kernel
Implements executive::ExecutableKernel.
char * executive::LLVMExecutableKernel::constantMemory | ( | ) | const |
Get the block of constant memory associated with the kernel.
void executive::LLVMExecutableKernel::launchGrid | ( | int | width, |
int | height, | ||
int | depth | ||
) | [virtual] |
Launch a kernel on a 2D grid.
Implements executive::ExecutableKernel.
LLVMExecutableKernel::OptimizationLevel executive::LLVMExecutableKernel::optimization | ( | ) | const |
Get the optimization level of the kernel.
void executive::LLVMExecutableKernel::removeTraceGenerator | ( | trace::TraceGenerator * | generator | ) | [virtual] |
removes a trace generator from an EmulatedKernel
Reimplemented from executive::ExecutableKernel.
void executive::LLVMExecutableKernel::setExternalFunctionSet | ( | const ir::ExternalFunctionSet & | s | ) | [virtual] |
sets an external function table for the emulated kernel
Implements executive::ExecutableKernel.
void executive::LLVMExecutableKernel::setExternSharedMemorySize | ( | unsigned int | bytes | ) | [virtual] |
Declare an amount of external shared memory.
Implements executive::ExecutableKernel.
void executive::LLVMExecutableKernel::setKernelShape | ( | int | x, |
int | y, | ||
int | z | ||
) | [virtual] |
Sets the shape of a cta in the kernel.
Implements executive::ExecutableKernel.
void executive::LLVMExecutableKernel::setWorkerThreads | ( | unsigned int | threadLimit | ) | [virtual] |
Describes the device used to execute the kernel.
Implements executive::ExecutableKernel.
ExecutableKernel::TextureVector executive::LLVMExecutableKernel::textureReferences | ( | ) | const [virtual] |
Get a vector of all textures references by the kernel.
Implements executive::ExecutableKernel.
void executive::LLVMExecutableKernel::updateArgumentMemory | ( | ) | [virtual] |
Reload argument memory.
Implements executive::ExecutableKernel.
void executive::LLVMExecutableKernel::updateMemory | ( | ) | [virtual] |
Indicate that other memory has been updated.
Implements executive::ExecutableKernel.