Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better feature flags for backends. #2390

Open
nathanielsimard opened this issue Oct 20, 2024 · 1 comment
Open

Better feature flags for backends. #2390

nathanielsimard opened this issue Oct 20, 2024 · 1 comment
Assignees
Labels
accessibility Everything that is related to making Burn more accessible

Comments

@nathanielsimard
Copy link
Member

I think we should revisit the name of our feature flags and backends. To make things simple we should have:

  • tch => libtorch
  • wgpu-spirv => vulkan
  • wgpu => webgpu
  • cuda-jit => cuda

Some feature flags are meant to customize a backend, they should be specific for that backend:

  • cuda => candle-cuda, libtorch-cuda
  • metal => candle-metal, libtorch-metal
  • openblas => ndarray-openblas
  • accelerate => ndarray-accelerate

Essentially, we're making backends made with cubecl first class, meaning we don't need to prefix things with cubecl like cubecl-vulkan, cubecl-cuda or cubecl-fusion, but for the third-party backends, I think it's more flexible, since we won't have feature flags that may clash with our own. In that sense, we may also rename burn-jit to burn-cubecl, since it's pretty much the backend built on top of cubecl.

@nathanielsimard nathanielsimard added the accessibility Everything that is related to making Burn more accessible label Oct 20, 2024
@nathanielsimard nathanielsimard self-assigned this Oct 20, 2024
@antimora
Copy link
Collaborator

Just to be clear these feature flags are part of the meta package burn?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
accessibility Everything that is related to making Burn more accessible
Projects
None yet
Development

No branches or pull requests

2 participants