Skip to content

Implementation of blaze programs #11

Description

@Aandreba

Thread safety

Currently, programs created with the #[blaze] macro will hold their kernels inside Mutexes (one per kernel).
Whilst this implementation has the benefit of being thread-safe, it also adds avoidable overhead. A thread-unsafe implementation could use RecCells, which would remove the muteness overhead.
A syntax to specify the thread safety of the program should be defined, and a default implementation may be decided.

Program objects

Currently, defined programs with the #[blaze] macro creates a struct for the program, and adds functions to it to enqueue the kernels. An alternative implementation could create a single static or thread local instance of the program struct, and the kernel functions wouldn't be associated with the object.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requesthelp wantedExtra attention is needed

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions