Начало работы • Конфигурация • Сообщество • Внесение вклада • Руководство по упаковке
Spack — это многоплатформенный менеджер пакетов, который собирает и устанавливает несколько версий и конфигураций программного обеспечения. Он работает на Linux, macOS, Windows и многих суперкомпьютерах. Spack является неразрушающим: установка новой версии пакета не нарушает существующие установки, поэтому может сосуществовать множество конфигураций одного и того же пакета.
Spack предлагает простой синтаксис «спецификации», который позволяет пользователям указывать версии и параметры конфигурации. Файлы пакетов написаны на чистом Python, а спецификации позволяют авторам пакетов писать один сценарий для множества разных сборок одного и того же пакета. С помощью Spack вы можете создавать свое программное обеспечение любым удобным для вас способом.
Примеры и основные моменты см. в обзоре функций.
Чтобы установить Spack и ваш первый пакет, убедитесь, что у вас есть Python и Git. Затем:
$ git clone -c feature.manyFiles=true --depth=2 https://github.com/spack/spack.git
$ cd spack/bin
$ ./spack install zlib
Кончик
-c feature.manyFiles=true
повышает производительность git в репозиториях с более чем 1000 файлами.
--depth=2
сокращает историю git, чтобы уменьшить размер установки Spack.
Доступна полная документация или запустите spack help
или spack help --all
.
Чтобы получить шпаргалку по синтаксису Spack, запустите spack help --spec
.
Мы поддерживаем практическое обучение . Он охватывает базовое и расширенное использование, упаковку, функции разработчика и крупные развертывания HPC. Вы можете выполнять все упражнения на своем ноутбуке, используя контейнер Docker.
Не стесняйтесь использовать эти материалы, чтобы рассказать пользователям вашей организации о Spack.
Spack — проект с открытым исходным кодом. Вопросы, обсуждения и предложения приветствуются. Вклад может быть чем угодно: от новых пакетов до исправлений ошибок, документации или даже новых основных функций.
Ресурсы:
@mention
нас! Внести свой вклад в Spack относительно легко. Просто отправьте нам запрос на вытягивание. Когда вы отправляете свой запрос, сделайте develop
целевой ветки в репозитории Spack.
Ваш PR должен пройти модульные тесты Spack и тесты документации, а также соответствовать PEP 8. Мы соблюдаем эти рекомендации в нашем процессе CI. Чтобы запустить эти тесты локально и получить полезные советы по git, обратитесь к нашему Руководству по участию.
Ветка develop
Spack внесла новейшие разработки. Запросы на включение должны быть нацелены на develop
, и пользователи, которым нужны последние версии пакетов, функции и т. д., могут использовать develop
.
Для развертываний на многопользовательских сайтах или в других случаях, требующих очень стабильной установки программного обеспечения, мы рекомендуем использовать стабильные выпуски Spack.
У каждой серии выпусков Spack также есть соответствующая ветвь, например, releases/v0.14
имеет версии Spack 0.14.x
, а releases/v0.13
имеет версии 0.13.x
Мы переносим важные исправления ошибок в эти ветки, но не обновляем версии пакетов и не вносим другие изменения, которые могли бы изменить способ, которым Spack конкретизирует зависимости внутри ветки выпуска. Таким образом, вы можете основать развертывание Spack на ветке выпуска и git pull
для получения исправлений без смены пакетов, которая поставляется с develop
.
Последняя версия всегда доступна с тегом releases/latest
.
Более подробную информацию см. в документации по выпускам.
Обратите внимание, что у Spack есть Кодекс поведения . Участвуя в сообществе Spack, вы соглашаетесь соблюдать его правила.
Большое спасибо авторам Spack.
Spack был создан Тоддом Гамблином, [email protected].
Если вы ссылаетесь на Spack в публикации, цитируйте следующую статью:
На GitHub вы можете скопировать эту цитату в формате APA или BibTeX с помощью кнопки «Цитировать этот репозиторий». Или посмотрите комментарии в CITATION.cff
для необработанного BibTeX.
Spack распространяется на условиях лицензии MIT и лицензии Apache (версия 2.0). Пользователи могут выбрать любую лицензию по своему усмотрению.
Все новые материалы должны вноситься как по лицензиям MIT, так и по лицензиям Apache-2.0.
Подробности см. в разделах LICENSE-MIT, LICENSE-APACHE, COPYRIGHT и NOTICE.
Идентификатор лицензии SPDX: (Apache-2.0 ИЛИ MIT)
LLNL-КОД-811652