Primeros pasos • Configuración • Comunidad • Contribuciones • Guía de empaquetado
Spack es un administrador de paquetes multiplataforma que crea e instala múltiples versiones y configuraciones de software. Funciona en Linux, macOS, Windows y muchas supercomputadoras. Spack no es destructivo: la instalación de una nueva versión de un paquete no interrumpe las instalaciones existentes, por lo que pueden coexistir muchas configuraciones del mismo paquete.
Spack ofrece una sintaxis simple de "especificaciones" que permite a los usuarios especificar versiones y opciones de configuración. Los archivos de paquetes están escritos en Python puro y las especificaciones permiten a los autores de paquetes escribir un único script para muchas compilaciones diferentes del mismo paquete. Con Spack, puedes crear tu software de todas las formas que quieras.
Consulte la descripción general de funciones para ver ejemplos y aspectos destacados.
Para instalar spack y su primer paquete, asegúrese de tener Python y Git. Entonces:
$ git clone -c feature.manyFiles=true --depth=2 https://github.com/spack/spack.git
$ cd spack/bin
$ ./spack install zlib
Consejo
-c feature.manyFiles=true
mejora el rendimiento de git en repositorios con más de 1000 archivos.
--depth=2
poda el historial de git para reducir el tamaño de la instalación de Spack.
La documentación completa está disponible, o ejecute spack help
o spack help --all
.
Para obtener una hoja de referencia sobre la sintaxis de Spack, ejecute spack help --spec
.
Mantenemos un tutorial práctico . Cubre el uso básico y avanzado, el empaquetado, las funciones para desarrolladores y las grandes implementaciones de HPC. Puedes hacer todos los ejercicios en tu propia computadora portátil usando un contenedor Docker.
No dude en utilizar estos materiales para enseñar a los usuarios de su organización sobre Spack.
Spack es un proyecto de código abierto. Se aceptan preguntas, debates y contribuciones. Las contribuciones pueden ser cualquier cosa, desde nuevos paquetes hasta correcciones de errores, documentación o incluso nuevas funciones principales.
Recursos:
@mention
! Contribuir a Spack es relativamente fácil. Simplemente envíenos una solicitud de extracción. Cuando envíe su solicitud, develop
la rama de destino en el repositorio de Spack.
Su PR debe pasar las pruebas unitarias y de documentación de Spack, y debe cumplir con PEP 8. Hacemos cumplir estas pautas con nuestro proceso de CI. Para ejecutar estas pruebas localmente y obtener consejos útiles sobre git, consulte nuestra Guía de contribución.
La rama develop
de Spack tiene las últimas contribuciones. Las solicitudes de extracción deben estar dirigidas a develop
y los usuarios que deseen las últimas versiones de paquetes, funciones, etc. pueden utilizar develop
.
Para implementaciones de sitios multiusuario u otros casos de uso que necesitan instalaciones de software muy estables, recomendamos utilizar las versiones estables de Spack.
Cada serie de lanzamientos de Spack también tiene una rama correspondiente, por ejemplo releases/v0.14
tienen versiones 0.14.x
de Spack y releases/v0.13
tienen versiones 0.13.x
Proporcionamos correcciones de errores importantes para estas ramas, pero no avanzamos en las versiones del paquete ni realizamos otros cambios que cambiarían la forma en que Spack concreta las dependencias dentro de una rama de lanzamiento. Por lo tanto, puede basar su implementación de Spack en una rama de lanzamiento y git pull
para obtener correcciones, sin la rotación de paquetes que viene con develop
.
La última versión siempre está disponible con la etiqueta releases/latest
.
Consulte los documentos sobre lanzamientos para obtener más detalles.
Tenga en cuenta que Spack tiene un Código de conducta . Al participar en la comunidad Spack, aceptas cumplir con sus reglas.
Muchas gracias a los contribuyentes de Spack.
Spack fue creado por Todd Gamblin, [email protected].
Si hace referencia a Spack en una publicación, cite el siguiente artículo:
En GitHub, puede copiar esta cita en formato APA o BibTeX mediante el botón "Citar este repositorio". O consulte los comentarios en CITATION.cff
para obtener el BibTeX sin formato.
Spack se distribuye bajo los términos de la licencia MIT y la licencia Apache (Versión 2.0). Los usuarios pueden elegir cualquiera de las licencias, a su elección.
Todas las nuevas contribuciones deben realizarse bajo las licencias MIT y Apache-2.0.
Consulte LICENCIA-MIT, LICENCIA-APACHE, COPYRIGHT y AVISO para obtener más detalles.
Identificador de licencia SPDX: (Apache-2.0 O MIT)
LLNL-CÓDIGO-811652