GPUOcelot
|
Able to run various optimization passes over PTX modules. More...
#include <PTXOptimizer.h>
Public Types | |
enum | RegisterAllocationType { LinearScan, InvalidRegisterAllocationType } |
The type of register allocator to use. More... | |
enum | PassType { InvalidPassType = 0x0, RemoveBarriers = 0x1, ReverseIfConversion = 0x2, SubkernelFormation = 0x4, StructuralTransform = 0x8, MIMDThreadScheduling = 0x10, DeadCodeElimination = 0x20, SplitBasicBlocks = 0x40, SyncElimination = 0x80 } |
The possible PTX to PTX passes. More... | |
Public Member Functions | |
PTXOptimizer () | |
The constructor sets the defaults. | |
void | optimize () |
Performs the optimizations. | |
Public Attributes | |
std::string | input |
The input file being optimized. | |
std::string | output |
The output file being generated. | |
RegisterAllocationType | registerAllocationType |
The type of register allocation to perform. | |
int | passes |
The set of passes to run. | |
unsigned int | registerCount |
The number of registers to allocate. | |
unsigned int | subkernelSize |
The target sub-kernel size. | |
unsigned int | basicBlockSize |
The target basic block size. | |
bool | cfg |
Print out the CFG of optimized kernels. |
Able to run various optimization passes over PTX modules.
tools::PTXOptimizer::PTXOptimizer | ( | ) |
The constructor sets the defaults.
void tools::PTXOptimizer::optimize | ( | ) |
Performs the optimizations.
unsigned int tools::PTXOptimizer::basicBlockSize |
The target basic block size.
Print out the CFG of optimized kernels.
std::string tools::PTXOptimizer::input |
The input file being optimized.
std::string tools::PTXOptimizer::output |
The output file being generated.
The set of passes to run.
The type of register allocation to perform.
unsigned int tools::PTXOptimizer::registerCount |
The number of registers to allocate.
unsigned int tools::PTXOptimizer::subkernelSize |
The target sub-kernel size.