Skip to content

Avoid -march=native when reproducible build is wanted#11366

Merged
ggerganov merged 1 commit into
ggml-org:masterfrom
bmwiedemann:native
Jan 24, 2025
Merged

Avoid -march=native when reproducible build is wanted#11366
ggerganov merged 1 commit into
ggml-org:masterfrom
bmwiedemann:native

Conversation

@bmwiedemann

@bmwiedemann bmwiedemann commented Jan 23, 2025

Copy link
Copy Markdown

See https://reproducible-builds.org/ for why this is good.

Without this patch, compiling on different machines produced different binaries, which made verification of results difficult.

Fixes: #11317

This PR was done while working on reproducible builds for openSUSE.

@github-actions github-actions Bot added the ggml changes relating to the ggml tensor library for machine learning label Jan 23, 2025

@ggerganov ggerganov left a comment

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.

I suppose this env variable is specific only for this particular use case and it won't clash with some other workflow?

Maybe add a message(STATUS ...) to be more verbose when GGML_NATIVE_DEFAULT is set to OFF.

See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.

Without this patch, compiling on different machines produced different binaries, which made verification of results difficult.

Fixes: ggml-org#11317

This patch was done while working on reproducible builds for openSUSE.
@bmwiedemann

Copy link
Copy Markdown
Author

The variable is defined in https://reproducible-builds.org/specs/source-date-epoch/ - multiple distributions (Debian, Arch, openSUSE) set it during build to achieve reproducible builds results.

I pushed an update with message(STATUS...)

@ggerganov ggerganov merged commit 1af6945 into ggml-org:master Jan 24, 2025
@bmwiedemann bmwiedemann deleted the native branch January 24, 2025 11:22
anagri pushed a commit to BodhiSearch/llama.cpp that referenced this pull request Jan 26, 2025
…rg#11366)

See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.

Without this patch, compiling on different machines produced different binaries, which made verification of results difficult.

Fixes: ggml-org#11317

This patch was done while working on reproducible builds for openSUSE.
arthw pushed a commit to arthw/llama.cpp that referenced this pull request Feb 26, 2025
…rg#11366)

See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.

Without this patch, compiling on different machines produced different binaries, which made verification of results difficult.

Fixes: ggml-org#11317

This patch was done while working on reproducible builds for openSUSE.
Seunghhon pushed a commit to Seunghhon/llama.cpp that referenced this pull request Apr 26, 2026
…rg#11366)

See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.

Without this patch, compiling on different machines produced different binaries, which made verification of results difficult.

Fixes: ggml-org#11317

This patch was done while working on reproducible builds for openSUSE.
ljubomirj pushed a commit to ljubomirj/llama.cpp that referenced this pull request May 6, 2026
…rg#11366)

See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.

Without this patch, compiling on different machines produced different binaries, which made verification of results difficult.

Fixes: ggml-org#11317

This patch was done while working on reproducible builds for openSUSE.
my-other-github-account pushed a commit to my-other-github-account/llama.cpp that referenced this pull request May 15, 2026
…rg#11366)

See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.

Without this patch, compiling on different machines produced different binaries, which made verification of results difficult.

Fixes: ggml-org#11317

This patch was done while working on reproducible builds for openSUSE.
my-other-github-account pushed a commit to my-other-github-account/llama.cpp that referenced this pull request May 15, 2026
…rg#11366)

See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.

Without this patch, compiling on different machines produced different binaries, which made verification of results difficult.

Fixes: ggml-org#11317

This patch was done while working on reproducible builds for openSUSE.
phibya pushed a commit to ziee-ai/llama.cpp that referenced this pull request May 29, 2026
…rg#11366)

See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.

Without this patch, compiling on different machines produced different binaries, which made verification of results difficult.

Fixes: ggml-org#11317

This patch was done while working on reproducible builds for openSUSE.
AlexiAlp pushed a commit to minghaop/llama.cpp that referenced this pull request Jun 2, 2026
…rg#11366)

See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.

Without this patch, compiling on different machines produced different binaries, which made verification of results difficult.

Fixes: ggml-org#11317

This patch was done while working on reproducible builds for openSUSE.
AlexiAlp pushed a commit to minghaop/llama.cpp that referenced this pull request Jun 2, 2026
…rg#11366)

See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.

Without this patch, compiling on different machines produced different binaries, which made verification of results difficult.

Fixes: ggml-org#11317

This patch was done while working on reproducible builds for openSUSE.
fukuro-kun pushed a commit to fukuro-kun/fukuro-llama-cpp-turboquant that referenced this pull request Jul 5, 2026
…rg#11366)

See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.

Without this patch, compiling on different machines produced different binaries, which made verification of results difficult.

Fixes: ggml-org#11317

This patch was done while working on reproducible builds for openSUSE.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ggml changes relating to the ggml tensor library for machine learning

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Compile bug: GGML_NATIVE defaults to ON

2 participants