시작하기 • 구성 • 커뮤니티 • 기여 • 패키징 가이드
Spack은 여러 버전과 소프트웨어 구성을 빌드하고 설치하는 다중 플랫폼 패키지 관리자입니다. Linux, macOS, Windows 및 많은 슈퍼컴퓨터에서 작동합니다. Spack은 비파괴적입니다. 새 버전의 패키지를 설치해도 기존 설치가 중단되지 않으므로 동일한 패키지의 여러 구성이 공존할 수 있습니다.
Spack은 사용자가 버전과 구성 옵션을 지정할 수 있는 간단한 "spec" 구문을 제공합니다. 패키지 파일은 순수 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
1,000개 이상의 파일이 있는 리포지토리에서 git의 성능을 향상시킵니다.
--depth=2
git 기록을 정리하여 Spack 설치 크기를 줄입니다.
전체 문서를 이용하거나 spack help
또는 spack help --all
실행하세요.
Spack 구문에 대한 치트 시트를 보려면 spack help --spec
실행하세요.
우리는 실습 튜토리얼을 유지합니다. 기본부터 고급 사용법, 패키징, 개발자 기능, 대규모 HPC 배포까지 다룹니다. Docker 컨테이너를 사용하여 자신의 노트북에서 모든 연습을 수행할 수 있습니다.
이 자료를 사용하여 조직의 사용자에게 Spack에 대해 가르칠 수 있습니다.
Spack은 오픈 소스 프로젝트입니다. 질문, 토론, 기여를 환영합니다. 기여는 새 패키지부터 버그 수정, 문서 또는 새로운 핵심 기능까지 무엇이든 될 수 있습니다.
자원:
@mention
해 주세요! Spack에 기여하는 것은 비교적 쉽습니다. 우리에게 풀 리퀘스트(Pull Request)를 보내주세요. 요청을 보낼 때 Spack 저장소에서 대상 브랜치를 develop
하세요.
PR은 Spack의 단위 테스트 및 문서 테스트를 통과해야 하며 PEP 8을 준수해야 합니다. 우리는 CI 프로세스를 통해 이러한 지침을 시행합니다. 이러한 테스트를 로컬에서 실행하고 git에 대한 유용한 팁을 보려면 기여 가이드를 참조하세요.
Spack의 develop
브랜치에는 최신 기여가 있습니다. 풀 요청은 develop
대상으로 해야 하며, 최신 패키지 버전, 기능 등을 원하는 사용자는 develop
사용할 수 있습니다.
다중 사용자 사이트 배포 또는 매우 안정적인 소프트웨어 설치가 필요한 기타 사용 사례의 경우 Spack의 안정적인 릴리스를 사용하는 것이 좋습니다.
각 Spack 릴리스 시리즈에는 해당 분기도 있습니다. 예를 들어 releases/v0.14
에는 Spack 0.14.x
버전이 있고 releases/v0.13
에는 0.13.x
버전이 있습니다. 우리는 중요한 버그 수정을 이러한 브랜치에 백포트하지만 패키지 버전을 향상시키거나 Spack이 릴리스 브랜치 내에서 종속성을 구체화하는 방식을 변경하는 다른 변경을 수행하지 않습니다. 따라서 develop
과 함께 제공되는 패키지 변동 없이 릴리스 브랜치 및 git pull
기반으로 Spack 배포를 기반으로 수정 사항을 얻을 수 있습니다.
최신 릴리스는 항상 releases/latest
태그를 통해 확인할 수 있습니다.
자세한 내용은 릴리스 문서를 참조하세요.
Spack에는 행동 강령 이 있다는 점에 유의하십시오. Spack 커뮤니티에 참여함으로써 귀하는 해당 규칙을 준수하는 데 동의하게 됩니다.
Spack의 기여자들에게 많은 감사를 드립니다.
Spack은 Todd Gamblin([email protected])이 만들었습니다.
출판물에서 Spack을 언급하는 경우 다음 논문을 인용해 주세요.
GitHub에서는 "이 저장소 인용" 버튼을 통해 이 인용을 APA 또는 BibTeX 형식으로 복사할 수 있습니다. 또는 원시 BibTeX에 대한 CITATION.cff
의 설명을 참조하세요.
Spack은 MIT 라이선스와 Apache 라이선스(버전 2.0)의 조건에 따라 배포됩니다. 사용자는 원하는 대로 라이선스 중 하나를 선택할 수 있습니다.
모든 새로운 기여는 MIT 및 Apache-2.0 라이선스에 따라 이루어져야 합니다.
자세한 내용은 LICENSE-MIT, LICENSE-APACHE, COPYRIGHT 및 NOTICE를 참조하세요.
SPDX-라이센스-식별자: (Apache-2.0 또는 MIT)
LLNL-CODE-811652