https://github.com/turbo/nanocl
Zero-Overhead bare-metal GPGPU library for C++ on Windows.
https://github.com/turbo/nanocl
glsl gpgpu parallelism
Last synced: about 1 year ago
JSON representation
Zero-Overhead bare-metal GPGPU library for C++ on Windows.
- Host: GitHub
- URL: https://github.com/turbo/nanocl
- Owner: turbo
- License: mit
- Created: 2017-01-29T01:33:01.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-01-29T01:52:03.000Z (over 9 years ago)
- Last Synced: 2025-04-12T07:18:02.304Z (about 1 year ago)
- Topics: glsl, gpgpu, parallelism
- Language: C++
- Size: 8.79 KB
- Stars: 15
- Watchers: 4
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[]()
NanoCL provides a thin wrapper on top of OpenGl functions for GPGPU programming. It can be used to allocate and manage GPU memory and run GLSL kernels on standard `float[]` arrays.
This library is the upstream source for [turbo.js](https://github.com/turbo/js), but is vastly more capable.
Though NanoCL is much more trivial than OpenCL, it can provide certain advantages:
- virtually no compile-time overhead
- completely dependency-free
- compatible with almost all GPUs and GLSL-compatible software renderers
- transparent source code
- allows for easier tracing using performance analysis (perf, Amp, ...) because no superfluous levels of indirections are used
NanoCL was designed for Windows. It does not require any OpenGL wrapper libraries like GLU or GLFW, just the OpenGL headers. It was tested using TDM-GCC, ICC and MSVC.
Documentation is in progress.