Skip to content

[Feature] Rename ggml library or make the related f8/INT8 features in sd.cpp as a optional #1917

Description

@masamaru-san

Feature Summary

Rename forked ggml for sd.cpp, or make f8/INT8 related feature as a optional.

Detailed Description

Requested feature

  1. Using a forked version of GGML under a different name,
  2. Or when using with the upstream ggml, SD.cpp will be disable f8/int8-related features automatically.

Reason / background

GGML is now a public library.

  • We need to avoid conflicts with existing upstream libraries in the system.
    • If the forked version of GGML has the same binary name as the upstream, there is a risk of conflict with llama.cpp, wisper.cpp, or other GGML components bundled with applications. On Windows, in particular, this can easily lead to "DLL Hell."
    • While forcing a static build would be safe, I think it's an impractical solution.
  • Often, we must use the rapidly updated upstream GGML to fix bugs on minor devices.
  • From what I've seen, it doesn't appear that the pull request submitted to the upstream GGML for f8/INT8 support in sd.cpp will be approved anytime soon.

Alternatives you considered

On my cloneed worktree, currently, such f8/INT8 features are all disabled by adding #if - #endif for using with upstream GGML.

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions