Utilizaremos o gerenciador de pacotes spack para obter, configurar,
compilar e instalar programas e bibliotecas sem permissões especiais
de superusuário. Nesta seção, ilustraremos o funcionamento da
ferramenta com apenas um pacote, um tutorial mais detalhado (em
inglês) pode ser encontrado neste link.
Primeiramente, precisamos baixar o spack a partir do repositório git
oficial conforme instruções abaixo. Note que o comando source permite
colocar o caminho para spack no PATH do terminal.
git clone -b v0.14.2 https://github.com/spack/spack.git
source spack/share/spack/setup-env.shCom o spack podemos instalar diversas ferramentas, incluindo
compiladores. A lista de pacotes disponíveis pode ser obtida com o
comando spack list. Por motivos de espaço, ilustramos abaixo como
listar os pacotes cujo nome inicia com h.
cd spack
spack list h*==> 50 packages. h5hut h5z-zfp halc haploview hc hdf5-blosc hepmc highfive hisat2 homer hpctoolkit hpl hsakmt htslib hugo hybpiper hyphy h5part hacckernels hapcut2 harfbuzz hdf help2man heppdt highwayhash hisea hoomd-blue hpcviewer hpx hstr httpie hunspell hydra hypre h5utils hadoop hapdip harminv hdf5 henson hic-pro hiop hmmer hpccg hpgmg hpx5 htop hub hwloc hydrogen
O pacote Chameleon não está disponível no repositório padrão do
spack. Dessa forma, primeiramente deve ser obtido o reposiório
apropriado com:
git clone https://gitlab.inria.fr/solverstack/spack-repo.gitO novo repositório pode ser adicionado ao spack com:
spack repo add spack-repoEm seguida, podemos proceder com a instalação:
spack install chameleon@0.9.2+starpu~mpi~cuda ^starpu@1.3.1~fast~mpi~cuda~openmp~examplesObserve que o comando de instalação especifica tanto a versão do
Chameleon (0.9.2) quanto da dependência StarPU (1.3.1).
Note que, além do StarPU, o pacote Chameleon possui diversas outras
dependências que serão gerenciadas automaticamente pelo spack. O
comando spack spec pode ser usado para conferir quais dependências
serão instaladas:
spack spec chameleon@0.9.2+starpu~mpi~cuda ^starpu@1.3.1~fast~mpi~cuda~openmp~examplesO comando spack location fornece o caminho para a instalação de uma
versão específica. O spack permite que várias instalações de um mesmo
software coexistam.
spack location -i chameleon@0.9.2+starpu~mpi~cuda ^starpu@1.3.1~fast~mpi~cuda~openmp~examplesO comando abaixo permite instalar uma segunda versão do Chameleon,
habilitando o suporte à MPI.
spack install chameleon@0.9.2+mpi+cuda