GPUOcelot
Public Types | Public Member Functions

executive::LLVMExecutableKernel Class Reference

Executes an LLVMKernel using the LLVM JIT. More...

#include <LLVMExecutableKernel.h>

Inheritance diagram for executive::LLVMExecutableKernel:
Inheritance graph
[legend]
Collaboration diagram for executive::LLVMExecutableKernel:
Collaboration graph
[legend]

List of all members.

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 ()

Detailed Description

Executes an LLVMKernel using the LLVM JIT.


Member Typedef Documentation


Member Enumeration Documentation

Types of call instructions.

Enumerator:
TailCall 
ReturnCall 
NormalCall 
ExitCall 
BarrierCall 
InvalidCallType 

Constructor & Destructor Documentation

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.


Member Function Documentation

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.


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