[mvapich-discuss] mvapich2 compilation problem: ad_lustre_open.c
Jonathan Perkins
perkinjo at cse.ohio-state.edu
Fri May 13 06:18:58 EDT 2011
Thanks for the update. We're happy that this patch resolves the issue
that you have reported.
On Fri, May 13, 2011 at 4:55 AM, Gerd Brand <brand at rrzn.uni-hannover.de> wrote:
> Hello Jonathan,
>
> thank you for the patch, this works for me.
>
> Executing perf from src/mpi/romio/test gives (Lustre 1.8.5 filesystem,
> lmm_stripe_count=1):
>
> mpiexec -np 2 ./perf -fname testfile
> Access size per process = 4194304 bytes, ntimes = 5
> Write bandwidth without file sync = 311.965935 Mbytes/sec
> Read bandwidth without prior file sync = 392.023086 Mbytes/sec
> Write bandwidth including file sync = 161.534505 Mbytes/sec
> Read bandwidth after file sync = 1648.461410 Mbytes/sec
>
> Kind regards
> Gerd
>
> Am 06.05.2011 21:09, schrieb Jonathan Perkins:
>
> Hello Gerd,
> We've been able to reproduce your problem and we have a patch that
> should resolve it for you. Can you try the attached patch and let us
> know if it works for you?
>
> You should be able to apply it by using `patch -p0 <
> lustre-ignore-locks.patch' from the top level of the mvapich2 source.
>
> On Fri, May 6, 2011 at 7:02 AM, Gerd Brand <brand at rrzn.uni-hannover.de>
> wrote:
>
> Dear MVAPICH Team,
>
> I use the following to install mvapich2-1.7a:
>
> ./configure CC=icc CXX=icpc F77=ifort FC=ifort \
> --prefix=/sw/comm/mvapich2/1.7a-intel \
> --enable-romio \
> --with-file-system=lustre+nfs \
> --without-mpe \
> --enable-f77 --enable-fc \
> --enable-shared \
> --enable-sharedlibs=gcc \
> --enable-debuginfo --enable-g=dbg \
> --with-pmi=simple \
> --enable-xrc \
> --with-hwloc \
> --enable-smpcoll
>
> make
>
>
> The following error occurs when making Lustre ADIO:
>
> ------------------------
> compiling ROMIO in directory adio/ad_lustre
> make[5]: Entering directory
> `/gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/mpi/romio/adio/ad_lustre'
> icc -I/gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/mpl/include
> -I/gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/mpl/include
> -I/gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/openpa/src
> -I/gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/openpa/src
> -I/gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/mpid/ch3/include
> -I/gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/mpid/ch3/include
> -I/gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/mpid/common/datatype
> -I/gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/mpid/common/datatype
> -I/gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/mpid/common/locks
> -I/gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/mpid/common/locks
> -I/gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/mpid/ch3/channels/mrail/include
> -I/gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/mpid/ch3/channels/mrail/include
> -I/gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/mpid/ch3/channels/mrail/src/gen2
> -I/gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/mpid/ch3/channels/mrail/src/gen2
> -I/gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/mpid/common/locks
> -I/gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/mpid/common/locks
> -I/gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/util/wrappers
> -I/gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/util/wrappers
> -g -DNDEBUG -DNVALGRIND -O2 -DFORTRANUNDERSCORE -D_LARGEFILE64_SOURCE
> -D_FILE_OFFSET_BITS=64 -DHAVE_ROMIOCONF_H -D_LARGEFILE64_SOURCE
> -D_FILE_OFFSET_BITS=64 -I.
> -I/gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/mpi/romio/adio/ad_lustre/../include
> -I../include -I../../include
> -I/gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/mpi/romio/adio/ad_lustre/../../../../include
> -I../../../../include -c ad_lustre_open.c
> /gfs1/work/hzfbgbra/mpi/mvapich2/mvapich2-1.7a-intel/src/mpi/romio/adio/ad_lustre/../include/adio.h(171):
> warning #147: declaration is incompatible with "ssize_t={__ssize_t={long}}
> readlink(const char *restrict, char *restrict, size_t={unsigned long})"
> (declared at line 773 of "/usr/include/unistd.h")
> int readlink(const char *path, char *buf, size_t bufsiz);
> ^
>
> ad_lustre_open.c(115): error: struct "<unnamed>" has no field "ignore_locks"
> fd->hints->fs_hints.lustre.ignore_locks = 0;
> ^
>
> ad_lustre_open.c(123): error: struct "<unnamed>" has no field "ignore_locks"
> fd->fd_direct != -1 && fd->hints->fs_hints.lustre.ignore_locks) {
> ^
>
> ad_lustre_open.c(130): error: struct "<unnamed>" has no field "ignore_locks"
> fd->hints->fs_hints.lustre.ignore_locks = 0;
> ^
>
> compilation aborted for ad_lustre_open.c (code 2)
>
> -------------------------------
>
> and indeed in src/mpi/romio/adio/include/adioi.h:
>
> union {
> struct {
> int listio_read;
> int listio_write;
> } pvfs;
> struct {
> int debugmask;
> int posix_read;
> int posix_write;
> int listio_read;
> int listio_write;
> int dtype_read;
> int dtype_write;
> } pvfs2;
> struct {
> int start_iodevice;
> int co_ratio;
> int coll_threshold;
> int ds_in_coll;
> } lustre;
> struct {
> unsigned read_chunk_sz; /* chunk size for direct
> reads */
> unsigned write_chunk_sz; /* chunk size for direct
> writes */
> } xfs;
> } fs_hints;
>
> there is no "ignore_locks".
>
> Any hints would be greatly appreciated.
>
> Kind regards
> Gerd
>
>
>
--
Jonathan Perkins
http://www.cse.ohio-state.edu/~perkinjo
More information about the mvapich-discuss
mailing list