Skip to content
Prev 1693 / 2152 Next

Cannot install Rmpi/pbdMPI_0.1-7.tar.gz in R-3.0.0 on Cray XE6 HERMIT (R-sig-hpc Digest, Vol 56, Issue 7) R-sig-hpc Digest, Vol 56, Issue 11

Hello, Pragnesh, thank You very much for Your responsivenss.

I followed Your advice and used pbdMPI with aprun, everything was ok. 
Now I have a problem with
pbdNCDF4 with the --enable-parallel flag. I suppose it comes from the 
fact that netcdf-4.1.1 is no longer supported, and I am forced to use 4.2.
Anyway, I am posting here the output:

This is how I submitted the job for compiling pbdNCDF4:

#!/bin/bash
#PBS -l nodes=1:ppn=1
#PBS -l walltime=00:05:00
#PBS -l pmem=100kb

. /$HOME/.bashrc
module swap PrgEnv-cray PrgEnv-gnu

aprun -n 1 /univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/system/usr/bin/R CMD 
INSTALL 
--configure-args="--with-nc-config=/opt/cray/netcdf/4.2.0/bin/nc-config 
--enable-parallel" 
/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/pbdNCDF4_0.1-1.tar.gz

and this is the output:

ipmiva at eslogin002:/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/test> cat 
testNodes.pbs.o608337
user specified nc-config is 
/opt/cray/netcdf-hdf5parallel/4.2.0/gnu/47/bin/nc-config
checking for nc-config... yes
Netcdf library version: netCDF 4.2
Netcdf library has version 4 interface present: yes
Netcdf library was compiled with C compiler: cc
configure: creating ./config.status
config.status: creating src/Makevars
configure: creating ./config.status
config.status: creating src/Makevars
config.status: creating R/zzz.R

****************** Results of ncdf4 package configure *******************

SPMD_CPPFLAGS   = -I/opt/cray/mpt/5.6.4/gni/mpich2-gnu/47/include -DMPI2 
-DMPICH2
SPMD_LDFLAGS    = -L/opt/cray/mpt/5.6.4/gni/mpich2-gnu/47/lib -lmpich 
-lmpl -lopa  -lutil -lpthread
NETCDF_HEADER   = /opt/cray/netcdf/4.2.0/gnu/46/include/netcdf_par.h
NETCDF_INCLUDE  = 0
NETCDF_PAR      = TRUE
NETCDF_PAR_OBJS = pncdf4.o
netCDF v4 CPP flags           = -I/opt/cray/netcdf/4.2.0/gnu/46/include 
-DgFortran -I/opt/cray/netcdf/4.2.0/gnu/46/include
netCDF v4 LD flags            = -L/opt/cray/netcdf/4.2.0/gnu/46/lib -lnetcdf
netCDF v4 runtime path        =

*************************************************************************

gcc -std=gnu99 
-I/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/system/usr/include -DNDEBUG 
-I/opt/cray/netcdf/4.2.0/gnu/46/include -DgFortran 
-I/opt/cray/netcdf/4.2.0/gnu/46/include -DNETCDF_INCLUDE=0 
-I/opt/cray/mpt/5.6.4/gni/mpich2-gnu/47/include  -DMPI2 -DMPICH2 
-I/usr/local/include    -fpic  -g -O2  -c ncdf2.c -o ncdf2.o
gcc -std=gnu99 
-I/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/system/usr/include -DNDEBUG 
-I/opt/cray/netcdf/4.2.0/gnu/46/include -DgFortran 
-I/opt/cray/netcdf/4.2.0/gnu/46/include -DNETCDF_INCLUDE=0 
-I/opt/cray/mpt/5.6.4/gni/mpich2-gnu/47/include  -DMPI2 -DMPICH2 
-I/usr/local/include    -fpic  -g -O2  -c ncdf3.c -o ncdf3.o
gcc -std=gnu99 
-I/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/system/usr/include -DNDEBUG 
-I/opt/cray/netcdf/4.2.0/gnu/46/include -DgFortran 
-I/opt/cray/netcdf/4.2.0/gnu/46/include -DNETCDF_INCLUDE=0 
-I/opt/cray/mpt/5.6.4/gni/mpich2-gnu/47/include  -DMPI2 -DMPICH2 
-I/usr/local/include    -fpic  -g -O2  -c ncdf.c -o ncdf.o
gcc -std=gnu99 
-I/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/system/usr/include -DNDEBUG 
-I/opt/cray/netcdf/4.2.0/gnu/46/include -DgFortran 
-I/opt/cray/netcdf/4.2.0/gnu/46/include -DNETCDF_INCLUDE=0 
-I/opt/cray/mpt/5.6.4/gni/mpich2-gnu/47/include  -DMPI2 -DMPICH2 
-I/usr/local/include    -fpic  -g -O2  -c src_ncdf4.c -o src_ncdf4.o
gcc -std=gnu99 
-I/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/system/usr/include -DNDEBUG 
-I/opt/cray/netcdf/4.2.0/gnu/46/include -DgFortran 
-I/opt/cray/netcdf/4.2.0/gnu/46/include -DNETCDF_INCLUDE=0 
-I/opt/cray/mpt/5.6.4/gni/mpich2-gnu/47/include  -DMPI2 -DMPICH2 
-I/usr/local/include    -fpic  -g -O2  -c pncdf4.c -o pncdf4.o
Application 2281804 exit codes: 1
Application 2281804 resources: utime ~3s, stime ~1s


ipmiva at eslogin002:/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/test> cat 
testNodes.pbs.e608228
* installing to library 
?/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/system/usr/lib64/R/library?
* installing *source* package ?pbdNCDF4? ...
** libs
pncdf4.c: In function 'R_nc4_open_par':
pncdf4.c:25:2: error: unknown type name 'MPI_Comm'
pncdf4.c:26:2: error: unknown type name 'MPI_Info'
pncdf4.c:40:2: warning: implicit declaration of function 'MPI_Comm_f2c' 
[-Wimplicit-function-declaration]
pncdf4.c:43:2: warning: implicit declaration of function 'MPI_Info_f2c' 
[-Wimplicit-function-declaration]
pncdf4.c:46:2: warning: implicit declaration of function 'nc_open_par' 
[-Wimplicit-function-declaration]
pncdf4.c: In function 'R_nc4_create_par':
pncdf4.c:57:2: error: unknown type name 'MPI_Comm'
pncdf4.c:58:2: error: unknown type name 'MPI_Info'
pncdf4.c:96:2: warning: implicit declaration of function 'nc_create_par' 
[-Wimplicit-function-declaration]
make: *** [pncdf4.o] Error 1
ERROR: compilation failed for package ?pbdNCDF4?
* removing 
?/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/system/usr/lib64/R/library/pbdNCDF4?
* restoring previous 
?/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/system/usr/lib64/R/library/pbdNCDF4?



I also tried installing pbdNCDF4 without the option --enable-parallel. 
The compilation finished succesfully, but
see what happens when I try to test pbdMPI with the demos:
My PBS script:
#PBS -l nodes=1:ppn=1
#PBS -l walltime=00:05:00
#PBS -l pmem=500kb

. /$HOME/.bashrc
module swap PrgEnv-cray PrgEnv-gnu

cd $PBS_O_WORKDIR

#echo "My machine will have the following nodes:"
#echo "-----------------------------------------"
#cat ${PBS_NODEFILE}
#echo "-----------------------------------------"

aprun -n 1 /univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/system/usr/bin/Rscript 
testNodes.R

The file testNodes.R contains the following:

library(pbdMPI)
source("/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/pbdNCDF4/demo/ncwrite_ser.r")
source("/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/pbdNCDF4/demo/ncread_ser.r")

ipmiva at eslogin002:/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/test> cat 
testNodes.pbs.e608281
Loading required package: methods
Loading required package: rlecuyer

   High Performance Computing Resource is available via
   ``http://www.nics.tennessee.edu/getting-an-allocation''.


  *** caught segfault ***
address (nil), cause 'memory not mapped'

Traceback:
  1: .Call("spmd_comm_rank", as.integer(comm), PACKAGE = "pbdMPI")
  2: comm.rank()
  3: eval(expr, envir, enclos)
  4: eval(ei, envir)
  5: withVisible(eval(ei, envir))
  6: 
source("/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/pbdNCDF4/demo/ncread_ser.r")
aborting ...


Best regards,
Martin
On 05/16/2013 07:10 PM, Pragnesh Patel wrote: