Skip to content

Conversation

@civodul
Copy link

@civodul civodul commented Jun 27, 2023

Hello!

As part of a Reproducible Research hackathon, we're looking into taking advantage of Guix to support reproducible deployment for submissions to ReScience C.

This pulls requests adds two files that let us deploy the software environment of this computational experiment in a reproducible fashion. I tested it on a local cluster at my research institute that runs Slurm 22.05; apart from Slurm itself, all the packages are provided by Guix. I also added a GitHub action to build the software environment upon push.

The figures I obtain all look similar to those in the published article, with one exception: Figure 2.A ("attractors"), as shown below.

firing_rates_attractors

I haven't tried to analyze the reason of this discrepancy (I'm not an expert in this field). Any ideas?

Cc: @rougier @khinsen

civodul added 2 commits June 27, 2023 14:18
These two files are all it takes to set up a known-good test environment
with:

  guix time-machine -C channels.scm -- shell -m manifest.scm
@civodul civodul force-pushed the guix-environment branch from 9df5224 to a1678dc Compare June 27, 2023 14:30
@civodul civodul force-pushed the guix-environment branch from a1678dc to ea79a29 Compare June 27, 2023 15:16
@rougier
Copy link

rougier commented Jul 17, 2023

Not sure what could be the reason. Did you try to contact authors?

;;
;; to enter the environment built from this very Guix revision.

(list (channel

Choose a reason for hiding this comment

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

out of curiosity, shouldn't channel inferiors (that provide packages versions which are as close as possible to the minimal version constraints in requirements.txt) be defined?

Copy link

Choose a reason for hiding this comment

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

That is more of a philosophical than a technical question. It depends on the criteria that the authors applied to define those minimal version constraints, and that is hardly ever documented. In practice, judging from my own experience, version constraints are rarely useful for reproducibility. The fundamental assumption that "x.x or higher" yields the same results is simply wrong. Only strict version equality (same commit ID) has practical value.

@suhail-singh
Copy link

suhail-singh commented Oct 28, 2023 via email

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.

4 participants