2011-10-27 21:46:40 +04:00
|
|
|
bin_PROGRAMS = ior
|
2011-11-10 05:38:34 +04:00
|
|
|
if USE_CAPS
|
|
|
|
bin_PROGRAMS += IOR
|
|
|
|
endif
|
2011-10-27 21:46:40 +04:00
|
|
|
|
2014-08-14 02:53:24 +04:00
|
|
|
ior_SOURCES =
|
|
|
|
ior_CPPFLAGS =
|
|
|
|
ior_LDFLAGS =
|
|
|
|
ior_LDADD =
|
|
|
|
|
|
|
|
ior_SOURCES += ior.c utilities.c parse_options.c
|
2011-11-12 04:40:45 +04:00
|
|
|
ior_SOURCES += ior.h utilities.h parse_options.h aiori.h iordef.h
|
2011-10-28 03:50:05 +04:00
|
|
|
|
2014-08-14 02:53:24 +04:00
|
|
|
|
|
|
|
if USE_HDFS_AIORI
|
S3 with Multi-Part Upload for N:1 is working.
Testing on our EMC ViPR installation. Therefore, we also have available
some EMC extensions. For example, EMC supports a special "byte-range"
header-option ("Range: bytes=-1-") which allows appending to an object.
This is not needed for N:1 (where every write creates an independent part),
but is vital for N:N (where every write is considered an append, unless
"transfer-size" is the same as "block-size").
We also use a LANL-extended implementation of aws4c 0.5, which provides
some special features, and allows greater efficiency. That is included in
this commit as a tarball. Untar it somewhere else and build it, to produce
a library, which is linked with IOR. (configure with --with-S3).
TBD: EMC also supports a simpler alternative to Multi-Part Upload, which
appears to have several advantages. We'll add that in next, but wanted to
capture this as is, before I break it.
2014-10-27 22:16:20 +03:00
|
|
|
# TBD: figure out how to find the appropriate -I and -L dirs. Maybe we can
|
|
|
|
# get them from the corresponding bin/ dir in $PATH, or pick an
|
|
|
|
# environment var to use (and set it in modulefiles), or provide a
|
|
|
|
# config-flag, to set a variable we use here.
|
2014-08-14 02:53:24 +04:00
|
|
|
ior_SOURCES += aiori-HDFS.c
|
|
|
|
ior_CPPFLAGS += -I/opt/hadoop-2.2.0/include
|
|
|
|
ior_LDFLAGS += -L/opt/hadoop-2.2.0/lib/native
|
|
|
|
ior_LDADD += -lhdfs
|
|
|
|
endif
|
|
|
|
|
|
|
|
if USE_HDF5_AIORI
|
|
|
|
ior_SOURCES += aiori-HDF5.c
|
|
|
|
ior_LDADD += -lhdf5 -lz
|
2011-10-28 03:50:05 +04:00
|
|
|
endif
|
2014-09-18 21:20:37 +04:00
|
|
|
|
2011-10-28 03:50:05 +04:00
|
|
|
if USE_MPIIO_AIORI
|
|
|
|
ior_SOURCES += aiori-MPIIO.c
|
|
|
|
endif
|
2014-09-18 21:20:37 +04:00
|
|
|
|
2011-10-28 03:50:05 +04:00
|
|
|
if USE_NCMPI_AIORI
|
|
|
|
ior_SOURCES += aiori-NCMPI.c
|
S3 with Multi-Part Upload for N:1 is working.
Testing on our EMC ViPR installation. Therefore, we also have available
some EMC extensions. For example, EMC supports a special "byte-range"
header-option ("Range: bytes=-1-") which allows appending to an object.
This is not needed for N:1 (where every write creates an independent part),
but is vital for N:N (where every write is considered an append, unless
"transfer-size" is the same as "block-size").
We also use a LANL-extended implementation of aws4c 0.5, which provides
some special features, and allows greater efficiency. That is included in
this commit as a tarball. Untar it somewhere else and build it, to produce
a library, which is linked with IOR. (configure with --with-S3).
TBD: EMC also supports a simpler alternative to Multi-Part Upload, which
appears to have several advantages. We'll add that in next, but wanted to
capture this as is, before I break it.
2014-10-27 22:16:20 +03:00
|
|
|
ior_LDADD += -lpnetcdf
|
2011-10-28 03:50:05 +04:00
|
|
|
endif
|
2014-09-18 21:20:37 +04:00
|
|
|
|
2014-08-14 02:53:24 +04:00
|
|
|
if USE_PLFS_AIORI
|
S3 with Multi-Part Upload for N:1 is working.
Testing on our EMC ViPR installation. Therefore, we also have available
some EMC extensions. For example, EMC supports a special "byte-range"
header-option ("Range: bytes=-1-") which allows appending to an object.
This is not needed for N:1 (where every write creates an independent part),
but is vital for N:N (where every write is considered an append, unless
"transfer-size" is the same as "block-size").
We also use a LANL-extended implementation of aws4c 0.5, which provides
some special features, and allows greater efficiency. That is included in
this commit as a tarball. Untar it somewhere else and build it, to produce
a library, which is linked with IOR. (configure with --with-S3).
TBD: EMC also supports a simpler alternative to Multi-Part Upload, which
appears to have several advantages. We'll add that in next, but wanted to
capture this as is, before I break it.
2014-10-27 22:16:20 +03:00
|
|
|
# TBD: modulefiles don't add PLFS_VER to env, but you can find it embedded in
|
|
|
|
# $PLFS_HOME. configure.ac should extract this for us. Then we should
|
|
|
|
# add -D... to ior_CPPFLAGS, here. Then aiori-PLFS.c can conditionalize
|
|
|
|
# compilation of calls that vary according to PLFS version.
|
2014-08-14 02:53:24 +04:00
|
|
|
ior_SOURCES += aiori-PLFS.c
|
2014-09-18 21:20:37 +04:00
|
|
|
ior_LDADD += -lplfs
|
2014-08-14 02:53:24 +04:00
|
|
|
endif
|
2014-09-18 21:20:37 +04:00
|
|
|
|
2014-08-14 02:53:24 +04:00
|
|
|
if USE_POSIX_AIORI
|
|
|
|
ior_SOURCES += aiori-POSIX.c
|
|
|
|
endif
|
|
|
|
|
2011-11-10 05:38:34 +04:00
|
|
|
|
S3 with Multi-Part Upload for N:1 is working.
Testing on our EMC ViPR installation. Therefore, we also have available
some EMC extensions. For example, EMC supports a special "byte-range"
header-option ("Range: bytes=-1-") which allows appending to an object.
This is not needed for N:1 (where every write creates an independent part),
but is vital for N:N (where every write is considered an append, unless
"transfer-size" is the same as "block-size").
We also use a LANL-extended implementation of aws4c 0.5, which provides
some special features, and allows greater efficiency. That is included in
this commit as a tarball. Untar it somewhere else and build it, to produce
a library, which is linked with IOR. (configure with --with-S3).
TBD: EMC also supports a simpler alternative to Multi-Part Upload, which
appears to have several advantages. We'll add that in next, but wanted to
capture this as is, before I break it.
2014-10-27 22:16:20 +03:00
|
|
|
if USE_S3_AIORI
|
|
|
|
ior_SOURCES += aiori-S3.c
|
2015-05-19 18:36:28 +03:00
|
|
|
if AWS4C_DIR
|
|
|
|
ior_CPPFLAGS += $(AWS4C_CPPFLAGS)
|
|
|
|
ior_LDFLAGS += $(AWS4C_LDFLAGS)
|
|
|
|
endif
|
S3 with Multi-Part Upload for N:1 is working.
Testing on our EMC ViPR installation. Therefore, we also have available
some EMC extensions. For example, EMC supports a special "byte-range"
header-option ("Range: bytes=-1-") which allows appending to an object.
This is not needed for N:1 (where every write creates an independent part),
but is vital for N:N (where every write is considered an append, unless
"transfer-size" is the same as "block-size").
We also use a LANL-extended implementation of aws4c 0.5, which provides
some special features, and allows greater efficiency. That is included in
this commit as a tarball. Untar it somewhere else and build it, to produce
a library, which is linked with IOR. (configure with --with-S3).
TBD: EMC also supports a simpler alternative to Multi-Part Upload, which
appears to have several advantages. We'll add that in next, but wanted to
capture this as is, before I break it.
2014-10-27 22:16:20 +03:00
|
|
|
ior_LDADD += -lcurl
|
|
|
|
ior_LDADD += -lxml2
|
|
|
|
ior_LDADD += -laws4c
|
|
|
|
ior_LDADD += -laws4c_extra
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
IOR_SOURCES = $(ior_SOURCES)
|
|
|
|
IOR_LDADD = $(ior_LDADD)
|
|
|
|
IOT_CPPFLAGS = $(ior_CPPFLAGS)
|
|
|
|
|