[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Investigating a reproducibility failure
From: |
Konrad Hinsen |
Subject: |
Investigating a reproducibility failure |
Date: |
Tue, 01 Feb 2022 15:05:40 +0100 |
Hi everyone,
Two years ago, I published a supposedly reproducible computation,
explaining how to re-run it at any time using Guix (it's at
https://github.com/khinsen/rescience-ten-year-challenge-paper-3/). Yesterday,
I got an e-mail from someone who tried, and failed. I tried myself, and
failed as well. But I don't understand what's going on.
To see the failure, do
guix time-machine \
--commit=7357b3d7a52eb5db1674012c50d308d792741c48 \
-- build openblas
The build log is attached, the first error is
getarch_2nd.c: In function ‘main’:
getarch_2nd.c:12:35: error: ‘SGEMM_DEFAULT_UNROLL_M’ undeclared (first use
in this function); did you mean ‘XGEMM_DEFAULT_UNROLL_M’?
printf("SGEMM_UNROLL_M=%d\n", SGEMM_DEFAULT_UNROLL_M);
^~~~~~~~~~~~~~~~~~~~~~
XGEMM_DEFAULT_UNROLL_M
What makes this complicated is the DYNAMIC_ARCH feature of openblas that
Guix uses on X86 architectures. I don't know the details of who this
should work and why it could fail. In particular, I don't know if the
source code file getarch₂nd is supposed to be compiled at all if all
goes well.
I doubt we can do anything to fix the past, but I would like to
understand what exactly went wrong here so we can make sure we do better
in the future.
Cheers,
Konrad.
- Investigating a reproducibility failure,
Konrad Hinsen <=