GPUOcelot
Classes | Public Member Functions

executive::MulticoreCPUDevice Class Reference

A device to control all of the cores in a single CPU. More...

#include <MulticoreCPUDevice.h>

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

List of all members.

Classes

class  Module
 Specialization of EmulatorDevice::Module for LLVM.

Public Member Functions

 MulticoreCPUDevice (unsigned int flags=0)
 Sets the device properties.
void load (const ir::Module *module)
 Load a module, must have a unique name.
ExecutableKernelgetKernel (const std::string &module, const std::string &kernel)
 Get a translated kernel from the device.
void launch (const std::string &module, const std::string &kernel, const ir::Dim3 &grid, const ir::Dim3 &block, size_t sharedMemory, const void *argumentBlock, size_t argumentBlockSize, const trace::TraceGeneratorVector &traceGenerators=trace::TraceGeneratorVector(), const ir::ExternalFunctionSet *externals=0)
 helper function for launching a kernel
void limitWorkerThreads (unsigned int threads)
 Limit the worker threads used by this device.
void setOptimizationLevel (translator::Translator::OptimizationLevel level)
 Set the optimization level for kernels in this device.

Detailed Description

A device to control all of the cores in a single CPU.


Constructor & Destructor Documentation

executive::MulticoreCPUDevice::MulticoreCPUDevice ( unsigned int  flags = 0)

Sets the device properties.


Member Function Documentation

ExecutableKernel * executive::MulticoreCPUDevice::getKernel ( const std::string &  module,
const std::string &  kernel 
) [virtual]

Get a translated kernel from the device.

Reimplemented from executive::EmulatorDevice.

void executive::MulticoreCPUDevice::launch ( const std::string &  module,
const std::string &  kernel,
const ir::Dim3 grid,
const ir::Dim3 block,
size_t  sharedMemory,
const void *  argumentBlock,
size_t  argumentBlockSize,
const trace::TraceGeneratorVector traceGenerators = trace::TraceGeneratorVector(),
const ir::ExternalFunctionSet externals = 0 
) [virtual]

helper function for launching a kernel

Parameters:
modulemodule name
kernelkernel name
gridgrid dimensions
blockblock dimensions
sharedMemoryshared memory size
argumentBlockarray of bytes for parameter memory
argumentBlockSizenumber of bytes in parameter memory
traceGeneratorsvector of trace generators to add and remove from kernel

Reimplemented from executive::EmulatorDevice.

void executive::MulticoreCPUDevice::limitWorkerThreads ( unsigned int  threads) [virtual]

Limit the worker threads used by this device.

Reimplemented from executive::EmulatorDevice.

void executive::MulticoreCPUDevice::load ( const ir::Module module) [virtual]

Load a module, must have a unique name.

Reimplemented from executive::EmulatorDevice.

void executive::MulticoreCPUDevice::setOptimizationLevel ( translator::Translator::OptimizationLevel  level) [virtual]

Set the optimization level for kernels in this device.

Reimplemented from executive::EmulatorDevice.


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