Skip to content

Fix potential licensing issue - #126

Merged
ggerganov merged 2 commits into
ggml-org:masterfrom
musabgultekin:patch-1
Mar 15, 2023
Merged

ggerganov merged 2 commits into
ggml-org:masterfrom
musabgultekin:patch-1

Conversation

@musabgultekin

@musabgultekin musabgultekin commented Mar 14, 2023 •

Copy link
Copy Markdown
Contributor

I'm not an expert on Licenses BUT,

If you attribute Facebook in the README and description, you essentially admit/imply that this repo is a modification of their repo. Facebook's repo has "GPL-3.0 license". Which means this repo should also be like that in that case, which is something that we dont want.

This PR fixing that potential language issue.

Also recommend changing the description too. Such as
"Port of LLaMA model in C/C++"

@sowa705

sowa705 commented Mar 14, 2023

Copy link
Copy Markdown

This is a complete reimplementation of the GPL code. I don't think GPL applies in this case.

@G2G2G2G

G2G2G2G commented Mar 14, 2023 •

Copy link
Copy Markdown

https://www.gnu.org/licenses/old-licenses/gpl-2.0.html

The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language.

@sowa705 you sure? what does facebook use?

or is this changed enough not to be considered a translation?

@sowa705

sowa705 commented Mar 14, 2023

Copy link
Copy Markdown

There is no derivative work here. Its a completely different program that happens to implement the same algorithm (in a different way)

@musabgultekin

Copy link
Copy Markdown
Contributor Author

@sowa705 Thats exactly what I wanted to clarify by this PR. I suggest changing the language that can imply this repo is a derivative work.

Comment thread README.md
[![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)

Inference of [Facebook's LLaMA](https://github.com/facebookresearch/llama) model in pure C/C++
Inference of [LLaMA](https://arxiv.org/abs/2302.13971) model in pure C/C++

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Inference of [LLaMA](https://arxiv.org/abs/2302.13971) model in pure C/C++
Inference of [Facebook's LLaMA](https://arxiv.org/abs/2302.13971) model in pure C/C++

@ggerganov
ggerganov merged commit 977295c into ggml-org:master Mar 15, 2023
@musabgultekin
musabgultekin deleted the patch-1 branch March 15, 2023 20:27
blackhole89 pushed a commit that referenced this pull request Mar 15, 2023
* Update README.md

* Update README.md

remove facebook
@francis2tm

Copy link
Copy Markdown
Contributor

What about using the model? How can you be sure it's not against their terms? @musabgultekin @sowa705

@musabgultekin

Copy link
Copy Markdown
Contributor Author

I have no idea about that

rooprob pushed a commit to rooprob/llama.cpp that referenced this pull request Aug 2, 2023
Center align cute llama image in README
Deadsg pushed a commit to Deadsg/llama.cpp that referenced this pull request Dec 19, 2023
thedanhoffman pushed a commit to thedanhoffman/llama.cpp that referenced this pull request Apr 14, 2026
ggerganov pushed a commit that referenced this pull request Apr 21, 2026
#21944)

* Thread safety per request only

* Fix ROPE yarn case

* Fix sticky stateful config

* Use i4/i8 directly for symmetric quant

* Use weightless caching

* Add WeightlessCacheAttribute to reduce NPU memory usage

* Gelu tanh support (#125)

* Imrope support (#126)

* fix(openvino): explicit ov::Tensor frees in ggml_backend_openvino_free

* add GPU,NPU support in OV Dockerfile

* add build-openvino.yml ci

* Fix sticky stateful config

* add concurrency to ov-gpu ci runs. Move OV CI to build-openvino.yml

* fix thread-safety of shared runtime context

* rope type abstraction for frontend translations

* fix editorconfig

---------

Co-authored-by: Mustafa Cavus <mustafa.cavus@intel.com>
Co-authored-by: Dan Hoffman <dhoff749@gmail.com>
Co-authored-by: Ravi Panchumarthy <ravi.panchumarthy@intel.com>
Seunghhon pushed a commit to Seunghhon/llama.cpp that referenced this pull request Apr 26, 2026
* Update README.md

* Update README.md

remove facebook
phuongncn pushed a commit to phuongncn/llama.cpp-gx10-dgx-sparks-deepseekv4 that referenced this pull request Apr 28, 2026
Co-authored-by: Iwan Kawrakow <iwan.kawrakow@gmail.com>
ljubomirj pushed a commit to ljubomirj/llama.cpp that referenced this pull request May 6, 2026
* Update README.md

* Update README.md

remove facebook
my-other-github-account pushed a commit to my-other-github-account/llama.cpp that referenced this pull request May 15, 2026
ggml-org#21944)

* Thread safety per request only

* Fix ROPE yarn case

* Fix sticky stateful config

* Use i4/i8 directly for symmetric quant

* Use weightless caching

* Add WeightlessCacheAttribute to reduce NPU memory usage

* Gelu tanh support (ggml-org#125)

* Imrope support (ggml-org#126)

* fix(openvino): explicit ov::Tensor frees in ggml_backend_openvino_free

* add GPU,NPU support in OV Dockerfile

* add build-openvino.yml ci

* Fix sticky stateful config

* add concurrency to ov-gpu ci runs. Move OV CI to build-openvino.yml

* fix thread-safety of shared runtime context

* rope type abstraction for frontend translations

* fix editorconfig

---------

Co-authored-by: Mustafa Cavus <mustafa.cavus@intel.com>
Co-authored-by: Dan Hoffman <dhoff749@gmail.com>
Co-authored-by: Ravi Panchumarthy <ravi.panchumarthy@intel.com>
MrLordCat referenced this pull request in MrLordCat/llama.cpp-rdna-lab Jul 16, 2026
…s (#21944)

* Thread safety per request only

* Fix ROPE yarn case

* Fix sticky stateful config

* Use i4/i8 directly for symmetric quant

* Use weightless caching

* Add WeightlessCacheAttribute to reduce NPU memory usage

* Gelu tanh support (#125)

* Imrope support (#126)

* fix(openvino): explicit ov::Tensor frees in ggml_backend_openvino_free

* add GPU,NPU support in OV Dockerfile

* add build-openvino.yml ci

* Fix sticky stateful config

* add concurrency to ov-gpu ci runs. Move OV CI to build-openvino.yml

* fix thread-safety of shared runtime context

* rope type abstraction for frontend translations

* fix editorconfig

---------

Co-authored-by: Mustafa Cavus <mustafa.cavus@intel.com>
Co-authored-by: Dan Hoffman <dhoff749@gmail.com>
Co-authored-by: Ravi Panchumarthy <ravi.panchumarthy@intel.com>
zommiommy pushed a commit to zommiommy/llama.cpp that referenced this pull request Aug 18, 2026
ggml-org#21944)

* Thread safety per request only

* Fix ROPE yarn case

* Fix sticky stateful config

* Use i4/i8 directly for symmetric quant

* Use weightless caching

* Add WeightlessCacheAttribute to reduce NPU memory usage

* Gelu tanh support (ggml-org#125)

* Imrope support (ggml-org#126)

* fix(openvino): explicit ov::Tensor frees in ggml_backend_openvino_free

* add GPU,NPU support in OV Dockerfile

* add build-openvino.yml ci

* Fix sticky stateful config

* add concurrency to ov-gpu ci runs. Move OV CI to build-openvino.yml

* fix thread-safety of shared runtime context

* rope type abstraction for frontend translations

* fix editorconfig

---------

Co-authored-by: Mustafa Cavus <mustafa.cavus@intel.com>
Co-authored-by: Dan Hoffman <dhoff749@gmail.com>
Co-authored-by: Ravi Panchumarthy <ravi.panchumarthy@intel.com>
kainlan added a commit to kainlan/llama.cpp-intel-optimizations that referenced this pull request Sep 12, 2026
…e (llama.cpp-9trn)

test-mem-handle-wrong-device reported PASS while skipping cases, on this host,
today: main() always fell through to the unconditional
`fprintf(...ALL TESTS PASSED); return 0;` tail regardless of how many of its
six TEST_SKIP() sites fired, and its ctest registration carried no
SKIP_RETURN_CODE, so a skipped run rendered as ctest "Passed". Two of the six
skip sites require a second GPU device while the registration pinned
ONEAPI_DEVICE_SELECTOR=level_zero:1 (one device), so those two cases have
skipped on every run on this host since the test was written.

- Include tests/test-skip.h (LLAMA_TEST_EXIT_SKIP=77), matching the sibling
  test-mem-ops.cpp pattern.
- Route the two skip paths that were never counted (the sycl::exception catch
  and the no-GPU else branch around the arena/retention tests) through
  g_tests_skipped++, so the skip count is accurate regardless of which path
  is taken.
- main()'s trailing block now checks g_tests_skipped: any failure still
  returns 1; any skip with no failure returns LLAMA_TEST_EXIT_SKIP (77); only
  a run where everything actually ran and passed returns 0 and prints
  "ALL TESTS PASSED".
- CMakeLists.txt: add SKIP_RETURN_CODE 77 to the mem-handle-wrong-device
  registration (matching ~45 other targets in this file), so ctest reports
  the skip as "Skipped" instead of "Passed".

Widening the registration's selector to level_zero:0,1 (this host has two
discrete cards, B70=0/B50=1; the iGPU must never be admitted) was tried, since
that would let the two 2-GPU-only cases run for real instead of skipping.
Verified empirically: with two real devices visible, test 5's CHUNK_LEASE
wrong-device assertion fails -- not a production bug, but a pre-existing test
defect (that assertion targets a HOST-PINNED CHUNK_LEASE handle, and
mem_handle::resolve(int) deliberately treats host-pinned/host-mmap pointers as
device-agnostic, skipping the wrong-device check for them by design -- see the
comment above mem-handle.cpp:935). It was never caught because it only
executes when n_gpu_devices >= 2, which this registration never provided
before. Filed as llama.cpp-os9t for whoever fixes the assertion; per Ruling 2
this change does not touch mem_handle::resolve()'s check. Kept the
registration at level_zero:1 and documented the finding in both files so a
future widening attempt does not repeat the investigation; the two
2-GPU-only cases now honestly exit-77-skip instead of silently passing.

Evidence (ONEAPI_DEVICE_SELECTOR pinned every run; GPU log clean; Shmem/
MemAvailable sampled before/after each, no growth):
- RED (pre-fix, level_zero:1): "Tests: 9 run, 9 passed, 2 skipped" then
  "ALL TESTS PASSED", rc=0.
- GREEN (post-fix, level_zero:0,1, widening probe): "Tests: 11 run, 10
  passed, 0 skipped" then "SOME TESTS FAILED", rc=1 -- the CHUNK_LEASE
  test-defect above, which is why the registration was kept at level_zero:1.
- GREEN (post-fix, level_zero:1): "Tests: 9 run, 9 passed, 2 skipped" then
  "SKIP: 2 case(s) did not run -- NOT verified.", rc=77.
- ctest --test-dir build -R '^mem-handle-wrong-device$' --output-on-failure:
  "1/1 Test ggml-org#126: mem-handle-wrong-device ..........***Skipped", rc=0.
- ctest --test-dir build -N | grep mem-handle-wrong-device confirms the
  registered name is 'mem-handle-wrong-device'.

Related: llama.cpp-fxrg, llama.cpp-enxh, llama.cpp-os9t.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WFRnuREKjYg95sZ53h2ztF
ckti pushed a commit to ckti/llama.cpp-consolidated that referenced this pull request Sep 13, 2026
ggml-org#126)

* dflash: read the confidence-head metadata key instead of only guessing

Cleanup, no behaviour change for any valid checkpoint.

These files already write dflash.confidence_head, and nothing read it. The
runtime inferred the same fact from whether markov_w1.weight was present. That
works for a complete export, but the two can disagree, and when they do the
model loads as plain DFlash and reads drafts one row late. Acceptance drops
hard and nothing says why.

This declares the key and cross-checks it against the tensors: if the metadata
claims a confidence head and markov_w1.weight is absent, the load fails with a
message that names the cause. The tensor remains the fallback when the key is
absent, so older exports load exactly as before.

Verified:
- the real drafter is unchanged, 65.891% acceptance and mean length 3.58, the
  same as on the current prism-v7 tip
- a synthetic GGUF that sets dflash.confidence_head with no markov_w1.weight
  now fails on load with the new message, instead of loading and drafting badly

Not in this change: dflash.sample_from_anchor is still only honoured on the
DSpark path, so the row offset and the confidence head are still coupled through
one flag. Decoupling them needs the converter to write sample_from_anchor
explicitly for both lineages, because its default of true is DSpark-shaped and
applying it uniformly today would change DFlash behaviour.

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Pasha Khosravi <khosravipasha@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
gaetan-puleo added a commit to Nathanw1014/llama.cpp that referenced this pull request Oct 3, 2026
vulkan : top-k n-ary search never selected +inf
bong-water-water-bong referenced this pull request in 1bit-MONSTER/llama.cpp Oct 6, 2026
Enforce minimum hrx commit when building with `HRX_SOURCE_DIR`
imaami pushed a commit to imaami/llama.cpp that referenced this pull request Oct 10, 2026
ggml-org#126)

* dflash: read the confidence-head metadata key instead of only guessing

Cleanup, no behaviour change for any valid checkpoint.

These files already write dflash.confidence_head, and nothing read it. The
runtime inferred the same fact from whether markov_w1.weight was present. That
works for a complete export, but the two can disagree, and when they do the
model loads as plain DFlash and reads drafts one row late. Acceptance drops
hard and nothing says why.

This declares the key and cross-checks it against the tensors: if the metadata
claims a confidence head and markov_w1.weight is absent, the load fails with a
message that names the cause. The tensor remains the fallback when the key is
absent, so older exports load exactly as before.

Verified:
- the real drafter is unchanged, 65.891% acceptance and mean length 3.58, the
  same as on the current prism-v7 tip
- a synthetic GGUF that sets dflash.confidence_head with no markov_w1.weight
  now fails on load with the new message, instead of loading and drafting badly

Not in this change: dflash.sample_from_anchor is still only honoured on the
DSpark path, so the row offset and the confidence head are still coupled through
one flag. Decoupling them needs the converter to write sample_from_anchor
explicitly for both lineages, because its default of true is DSpark-shaped and
applying it uniformly today would change DFlash behaviour.

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Pasha Khosravi <khosravipasha@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
(cherry picked from commit 0c44899)
Assisted-by: GitHub Copilot
imaami pushed a commit to imaami/llama.cpp that referenced this pull request Oct 13, 2026
Resolve the draft block layout from the model, validate confidence-head metadata, and reject missing draft mask tokens. Add the legacy DSpark-to-DFlash GGUF converter and its command entry point.

Based on bri-prism and Pasha Khosravi's Prism ggml-org#122, ggml-org#126, ggml-org#127 and ggml-org#129
changes. Include the acceptance-floor regression test.

Source: PrismML-Eng@adc79e8
Source: PrismML-Eng@18d5846
Source: PrismML-Eng@0c44899

Co-authored-by: Pasha Khosravi <khosravipasha@users.noreply.github.com>
Co-authored-by: Pasha Khosravi <khosravipasha@gmail.com>
Assisted-by: GitHub Copilot
Assisted-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Assisted-by: OpenAI Codex

Ported and rebased by Codex.
imaami pushed a commit to imaami/llama.cpp that referenced this pull request Oct 13, 2026
Resolve the draft block layout from the model, validate confidence-head metadata, and reject missing draft mask tokens. Add the legacy DSpark-to-DFlash GGUF converter and its command entry point.

Based on bri-prism and Pasha Khosravi's Prism ggml-org#122, ggml-org#126, ggml-org#127 and ggml-org#129
changes. Include the acceptance-floor regression test.

Source: PrismML-Eng@adc79e8
Source: PrismML-Eng@18d5846
Source: PrismML-Eng@0c44899

Co-authored-by: Pasha Khosravi <khosravipasha@users.noreply.github.com>
Co-authored-by: Pasha Khosravi <khosravipasha@gmail.com>
Assisted-by: GitHub Copilot
Assisted-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Assisted-by: OpenAI Codex

Ported and rebased by Codex.
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.

5 participants