obrah

Crates.ioobrah
lib.rsobrah
version3.4.0
created_at2025-09-28 12:29:41.53776+00
updated_at2025-11-29 14:47:18.816176+00
descriptionHigh-level Rust wrapper around OpenCL using OBWIO
homepage
repositoryhttps://github.com/muhammadmahdi70412-ship-it/OBRAH
max_upload_size
id1858288
size16,843,118
DelordofApels (muhammadmahdi70412-ship-it)

documentation

README

OBRAH

OBRAH (OpenCL But Rusty And High-level) is a Rust crate built on top of OBWIO(crates.io: OBWIO), providing a high-level, ergonomic interface for OpenCL. It abstracts low-level C bindings, letting you perform GPU computations with minimal boilerplate.

Overview

OBRAH provides an easy-to-use API for:

  • Creating OpenCL contexts and command queues
  • Loading kernels from .cl files
  • Allocating and managing GPU buffers
  • Running kernels and retrieving results

It is ideal for Rust developers who want GPU acceleration without dealing with raw OpenCL FFI.

Features

  • High-level Rust interface for OpenCL
  • Built on OBWIO for cross-platform GPU support
  • Simple buffer management (buffer.to(), buffer.from(), etc.)
  • Kernel management (use_kernel(), make_kernel(), etc.)
  • Cleanup utilities to safely release OpenCL resources

Installation

Add OBRAH to your Cargo.toml:

\[dependencies]
obrah = "3.0.0"

Requirements

  • Rust 1.70 or later
  • OpenCL SDK installed on your system
  • Compatible OpenCL runtime and drivers
  • Set OPENCL_SDK to the path of your OpenCL SDK

License

Licensed under the Apache License, Version 2.0

Contributing

Contributions are welcome! Open issues, submit pull requests, or improve the documentation.

Acknowledgments

OBRAH is built on OBWIO, which uses bindgen to generate FFI bindings. Thanks to the Rust and OpenCL communities for their documentation and support.

Commit count: 0

cargo fmt