Documentation for gpucalc library.
0.9.1
- Todo:
- Write as much documentation as possible.
- Todo:
- Create classes for parsing input args for our library.
- Todo:
- Create profiling system.
- Todo:
- create correct CMakeLists.txt (we need to find packages glew, glut and Cg)
- Todo:
- Create "make install" rule
gpucalc is a library for computation using Graphical Processing Unit (GPU) and Central Processing Unit (CPU). The main concept is that GPU has many processors, which works independently. So if we have algorithm and data presented in special way we can compute this algorithm, sometimes much faster. Historically GPU are designed for computing graphic data: images, 3D scenes and so on, so we must create our algorithms to satisfy these methods of processing.
GPU side - means that data are located in GPU memory, so we cant obtain pointer to this data.
CPU side - means that data are located in operating memory, we have pointer to this data and can do with them almost anything.
See also TaskCreationHOWTO
These are the libraries and packages which the core of gpucalc depends on.
- GLGraphicCore
- This plugin is OpenGL realization of abstract class GraphicCore, this plugin uses following libraries and packages:
GLEW - GL Extension Wrangler library, which allows to use OpenGL and all available extensions.
GLUT - GL Utility Toolkit library, which allows to create window and OpenGL context.
- GLGLSLShaderSystem
- This plugin is OpenGL GLSL realization of abstract class ShaderSystem, this plugin uses following libraries and packages:
GLEW
GLSL - as a part of OpenGL.
- GLCgShaderSystem is OpenGL Cg realization of abstract class ShaderSystem, this plugin uses following libraries and packages:
- Cg - nvidia Cg toolkit, allows to use Cg shading language.
Special thanks to
OGRE Rendering Engine, from this engine i have taken plugin system, logging system, exception, timer, singleton, platform independent code and many many other ideas.