OpenMPI

is already installed on it

MVAPICH2

Get MPI distro form http://mvapich.cse.ohio-state.edu/downloads/

wget http://mvapich.cse.ohio-state.edu/download/mvapich/mv2/mvapich2-2.1.tar.gz
tar -xvzf mvapich2-2.1.tar.gz

put this into /usr/include/asm/timex.h - no need actually

#ifndef _ARCH_ARMV7L_H
#define _ARCH_ARMV7L_H
#ifdef __cplusplus
extern "C" {
#endif
#define mb()    asm volatile("dmb":::"memory")
#include <stdlib.h>
#include <sys/time.h>
typedef unsigned long long cycles_t;
static inline cycles_t get_cycles (void)
{
        cycles_t thetime;
        struct timeval tv;
        if (gettimeofday(&tv, NULL) != 0)
                return 0;
        thetime = ((cycles_t)tv.tv_sec) * 1000000ULL + ((cycles_t)tv.tv_usec);
        return (cycles_t)thetime;
}
#ifdef __cplusplus 
}
#endif
#endif /* _ARCH_ARMV7L_H */

configure and deploy on the head node

sudo apt-get install byacc
cd mvapich2-2.1
./configure --enable-fast=all,O3 --enable-shared --enable-threads=multiple --enable-cuda=basic --disable-fortran --disable-mcast --with-cuda=/usr/local/cuda --with-device=ch3:nemesis --enable-timer-type=clock_gettime #gettimeofday
make
make install

MPI Test

 

  • No labels