From f9de1124b675b2cfd09e9ad75aeda45ecea7319a Mon Sep 17 00:00:00 2001 From: Mohammad Akhlaghi Date: Thu, 15 Feb 2018 14:10:29 +0100 Subject: Gnuastro's memory mapping is now a local variable As described in the commens above `MINMAPSIZE' of `LOCAL.mk.in', the amount of memory to map to HDD/SSD or keep in RAM is a local issue and not relevant to the pipeline's results. So it is now defined in a `gnuastro-local.conf' file. To keep the Makefiles clean, this file is created by the `./configure' script. To do this cleanly, the `./configure' script was also almost fully re-written with better functionality now. --- reproduce/config/gnuastro/gnuastro.conf | 10 ++++------ reproduce/config/pipeline/LOCAL.mk.in | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+), 6 deletions(-) (limited to 'reproduce/config') diff --git a/reproduce/config/gnuastro/gnuastro.conf b/reproduce/config/gnuastro/gnuastro.conf index 49f9906..a2a44cf 100644 --- a/reproduce/config/gnuastro/gnuastro.conf +++ b/reproduce/config/gnuastro/gnuastro.conf @@ -12,9 +12,10 @@ # pipeline is taken from the default Gnuastro configuration from its # source (`bin/gnuastro.conf'). -# Reproduction pipeline +# Reproduction pipeline (`./config' has to be before `lastconfig'). + config .gnuastro/gnuastro-local.conf + # onlyversion X.X lastconfig 1 -# onlyversion X.X # Input: hdu 1 @@ -30,7 +31,4 @@ interponlyblank 0 # Output: - tableformat fits-binary - -# Operating mode - minmapsize 1000000000 \ No newline at end of file + tableformat fits-binary \ No newline at end of file diff --git a/reproduce/config/pipeline/LOCAL.mk.in b/reproduce/config/pipeline/LOCAL.mk.in index 896df2f..ac8e10e 100644 --- a/reproduce/config/pipeline/LOCAL.mk.in +++ b/reproduce/config/pipeline/LOCAL.mk.in @@ -48,3 +48,23 @@ SURVEY = reproduce/SURVEY # more easy: the contents of the build directory do not need to be backed # up since they can be reproduced and they can be large. BDIR = reproduce/BDIR + + + + + +# Memory mapping minimum size +# --------------------------- +# +# Some programs (for example Gnuastro) can deal with cases where the local +# system doesn't have enough memory (RAM) to keep large files there. For +# example, they will create memory-mapped (`mmap' for short) files on the +# HDD or SSD and read/write to them instead of RAM. This will ofcourse, +# slow down the processing, but atleast the program won't crash. +# +# Since the memory requirements of different systems are different and it +# has no effect on the software's final result, the minimum size of an +# allocated array to warrant a mapping to HDD/SSD instead of RAM must also +# be defined here. This value will be used in the programs that support +# this feature. +MINMAPSIZE = 1000000000 -- cgit v1.2.1