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

Making Arrayfire optional #7

Open
albertsgarde opened this issue May 27, 2022 · 3 comments
Open

Making Arrayfire optional #7

albertsgarde opened this issue May 27, 2022 · 3 comments
Assignees
Labels
enhancement New feature or request

Comments

@albertsgarde
Copy link

Do you think it would be possible to make arrayfire optional? The benefits of arrayfire are enormous, but it also seems like a huge handicap that anyone using the crate will be forced to download and install the arrayfire binaries. This also means that if I use mushin in my crate, my crate will also dependent on arrayfire, which is kind of a turn off.

I guess making it optional would require making several versions of all operations and complicating the code with some abstraction over arrayfire/alternative, which would be a lot of work.

@c0dearm
Copy link
Owner

c0dearm commented May 30, 2022

Hey! As you say it is going to be a bit of pain indeed to make that abstraction but it might be worth it.

Also if we choose the right alternative we might be able to have this crate to be #![no_std] compatible. What would you propose as an alternative to arrayfire?

@c0dearm c0dearm added the enhancement New feature or request label May 30, 2022
@c0dearm c0dearm self-assigned this May 30, 2022
@albertsgarde
Copy link
Author

My first suggestions for an alternative would be ndarray. It's purely CPU (I think?), but i don't know any non-CPU solutions that don't require external software.
I've used it for my own neural networks and it's great to work with.

@c0dearm
Copy link
Owner

c0dearm commented May 30, 2022

I want to first make a few improvements to get to something really usable in ML, like adding optimisers and parameter freezing, but once I get to that MVP for sure I will look into making the underlying "array" library replaceable with most probably ndarray as default.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants