Skip to content

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

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

Merged
merged 1 commit into from
Jan 24, 2025

Conversation

bmwiedemann
Copy link
Contributor

@bmwiedemann bmwiedemann commented Jan 23, 2025

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
Copy link
Member

@ggerganov ggerganov left a comment

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
Contributor 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
1 check passed
@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.
tinglou pushed a commit to tinglou/llama.cpp that referenced this pull request Feb 13, 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.
mglambda pushed a commit to mglambda/llama.cpp that referenced this pull request Mar 8, 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.
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