Skip to main content

Uniform API for PyOpenCL and PyCUDA.

Project description

Grunnur, a base layer for GPGPU

pypi package License Docs Coverage Code style: black

What's with the name?

"Grunnur" means "foundation" in Icelandic.

What does it do?

Grunnur is a thin layer on top of PyCUDA and PyOpenCL that makes it easier to write platform-agnostic programs. It is a reworked cluda submodule of Reikna, extracted into a separate module.

Warning: The current version is not very stable and the public API is subject to change as I'm transferring the functionality from Reikna and extending it to support multi-GPU configurations. Bug reports are welcome, and especially welcome are any suggestions about the public API.

Main features

  • For the majority of cases, allows one to write platform-independent code.
  • Simple usage of multiple GPUs (in particular, no need to worry about context switching for CUDA).
  • A way to split kernel code into modules with dependencies between them (see Modules and Snippets).
  • Various mathematical functions (with complex numbers support) organized as modules.
  • Static kernels, where you can use global/local shapes with any kinds of dimensions without worrying about assembling array indices from blockIdx and gridIdx.
  • A temporary buffer manager that can pack several virtual buffers into the same physical one depending on the declared dependencies between them.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

grunnur-0.3.0.tar.gz (109.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page