[gmx-developers] getting gromacs to run on ORNL summitdev

Sedova, Ada A. sedovaaa at ornl.gov
Fri May 19 15:45:42 CEST 2017


Hi folks,

I am a member of the Scientific Computing group at Oak Ridge National Lab's National Center for Computational Sciences (NCCS). We are preparing high performance codes for public use on our new Summit system by testing on the prototype SummitDev:

The Summitdev system is an early access system that is one generation removed from OLCF’s next big supercomputer, Summit. The system contains three racks, each with 18 IBM POWER8 S822LC nodes for a total of 54 nodes. Each IBM S822LC node has 2 IBM POWER8 CPUs and 4 NVIDIA Tesla P100 GPUs. The POWER8 CPUs have 32 8GB DDR4 memory (256 GB). Each POWER8 node has 10 cores with 8 HW threads. The GPUs are connected by NVLink 1.0 at 80GB/s and each GPU has 16GB HBM2 memory. The nodes are connected in a full fat-tree via EDR InfiniBand. The racks are liquid cooled with a heat exchanger rate. Summitdev has access to Spider 2, the OLCF’s center-wide Lustre parallel file system.

I have built gromacs 5.1.4., seemingly successfully, using GPU, MPI, SIMD options with CMake directives (I didn't get the alvtivec option completely right, but that should be ok). The only things that were not found during the cmake were the NVML library (we do not have the Deployment package installed), LAPACK (although it did find essl after I set the BLAS directive), and some includes like io.h.

I cannot use the make check because on summitdev I have to launch gmx_mpi with mpirun, and I think the make check does not call gmx that way. I have manually tested the build tools (pdb2gmx, editconf, grommp, solvate), and they work fine.

However, I cannot get mdrun to work even on one node on a small box of water. After playing with the number of processes so that the openMP threads message stopped crying, I get the following:

>>cudaMallocHost of size 1024128 bytes failed: all CUDA-capable devices are busy or unavailable

Here is the complete context for this error:


bash-4.2$ mpirun -np 80 /ccs/home/adaa/gromacs/bin/gmx_mpi mdrun -v -deffnm water_em

                   :-) GROMACS - gmx mdrun, VERSION 5.1.4 (-:
                            GROMACS is written by:
     Emile Apol      Rossen Apostolov  Herman J.C. Berendsen    Par Bjelkmar
 Aldert van Buuren   Rudi van Drunen     Anton Feenstra   Sebastian Fritsch
  Gerrit Groenhof   Christoph Junghans   Anca Hamuraru    Vincent Hindriksen
 Dimitrios Karkoulis    Peter Kasson        Jiri Kraus      Carsten Kutzner
    Per Larsson      Justin A. Lemkul   Magnus Lundborg   Pieter Meulenhoff
   Erik Marklund      Teemu Murtola       Szilard Pall       Sander Pronk
   Roland Schulz     Alexey Shvetsov     Michael Shirts     Alfons Sijbers
   Peter Tieleman    Teemu Virolainen  Christian Wennberg    Maarten Wolf
                           and the project leaders:
        Mark Abraham, Berk Hess, Erik Lindahl, and David van der Spoel
Copyright (c) 1991-2000, University of Groningen, The Netherlands.
Copyright (c) 2001-2015, The GROMACS development team at
Uppsala University, Stockholm University and
the Royal Institute of Technology, Sweden.
check out http://www.gromacs.org for more information.
GROMACS is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation; either version 2.1
of the License, or (at your option) any later version.
GROMACS:      gmx mdrun, VERSION 5.1.4
Executable:   /ccs/home/adaa/gromacs/bin/gmx_mpi
Data prefix:  /ccs/home/adaa/gromacs
Command line:
  gmx_mpi mdrun -v -deffnm water_em

Back Off! I just backed up water_em.log to ./#water_em.log.15#
Number of logical cores detected (160) does not match the number reported by OpenMP (80).
Consider setting the launch configuration manually!
Running on 4 nodes with total 640 logical cores, 16 compatible GPUs
  Logical cores per node:   160
  Compatible GPUs per node:  4
  All nodes have identical type(s) of GPUs
Hardware detected on host summitdev-r0c1n04 (the node of MPI rank 0):
  CPU info:
    Vendor: IBM
    Brand:  POWER8NVL (raw), altivec supported
    SIMD instructions most likely to fit this hardware: IBM_VSX
    SIMD instructions selected at GROMACS compile time: IBM_VMX
  GPU info:
    Number of GPUs detected: 4
    #0: NVIDIA Tesla P100-SXM2-16GB, compute cap.: 6.0, ECC: yes, stat: compatible
    #1: NVIDIA Tesla P100-SXM2-16GB, compute cap.: 6.0, ECC: yes, stat: compatible
    #2: NVIDIA Tesla P100-SXM2-16GB, compute cap.: 6.0, ECC: yes, stat: compatible
    #3: NVIDIA Tesla P100-SXM2-16GB, compute cap.: 6.0, ECC: yes, stat: compatible
Compiled SIMD instructions: IBM_VMX, GROMACS could use IBM_VSX on this machine, which is better
Reading file water_em.tpr, VERSION 5.1.4 (single precision)
Using 80 MPI processes
Using 8 OpenMP threads per MPI process
On host summitdev-r0c1n04 4 compatible GPUs are present, with IDs 0,1,2,3
On host summitdev-r0c1n04 4 GPUs auto-selected for this run.
Mapping of GPU IDs to the 20 PP ranks in this node: 0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3

NOTE: GROMACS was configured without NVML support hence it can not exploit
      application clocks of the detected Tesla P100-SXM2-16GB GPU to improve performance.
      Recompile with the NVML library (compatible with the driver used) or set application clocks manually.

Program gmx mdrun, VERSION 5.1.4
Source code file: /ccs/home/adaa/gromacs-5.1.4/src/gromacs/gmxlib/cuda_tools/pmalloc_cuda.cu, line: 70
Fatal error:
cudaMallocHost of size 1024128 bytes failed: all CUDA-capable devices are busy or unavailable


Thanks for any help you can offer.



Ada Sedova

Postdoctoral Research Associate

Scientific Computing Group, NCCS

Oak Ridge National Laboratory, Oak Ridge, TN
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20170519/15a78b6d/attachment.html>

More information about the gromacs.org_gmx-developers mailing list