...
 
Commits (7)
......@@ -4,15 +4,18 @@ elseif(ENABLE_HDF5)
find_package(HDF5 REQUIRED COMPONENTS C)
endif()
message(STATUS "HDF5 found? ${HDF5_FOUND} ${HDF5_INCLUDE_DIRS} ${HDF5_INCLUDE_DIR}")
message(STATUS "check: HDF5 found? ${HDF5_FOUND} ${HDF5_INCLUDE_DIRS} ${HDF5_INCLUDE_DIR}")
message(STATUS "check: HDF5 is parallel? ${HDF5_IS_PARALLEL}")
if(HDF5_FOUND)
if(HDF5_FOUND AND HDF5_IS_PARALLEL)
add_library(sHDF5 INTERFACE)
target_link_libraries(sHDF5 INTERFACE ${HDF5_LIBRARIES})
target_include_directories(sHDF5 SYSTEM INTERFACE ${HDF5_INCLUDE_DIRS})
install(TARGETS sHDF5 EXPORT sHDF5)
install(EXPORT sHDF5 DESTINATION lib/cmake EXPORT_LINK_INTERFACE_LIBRARIES)
else()
message(SEND_ERROR "Failed to locate parallel hdf5 installation")
endif()
......
This diff is collapsed.
......@@ -87,6 +87,40 @@ bool HDF5AnalysisAdaptor::Execute(DataAdaptor* dataAdaptor)
return false;
}
//
// (usage is from beambeam3d)
// we set block extent if images
// cannt set it with SetBlockDecomp() etc
// error is thrown for non image meshes
//
for (unsigned int i = 0; i < mdm.Size(); ++i)
{
MeshMetadataPtr older;
mdm.GetMeshMetadata(i, older);
if (older->BlockType == VTK_IMAGE_DATA)
{
MeshMetadataPtr curr = sensei::MeshMetadata::New();;
flags.SetBlockExtents();
curr->Flags = flags;
if (dataAdaptor->GetMeshMetadata(i, curr))
{
SENSEI_ERROR("Failed to get metadata with block extent for data object " << i)
return -1;
}
if (curr->Validate(dataAdaptor->GetCommunicator(), flags))
{
SENSEI_ERROR("The requested metadata was not provided for data object " << i)
return -1;
}
mdm.SetMeshMetadata(i, curr);
}
}
// if no dataAdaptor requirements are given, push all the data
// fill in the requirements with every thing
if (this->Requirements.Empty())
......
......@@ -95,4 +95,17 @@ if (BUILD_TESTING)
${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} 9 2
${CMAKE_CURRENT_SOURCE_DIR} adios1_flexpath 3 3 3 1
FEATURES ${ENABLE_PYTHON} ${ENABLE_ADIOS1})
senseiAddTest(testPartitionersHDF5A
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/testPartitionersDriver.sh
${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} ${TEST_NP} ${TEST_NP_HALF}
${CMAKE_CURRENT_SOURCE_DIR} h5 3 3 3 0
FEATURES ${ENABLE_PYTHON} ${ENABLE_HDF5})
senseiAddTest(testPartitionersHDF5B
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/testPartitionersDriver.sh
${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} ${TEST_NP} ${TEST_NP_HALF}
${CMAKE_CURRENT_SOURCE_DIR} h6 3 3 3 0
FEATURES ${ENABLE_PYTHON} ${ENABLE_HDF5})
endif()
......@@ -281,7 +281,10 @@ def CreateCoProcessor():
if requestSpecificArrays:
arrays = [['f_xyt', 0], ['ReceiverBlockOwner', 1], ['SenderBlockOwner', 1]]
coprocessor.SetRequestedArrays('mesh', arrays)
coprocessor.SetInitialOutputOptions(timeStepToStartOutputAt,forceOutputAtFirstCall)
from sys import platform as _platform
if _platform != "darwin":
coprocessor.SetInitialOutputOptions(timeStepToStartOutputAt,forceOutputAtFirstCall)
if rootDirectory:
coprocessor.SetRootDirectory(rootDirectory)
......
......@@ -282,7 +282,10 @@ def CreateCoProcessor():
if requestSpecificArrays:
arrays = [['f_xyt', 0], ['ReceiverBlockOwner', 1], ['SenderBlockOwner', 1]]
coprocessor.SetRequestedArrays('mesh', arrays)
coprocessor.SetInitialOutputOptions(timeStepToStartOutputAt,forceOutputAtFirstCall)
from sys import platform as _platform
if _platform != "darwin":
coprocessor.SetInitialOutputOptions(timeStepToStartOutputAt,forceOutputAtFirstCall)
if rootDirectory:
coprocessor.SetRootDirectory(rootDirectory)
......
......@@ -26,7 +26,9 @@ nblocks=`echo ${nblock_x}*${nblock_y} | bc`
trap 'echo $BASH_COMMAND' DEBUG
# TODO -- clean up old files, this is not generic
# this does not affect h5. which uses the file name in the xml
file=test.bp
rm -f $file ${file}_writer_info.txt
${mpiexec} ${npflag} ${nproc_write} python ${srcdir}/testPartitionersWrite.py \
......
......@@ -23,8 +23,17 @@ parts_m=( block )
# different transports have different capabilities. for each capability
# to test, include an XML following the pattern: read_<transport>_<partitioner>.xml
parts_n=`find ${src_dir} -name read_${transport}'*'.xml -exec basename \{\} \; | sed s/read_${transport}_//g | cut -d. -f1 | sort`
# parts_n=`find ${src_dir} -name read_${transport}*.xml -exec basename \{\} \; | sed s/read_${transport}_//g | cut -d. -f1 | sort`
#
if [[ "$OSTYPE" == "darwin"* ]]; then
# mac:
echo "find ${src_dir}/read_${transport}*.xml -exec basename \{\} \; | sed s/read_${transport}_//g | cut -d. -f1 | sort"
parts_n=`find ${src_dir}/read_${transport}*.xml -exec basename \{\} \; | sed s/read_${transport}_//g | cut -d. -f1 | sort`
else
# other os:
echo "find ${src_dir} -name read_${transport}*.xml -exec basename \{\} \; | sed s/read_${transport}_//g | cut -d. -f1 | sort"
parts_n=`find ${src_dir} -name read_${transport}*.xml -exec basename \{\} \; | sed s/read_${transport}_//g | cut -d. -f1 | sort`
fi
for part_m in ${parts_m[*]}
do
for part_n in ${parts_n[*]}
......