Caffe2 - C++ API
A deep learning, cross platform ML framework
Data Structures | Public Member Functions | Data Fields | Static Public Attributes
GLConvolution Class Reference
Inheritance diagram for GLConvolution:

Data Structures

struct  descriptor

Public Member Functions

 GLConvolution (const descriptor &_geometry, const float *_kernel, const float *_bias, const float *_prelu_scale=nullptr, int _prelu_scale_size=0, int _input_batch_size=1, int _output_batch_size=1, int _input_tiles=1, int _output_tiles=1, int _input_tile_chunk_size=1, int _output_tile_chunk_size=1, int _input_tile_batch_size=1, int _output_tile_batch_size=1, bool _tiling=false)
template<typename T >
void convolution (const GLImageVector< T > &input_images, const GLImageVector< T > &output_images)
- Public Member Functions inherited from GLFilter
 GLFilter (const std::string kernel_name, const std::string vertex_shader, const std::string fragment_shader, const std::vector< binding * > uniforms, const std::vector< binding * > uniform_blocks={}, const std::vector< binding * > attributes={}, const replacements_t &replacements={})
void throwRuntimeError (std::function< void(std::stringstream &errmsg)> error_formatter) const
void checkGLError (std::function< void(std::stringstream &errmsg)> error_formatter) const
template<typename T >
void attach_uniform_buffer (const binding *block, GLuint bindingPoint, std::function< void(T *, size_t)> loader)
void run (const std::vector< texture_attachment > &input, const std::vector< const GLTexture * > &output, std::function< void(void)> uniforms_initializer, int width, int height)
void releaseBuffers ()
void deleteProgram ()
void deleteBindings ()

Data Fields

const float * kernel
const float * bias
const float * prelu_scale
bindinginputData [MaxInputBatchSize]
bindingpreviousData [MaxOutputBatchSize]
bindingkernel_block [MaxInputBatchSize]
const descriptor geometry
const int prelu_scale_size
const int input_batch_size
const int output_batch_size
const int input_tiles
const int output_tiles
const int input_tile_chunk_size
const int output_tile_chunk_size
const int input_tile_batch_size
const int output_tile_batch_size
const bool tiling

Static Public Attributes

static constexpr int MaxInputBatchSize = 8
static constexpr int MaxOutputBatchSize = 4
static const char * fragment_shader
- Static Public Attributes inherited from GLFilter
static const char * vertex_shader

Additional Inherited Members

- Public Types inherited from GLFilter
typedef std::vector< std::pair< std::string, std::string > > replacements_t
- Protected Attributes inherited from GLFilter
const std::string kernel_name
GLuint program = 0
GLuint frameBuffer = 0
GLuint uniformBlock [kMaxUniformBlocks] = {0}
GLint blockSize [kMaxUniformBlocks] = {0}
bool frame_buffer_initialized = false
- Static Protected Attributes inherited from GLFilter
static constexpr int kMaxUniformBlocks = 12
static constexpr bool check_opengl_errors = true

Detailed Description

Definition at line 7 of file GLConvolution.h.

The documentation for this class was generated from the following files: