From 1dba0ce81b046c508292b6a86e5561a19556e412 Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Fri, 31 Jul 2020 14:54:09 +0200 Subject: Removed references to BlueGene/Q in docs and comments --- lib/spack/docs/basic_usage.rst | 4 +-- lib/spack/docs/features.rst | 4 +-- lib/spack/llnl/util/lang.py | 61 +++++++++++++++++++++--------------------- lib/spack/spack/compiler.py | 2 +- lib/spack/spack/spec.py | 2 +- 5 files changed, 37 insertions(+), 36 deletions(-) diff --git a/lib/spack/docs/basic_usage.rst b/lib/spack/docs/basic_usage.rst index 93c5858d93..6642b2adbd 100644 --- a/lib/spack/docs/basic_usage.rst +++ b/lib/spack/docs/basic_usage.rst @@ -695,11 +695,11 @@ Here is an example of a much longer spec than we've seen thus far: .. code-block:: none - mpileaks @1.2:1.4 %gcc@4.7.5 +debug -qt arch=bgq_os ^callpath @1.1 %gcc@4.7.2 + mpileaks @1.2:1.4 %gcc@4.7.5 +debug -qt target=x86_64 ^callpath @1.1 %gcc@4.7.2 If provided to ``spack install``, this will install the ``mpileaks`` library at some version between ``1.2`` and ``1.4`` (inclusive), -built using ``gcc`` at version 4.7.5 for the Blue Gene/Q architecture, +built using ``gcc`` at version 4.7.5 for a generic ``x86_64`` architecture, with debug options enabled, and without Qt support. Additionally, it says to link it with the ``callpath`` library (which it depends on), and to build callpath with ``gcc`` 4.7.2. Most specs will not be as diff --git a/lib/spack/docs/features.rst b/lib/spack/docs/features.rst index cd7d3a083f..df212c11fc 100644 --- a/lib/spack/docs/features.rst +++ b/lib/spack/docs/features.rst @@ -48,8 +48,8 @@ platform, all on the command line. # Add compiler flags using the conventional names $ spack install mpileaks@1.1.2 %gcc@4.7.3 cppflags="-O3 -floop-block" - # Cross-compile for a different architecture with arch= - $ spack install mpileaks@1.1.2 arch=bgqos_0 + # Cross-compile for a different micro-architecture with target= + $ spack install mpileaks@1.1.2 target=icelake Users can specify as many or few options as they care about. Spack will fill in the unspecified values with sensible defaults. The two listed diff --git a/lib/spack/llnl/util/lang.py b/lib/spack/llnl/util/lang.py index aacef6d3db..e746ce096c 100644 --- a/lib/spack/llnl/util/lang.py +++ b/lib/spack/llnl/util/lang.py @@ -21,47 +21,48 @@ ignore_modules = [r'^\.#', '~$'] def index_by(objects, *funcs): """Create a hierarchy of dictionaries by splitting the supplied - set of objects on unique values of the supplied functions. - Values are used as keys. For example, suppose you have four - objects with attributes that look like this:: + set of objects on unique values of the supplied functions. - a = Spec(name="boost", compiler="gcc", arch="bgqos_0") - b = Spec(name="mrnet", compiler="intel", arch="chaos_5_x86_64_ib") - c = Spec(name="libelf", compiler="xlc", arch="bgqos_0") - d = Spec(name="libdwarf", compiler="intel", arch="chaos_5_x86_64_ib") + Values are used as keys. For example, suppose you have four + objects with attributes that look like this:: - list_of_specs = [a,b,c,d] - index1 = index_by(list_of_specs, lambda s: s.arch, - lambda s: s.compiler) - index2 = index_by(list_of_specs, lambda s: s.compiler) + a = Spec("boost %gcc target=skylake") + b = Spec("mrnet %intel target=zen2") + c = Spec("libelf %xlc target=skylake") + d = Spec("libdwarf %intel target=zen2") - ``index1`` now has two levels of dicts, with lists at the - leaves, like this:: + list_of_specs = [a,b,c,d] + index1 = index_by(list_of_specs, lambda s: str(s.target), + lambda s: s.compiler) + index2 = index_by(list_of_specs, lambda s: s.compiler) - { 'bgqos_0' : { 'gcc' : [a], 'xlc' : [c] }, - 'chaos_5_x86_64_ib' : { 'intel' : [b, d] } - } + ``index1`` now has two levels of dicts, with lists at the + leaves, like this:: - And ``index2`` is a single level dictionary of lists that looks - like this:: + { 'zen2' : { 'gcc' : [a], 'xlc' : [c] }, + 'skylake' : { 'intel' : [b, d] } + } - { 'gcc' : [a], - 'intel' : [b,d], - 'xlc' : [c] - } + And ``index2`` is a single level dictionary of lists that looks + like this:: - If any elemnts in funcs is a string, it is treated as the name - of an attribute, and acts like getattr(object, name). So - shorthand for the above two indexes would be:: + { 'gcc' : [a], + 'intel' : [b,d], + 'xlc' : [c] + } - index1 = index_by(list_of_specs, 'arch', 'compiler') - index2 = index_by(list_of_specs, 'compiler') + If any elements in funcs is a string, it is treated as the name + of an attribute, and acts like getattr(object, name). So + shorthand for the above two indexes would be:: - You can also index by tuples by passing tuples:: + index1 = index_by(list_of_specs, 'arch', 'compiler') + index2 = index_by(list_of_specs, 'compiler') - index1 = index_by(list_of_specs, ('arch', 'compiler')) + You can also index by tuples by passing tuples:: - Keys in the resulting dict will look like ('gcc', 'bgqos_0'). + index1 = index_by(list_of_specs, ('target', 'compiler')) + + Keys in the resulting dict will look like ('gcc', 'skylake'). """ if not funcs: return objects diff --git a/lib/spack/spack/compiler.py b/lib/spack/spack/compiler.py index c59c654803..f1a9263c76 100644 --- a/lib/spack/spack/compiler.py +++ b/lib/spack/spack/compiler.py @@ -201,7 +201,7 @@ class Compiler(object): fc_names = [] # Optional prefix regexes for searching for this type of compiler. - # Prefixes are sometimes used for toolchains, e.g. 'powerpc-bgq-linux-' + # Prefixes are sometimes used for toolchains prefixes = [] # Optional suffix regexes for searching for this type of compiler. diff --git a/lib/spack/spack/spec.py b/lib/spack/spack/spec.py index 843bb6fbb1..047764c8ae 100644 --- a/lib/spack/spack/spec.py +++ b/lib/spack/spack/spec.py @@ -13,7 +13,7 @@ The syntax looks like this: .. code-block:: sh - $ spack install mpileaks ^openmpi @1.2:1.4 +debug %intel @12.1 =bgqos_0 + $ spack install mpileaks ^openmpi @1.2:1.4 +debug %intel @12.1 target=zen 0 1 2 3 4 5 6 The first part of this is the command, 'spack install'. The rest of the -- cgit v1.2.3-70-g09d2