FLEXPATH cant send more than 1 block
in many cases there are more blocks than ranks. ex AMR and Estelle's use case. she has 1 sender rank and wants to use many receiver ranks. Greg said that this is a "feature" of flexpath where they need to use a vector instead of a pointer. it may be an easy fix, and will affect adios 2 as well.
below we have 4 blocks with 1 sender and 2 receivers. this is from our regression tests, and can be used to reproduce.
ERROR: set_format: The Flexpath transport does not allow multiple writes using the same name in a single group, variable data_object_0/data_array_0/data is disallowed
$ testPartitionersDriver.sh "/usr/local/bin/mpiexec" "-n" "1" "2" "/Users/estelledirand/Software/Sensei/src/sensei/sensei/testing" "adios1_flexpath" "2" "2" "3" 1
Testing adios1_flexpath M=1 N=2 part_M=block part_N=block ... file=test.bp
rm -f $file ${file}_writer_info.txt
${mpiexec} ${npflag} ${nproc_write} python ${srcdir}/testPartitionersWrite.py "${srcdir}/${writer_analysis_xml}" ${nits} ${nblock_x} ${nblock_y} 16 16 -6.2832 6.2832 -6.2832 6.2832 0 6.2832
writePid=$!
[[ "${sync_mode}" == "0" ]]
[[ "${sync_mode}" == "1" ]]
echo "waiting for writer to start ${delay}"
waiting for writer to start 1
[[ -n True ]]
[[ -e "${file}_writer_info.txt" ]]
[[ ${maxDelay} -le 0 ]]
sleep ${delay}s
let maxDelay=${maxDelay}-${delay}
[[ -n True ]]
[[ -e "${file}_writer_info.txt" ]]
[[ ${maxDelay} -le 0 ]]
sleep ${delay}s
STATUS[0] : running nIts=3 with mesh parametersnblks=[2, 2] nx=[16, 16] dom=[-6.2832, 6.2832, -6.2832, 6.2832] dx=[0.3927, 0.3927] theta=[0.0, 6.2832] dt=3.1416
STATUS: [0][/Users/estelledirand/Software/Sensei/src/sensei/sensei/ConfigurableAnalysis.cxx:348][v2.1.1-103-gc44aede]
STATUS: Configured ADIOSAnalysisAdaptor "test.bp" method FLEXPATH
WARNING: [0][/Users/estelledirand/Software/Sensei/src/sensei/sensei/ADIOS1AnalysisAdaptor.cxx:96][v2.1.1-103-gc44aede]
WARNING: No subset specified. Writing all available data
let maxDelay=${maxDelay}-${delay}
[[ -n True ]]
[[ -e "${file}_writer_info.txt" ]]
break
${mpiexec} ${npflag} ${nproc_read} python ${srcdir}/testPartitionersRead.py "${srcdir}/${reader_analysis_xml}" "${srcdir}/${reader_transport_xml}"
STATUS[0] : initializing the transport layer
STATUS: [0][/Users/estelledirand/Software/Sensei/src/sensei/sensei/Partitioner.h:39][v2.1.1-103-gc44aede]
STATUS: Configured BlockPartitioner
STATUS: [0][/Users/estelledirand/Software/Sensei/src/sensei/sensei/ConfigurableInTransitDataAdaptor.cxx:143][v2.1.1-103-gc44aede]
STATUS: Configured "ADIOS1DataAdaptor
ERROR: set_format: The Flexpath transport does not allow multiple writes using the same name in a single group, variable data_object_0/data_array_0/data is disallowed
[MacEstelleD-J0539093:24003] *** Process received signal ***
[MacEstelleD-J0539093:24003] Signal: Segmentation fault: 11 (11)
[MacEstelleD-J0539093:24003] Signal code: Address not mapped (1)
[MacEstelleD-J0539093:24003] Failing at address: 0x0
Edited by Burlen Loring