Skip to content

Add base framework for flat bindings #3068

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

Closed
wants to merge 15 commits into from

Conversation

peardox
Copy link

@peardox peardox commented Apr 23, 2025

This PR adds a new option to cmake - the BINDINGS_FLAT option

If undefined everything is the same as if it didn't exist making it completely benign

If defined it includes ggml-flat.cpp and whisper-flat.cpp to the build of the dynamic libraries whisper and ggml. These are intended to allow extra functionality to be exposed in the shared libs. This is intended to allow other languages to add stuff they need to the dynamic libraries.

There's only one function added to the libraries ATM - whisper_flat_backends_load_all() which just calls ggml_backends_load_all()
There are no functions in the GGML version at all (not worked out what's needed yet), this is, however, likely to have some entries eventually.

@peardox peardox marked this pull request as draft April 25, 2025 05:01
@peardox peardox marked this pull request as ready for review April 25, 2025 05:01
@peardox
Copy link
Author

peardox commented Apr 26, 2025

My recent addtions were illuminating.

If you load vulkan and cuda then your chosen device ends up being whichever was loaded first (using ggml_backend_load_best)

At least that's what happens when my 4070 is both cuda and vulkan device

Oddly vulkan was faster - that may be down to NVIDIA's current diver problems though

Done with this PR - can it be reviewed now?

@peardox peardox marked this pull request as draft April 27, 2025 03:20
@peardox
Copy link
Author

peardox commented Apr 27, 2025

Arggh - Mac needs a few fixups

@peardox
Copy link
Author

peardox commented Apr 27, 2025

Mac now happy

@peardox peardox marked this pull request as ready for review April 27, 2025 04:58
@peardox peardox marked this pull request as draft April 27, 2025 20:25
@peardox peardox closed this Apr 28, 2025
@peardox peardox deleted the bindings_flat branch April 28, 2025 19:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant