\\ **[[cluster:0|Back]]** ==== OpenHPC page 3 ==== ** Tools ** yum -y groupinstall ohpc-autotools yum -y install valgrind-ohpc yum -y install EasyBuild-ohpc yum -y install spack-ohpc yum -y install R_base-ohpc * "Valgrind is an instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can automatically detect many memory management and threading bugs" (memcheck) * http://valgrind.org/ * "Welcome to the documentation of EasyBuild, a software build and installation framework that allows you to manage (scientific) software on High Performance Computing (HPC) systems in an efficient way." * https://easybuild.readthedocs.io/en/latest/ * "Spack is a package management tool designed to support multiple versions and configurations of software on a wide variety of platforms and environments." * http://spack.readthedocs.io/en/latest/tutorial_sc16.html * ''/opt/ohpc/admin/spack/0.8.17/bin/spack'' * R_base contains ''R'' and ''Rscript'' ** Compilers ** yum install gnu-compilers-ohpc /opt/ohpc/pub/compiler/gcc/5.4.0/bin/c++ /opt/ohpc/pub/compiler/gcc/5.4.0/bin/cpp /opt/ohpc/pub/compiler/gcc/5.4.0/bin/g++ /opt/ohpc/pub/compiler/gcc/5.4.0/bin/gcc /opt/ohpc/pub/compiler/gcc/5.4.0/bin/gcc-ar /opt/ohpc/pub/compiler/gcc/5.4.0/bin/gcc-nm /opt/ohpc/pub/compiler/gcc/5.4.0/bin/gcc-ranlib /opt/ohpc/pub/compiler/gcc/5.4.0/bin/gcov /opt/ohpc/pub/compiler/gcc/5.4.0/bin/gcov-tool /opt/ohpc/pub/compiler/gcc/5.4.0/bin/gfortran **MPIs** * Both for ethernet and infiniband networks yum -y install openmpi-gnu-ohpc mvapich2-gnu-ohpc mpich-gnu-ohpc /opt/ohpc/pub/mpi/openmpi-gnu/1.10.4/bin/mpicc /opt/ohpc/pub/mpi/openmpi-gnu/1.10.4/bin/mpirun /opt/ohpc/pub/mpi/mvapich2-gnu/2.2/bin/mpicc /opt/ohpc/pub/mpi/mvapich2-gnu/2.2/bin/mpirun /opt/ohpc/pub/mpi/mpich-gnu-ohpc/3.2/bin/mpicc /opt/ohpc/pub/mpi/mpich-gnu-ohpc/3.2/bin/mpirun ** Perf Tools ** * ''yum -y groupinstall ohpc-perf-tools-gnu'' * Appendix C **3rd Party & Libs Tools** * OpenHPC provides package aliases for these 3rd party libraries and utilities that can be used to install available libraries for use with the GNU compiler family toolchain. # Install libs for all available GNU compiler family toolchain yum -y groupinstall ohpc-serial-libs-gnu yum -y groupinstall ohpc-io-libs-gnu yum -y groupinstall ohpc-python-libs-gnu yum -y groupinstall ohpc-runtimes-gnu # Install parallel libs for all available MPI toolchains yum -y groupinstall ohpc-parallel-libs-gnu-mpich yum -y groupinstall ohpc-parallel-libs-gnu-mvapich2 yum -y groupinstall ohpc-parallel-libs-gnu-openmpi # things like # netcdf, hdf5, numpy and scipy for python, fftw, scalapack Finish with installing Intel's Parallel Data Studio (icc/ifort). {{:cluster:install_guide-centos7.2-slurm-1.2-x86_64.pdf|install_guide-centos7.2-slurm-1.2-x86_64.pdf}} As user ''test'' module avail module spider which mpicc module load gnu/5.4.0 module load openmpi/1.10.4 which gcc which mpicc mpicc -O3 /opt/ohpc/pub/examples/mpi/hello.c cp /opt/ohpc/pub/examples/slurm/job.mpi . which prun find /opt/ohpc/pub -name prun module spider prun module load prun/1.1 which prun sbatch job.mpi squeue You do need to install the Infiniband section so you can run over ethernet with OpenMPI yum -y groupinstall "Infiniband Support" yum -y install infinipath-psm systemctl enable rdma systemctl start rdma # recipe is missing this: flavor openmpi yum -y --installroot=/data/ohpc/images/centos7.2 install libibverbs opensm-libs infinipath-psm # remake vnfs The following shows up when running MPI over ethernet [prun] Master compute host = n29 [prun] Resource manager = slurm [prun] Launch cmd = mpirun ./a.out -------------------------------------------------------------------------- [[49978,1],4]: A high-performance Open MPI point-to-point messaging module was unable to find any relevant network interfaces: Module: OpenFabrics (openib) Host: n31 Another transport will be used instead, although this may result in lower performance. -------------------------------------------------------------------------- Hello, world (8 procs total) --> Process # 2 of 8 is alive. -> n29.localdomain --> Process # 3 of 8 is alive. -> n29.localdomain --> Process # 0 of 8 is alive. -> n29.localdomain --> Process # 1 of 8 is alive. -> n29.localdomain --> Process # 6 of 8 is alive. -> n31.localdomain --> Process # 7 of 8 is alive. -> n31.localdomain --> Process # 4 of 8 is alive. -> n31.localdomain --> Process # 5 of 8 is alive. -> n31.localdomain See page 4 for ib0 configuration which is incomplete on the recipe. [[cluster:154|OpenHPC page 1]] - [[cluster:155|OpenHPC page 2]] - page 3 - [[cluster:160|OpenHPC page 4]] \\ **[[cluster:0|Back]]**