[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