Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kai-kj/microcompute

A small library for gpu computing
https://github.com/kai-kj/microcompute

c glsl gpgpu gpu gpu-computing gpu-programming lua luajit opengl

Last synced: about 1 month ago
JSON representation

A small library for gpu computing

Awesome Lists containing this project

README

        


microcompute


A small library for gpu computing






## About

A small and simple library to use compute shaders in Vulkan.

## Dependencies

For Ubuntu (tested on `22.04`):

- `build-essential`
- `libvulkan-dev`
- `vulkan-validationlayers-dev` (only for the validation layer)
- `glslang-tools` (only for the included examples)

Or equivalent for other systems.

## Examples

- Array operations
- [`array.c`](https://github.com/kal39/microcompute/blob/master/examples/array.c)
- [`array.glsl`](https://github.com/kal39/microcompute/blob/master/examples/array.glsl)
- Mandelbrot renderer
- [`mandelbrot.c`](https://github.com/kal39/microcompute/blob/master/examples/mandelbrot.glsl)
- [`mandelbrot.glsl`](https://github.com/kal39/microcompute/blob/master/examples/mandelbrot.glsl)

Run `make all` in `examples/` to build all examples. It requires `gcc` and `glslangValidator` to be installed.

## Documentation

- [`doc.md`](https://github.com/kal39/microcompute/blob/master/doc.md)
- [`mc.h`](https://github.com/kal39/microcompute/blob/master/mc.h) (generated using [`mini_doc_gen.py`](https://kaikitagawajones.com/projects_mini_doc_gen.html))

## License

MIT (see [LICENSE](https://github.com/kal39/microcompute/blob/master/LICENSE)).