diff --git a/lib/spack/docs/basic_usage.rst b/lib/spack/docs/basic_usage.rst index ea19703c1d4..bf038478964 100644 --- a/lib/spack/docs/basic_usage.rst +++ b/lib/spack/docs/basic_usage.rst @@ -1409,27 +1409,29 @@ that executables will run without the need to set ``LD_LIBRARY_PATH``. .. code-block:: yaml - compilers: - - compiler: - spec: gcc@4.9.3 - paths: - cc: /opt/gcc/bin/gcc - c++: /opt/gcc/bin/g++ - f77: /opt/gcc/bin/gfortran - fc: /opt/gcc/bin/gfortran - environment: - unset: - - BAD_VARIABLE - set: - GOOD_VARIABLE_NUM: 1 - GOOD_VARIABLE_STR: good - prepend_path: - PATH: /path/to/binutils - append_path: - LD_LIBRARY_PATH: /opt/gcc/lib - extra_rpaths: - - /path/to/some/compiler/runtime/directory - - /path/to/some/other/compiler/runtime/directory + packages: + gcc: + externals: + - spec: gcc@4.9.3 + prefix: /opt/gcc + extra_attributes: + compilers: + c: /opt/gcc/bin/gcc + cxx: /opt/gcc/bin/g++ + fortran: /opt/gcc/bin/gfortran + environment: + unset: + - BAD_VARIABLE + set: + GOOD_VARIABLE_NUM: 1 + GOOD_VARIABLE_STR: good + prepend_path: + PATH: /path/to/binutils + append_path: + LD_LIBRARY_PATH: /opt/gcc/lib + extra_rpaths: + - /path/to/some/compiler/runtime/directory + - /path/to/some/other/compiler/runtime/directory ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/lib/spack/docs/environments.rst b/lib/spack/docs/environments.rst index eb50ec6ae4f..4ef3b67b63f 100644 --- a/lib/spack/docs/environments.rst +++ b/lib/spack/docs/environments.rst @@ -667,11 +667,11 @@ a ``packages.yaml`` file) could contain: # ... packages: all: - compiler: [intel] + providers: + mpi: [openmpi] # ... -This configuration sets the default compiler for all packages to -``intel``. +This configuration sets the default mpi provider to be openmpi. ^^^^^^^^^^^^^^^^^^^^^^^ Included configurations diff --git a/lib/spack/docs/example_files/spack.yaml b/lib/spack/docs/example_files/spack.yaml deleted file mode 100644 index 01756f8ba4f..00000000000 --- a/lib/spack/docs/example_files/spack.yaml +++ /dev/null @@ -1,161 +0,0 @@ -spack: - definitions: - - compiler-pkgs: - - 'llvm+clang@6.0.1 os=centos7' - - 'gcc@6.5.0 os=centos7' - - 'llvm+clang@6.0.1 os=ubuntu18.04' - - 'gcc@6.5.0 os=ubuntu18.04' - - pkgs: - - readline@7.0 - # - xsdk@0.4.0 - - compilers: - - '%gcc@5.5.0' - - '%gcc@6.5.0' - - '%gcc@7.3.0' - - '%clang@6.0.0' - - '%clang@6.0.1' - - oses: - - os=ubuntu18.04 - - os=centos7 - - specs: - - matrix: - - [$pkgs] - - [$compilers] - - [$oses] - exclude: - - '%gcc@7.3.0 os=centos7' - - '%gcc@5.5.0 os=ubuntu18.04' - - mirrors: - cloud_gitlab: https://mirror.spack.io - - compilers: - # The .gitlab-ci.yml for this project picks a Docker container which does - # not have any compilers pre-built and ready to use, so we need to fake the - # existence of those here. - - compiler: - operating_system: centos7 - modules: [] - paths: - cc: /not/used - cxx: /not/used - f77: /not/used - fc: /not/used - spec: gcc@5.5.0 - target: x86_64 - - compiler: - operating_system: centos7 - modules: [] - paths: - cc: /not/used - cxx: /not/used - f77: /not/used - fc: /not/used - spec: gcc@6.5.0 - target: x86_64 - - compiler: - operating_system: centos7 - modules: [] - paths: - cc: /not/used - cxx: /not/used - f77: /not/used - fc: /not/used - spec: clang@6.0.0 - target: x86_64 - - compiler: - operating_system: centos7 - modules: [] - paths: - cc: /not/used - cxx: /not/used - f77: /not/used - fc: /not/used - spec: clang@6.0.1 - target: x86_64 - - - compiler: - operating_system: ubuntu18.04 - modules: [] - paths: - cc: /not/used - cxx: /not/used - f77: /not/used - fc: /not/used - spec: clang@6.0.0 - target: x86_64 - - compiler: - operating_system: ubuntu18.04 - modules: [] - paths: - cc: /not/used - cxx: /not/used - f77: /not/used - fc: /not/used - spec: clang@6.0.1 - target: x86_64 - - compiler: - operating_system: ubuntu18.04 - modules: [] - paths: - cc: /not/used - cxx: /not/used - f77: /not/used - fc: /not/used - spec: gcc@6.5.0 - target: x86_64 - - compiler: - operating_system: ubuntu18.04 - modules: [] - paths: - cc: /not/used - cxx: /not/used - f77: /not/used - fc: /not/used - spec: gcc@7.3.0 - target: x86_64 - - gitlab-ci: - bootstrap: - - name: compiler-pkgs - compiler-agnostic: true - mappings: - - # spack-cloud-ubuntu - match: - # these are specs, if *any* match the spec under consideration, this - # 'mapping' will be used to generate the CI job - - os=ubuntu18.04 - runner-attributes: - # 'tags' and 'image' go directly onto the job, 'variables' will - # be added to what we already necessarily create for the job as - # a part of the CI workflow - tags: - - spack-k8s - image: - name: scottwittenburg/spack_builder_ubuntu_18.04 - entrypoint: [""] - - # spack-cloud-centos - match: - # these are specs, if *any* match the spec under consideration, this - # 'mapping' will be used to generate the CI job - - 'os=centos7' - runner-attributes: - tags: - - spack-k8s - image: - name: scottwittenburg/spack_builder_centos_7 - entrypoint: [""] - - cdash: - build-group: Release Testing - url: http://cdash - project: Spack Testing - site: Spack Docker-Compose Workflow - - repos: [] - upstreams: {} - modules: - enable: [] - packages: {} - config: {} diff --git a/lib/spack/docs/gpu_configuration.rst b/lib/spack/docs/gpu_configuration.rst index 9ac3051cebe..018e39cfc49 100644 --- a/lib/spack/docs/gpu_configuration.rst +++ b/lib/spack/docs/gpu_configuration.rst @@ -23,7 +23,6 @@ components for use by dependent packages: packages: all: - compiler: [rocmcc@=5.3.0] variants: amdgpu_target=gfx90a hip: buildable: false @@ -70,16 +69,15 @@ This is in combination with the following compiler definition: .. code-block:: yaml - compilers: - - compiler: - spec: rocmcc@=5.3.0 - paths: - cc: /opt/rocm-5.3.0/bin/amdclang - cxx: /opt/rocm-5.3.0/bin/amdclang++ - f77: null - fc: /opt/rocm-5.3.0/bin/amdflang - operating_system: rhel8 - target: x86_64 + packages: + llvm-amdgpu: + externals: + - spec: llvm-amdgpu@=5.3.0 + prefix: /opt/rocm-5.3.0 + compilers: + c: /opt/rocm-5.3.0/bin/amdclang + cxx: /opt/rocm-5.3.0/bin/amdclang++ + fortran: null This includes the following considerations: diff --git a/lib/spack/docs/packages_yaml.rst b/lib/spack/docs/packages_yaml.rst index 62e59ab13e0..52f5afb2b95 100644 --- a/lib/spack/docs/packages_yaml.rst +++ b/lib/spack/docs/packages_yaml.rst @@ -557,14 +557,13 @@ preferences. FAQ: :ref:`Why does Spack pick particular versions and variants? ` -Most package preferences (``compilers``, ``target`` and ``providers``) +The ``target`` and ``providers`` preferences can only be set globally under the ``all`` section of ``packages.yaml``: .. code-block:: yaml packages: all: - compiler: [gcc@12.2.0, clang@12:, oneapi@2023:] target: [x86_64_v3] providers: mpi: [mvapich2, mpich, openmpi]