|
55 | 55 | from easybuild.base import fancylogger |
56 | 56 | from easybuild.framework.easyconfig import EASYCONFIGS_PKG_SUBDIR |
57 | 57 | from easybuild.framework.easyconfig.easyconfig import ITERATE_OPTIONS, EasyConfig, ActiveMNS, get_easyblock_class |
58 | | -from easybuild.framework.easyconfig.easyconfig import get_module_path, letter_dir_for, resolve_template |
| 58 | +from easybuild.framework.easyconfig.easyconfig import get_module_path, get_parallel_ec_param_value |
| 59 | +from easybuild.framework.easyconfig.easyconfig import letter_dir_for, resolve_template |
59 | 60 | from easybuild.framework.easyconfig.format.format import SANITY_CHECK_PATHS_DIRS, SANITY_CHECK_PATHS_FILES |
60 | 61 | from easybuild.framework.easyconfig.parser import fetch_parameters_from_easyconfig |
61 | 62 | from easybuild.framework.easyconfig.style import MAX_LINE_LENGTH |
|
92 | 93 | from easybuild.tools.package.utilities import package |
93 | 94 | from easybuild.tools.py2vs3 import extract_method_name, string_type |
94 | 95 | from easybuild.tools.repository.repository import init_repository |
95 | | -from easybuild.tools.systemtools import check_linked_shared_libs, det_parallelism, get_shared_lib_ext, use_group |
| 96 | +from easybuild.tools.systemtools import check_linked_shared_libs, get_shared_lib_ext, use_group |
96 | 97 | from easybuild.tools.utilities import INDENT_4SPACES, get_class_for, nub, quote_str |
97 | 98 | from easybuild.tools.utilities import remove_unwanted_chars, time2str, trace_msg |
98 | 99 | from easybuild.tools.version import this_is_easybuild, VERBOSE_VERSION, VERSION |
@@ -212,6 +213,8 @@ def __init__(self, ec): |
212 | 213 | self.postmsg = '' # allow a post message to be set, which can be shown as last output |
213 | 214 | self.current_step = None |
214 | 215 |
|
| 216 | + self.orig_parallel = None |
| 217 | + |
215 | 218 | # list of loaded modules |
216 | 219 | self.loaded_modules = [] |
217 | 220 |
|
@@ -1789,20 +1792,13 @@ def det_iter_cnt(self): |
1789 | 1792 |
|
1790 | 1793 | def set_parallel(self): |
1791 | 1794 | """Set 'parallel' easyconfig parameter to determine how many cores can/should be used for parallel builds.""" |
1792 | | - # set level of parallelism for build |
1793 | | - par = build_option('parallel') |
1794 | | - cfg_par = self.cfg['parallel'] |
1795 | | - if cfg_par is None: |
1796 | | - self.log.debug("Desired parallelism specified via 'parallel' build option: %s", par) |
1797 | | - elif par is None: |
1798 | | - par = cfg_par |
1799 | | - self.log.debug("Desired parallelism specified via 'parallel' easyconfig parameter: %s", par) |
1800 | | - else: |
1801 | | - par = min(int(par), int(cfg_par)) |
1802 | | - self.log.debug("Desired parallelism: minimum of 'parallel' build option/easyconfig parameter: %s", par) |
| 1795 | + # keep track of original value for 'parallel', so it can be restored before determining level |
| 1796 | + # of parallelism that can be used for extensions |
| 1797 | + self.orig_parallel = self.cfg['parallel'] |
| 1798 | + |
| 1799 | + par = get_parallel_ec_param_value(self.cfg, self.log) |
1803 | 1800 |
|
1804 | | - par = det_parallelism(par, maxpar=self.cfg['maxparallel']) |
1805 | | - self.log.info("Setting parallelism: %s" % par) |
| 1801 | + self.log.info("Setting parallelism: %s", par) |
1806 | 1802 | self.cfg['parallel'] = par |
1807 | 1803 |
|
1808 | 1804 | def remove_module_file(self): |
|
0 commit comments