Skip to content

[Improvement]: add a first GPU-targetting algorithmΒ #260

@imrn99

Description

@imrn99

Scope

honeycomb-kernels (algorithms)

Side effects

unsure

Type of change

new feature

Affected item(s)

  • new module in the kernel crate, probably
  • new dependency (see below)

Changes / proposals

I came across a few promising crates that allow us to write GPU kernels in Rust. Given a simple algorithm, we can probably write a first GPU kernel using those.

GPGPU in Rust can be the object of a proper SOTA study later, starting from @dssgabriel's work and working our way up to today, especially since a lot of things changed since the initial work. As of now, I identified two fitting dependencies for us:

  • cudarc - call CUDA kernels from a safe rust interface; we can handle data transform & transfer to the device in our crate easily
  • cubecl - a rust DSL based solution; I need to look into it further, but this seems like a very promising implementation (cross-platform too!)

I kept those because they both:

  • add no/minimal unsafe to the rust codebase
  • do not require writing the kernels in shading languages

Metadata

Metadata

Assignees

Labels

improvementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions