2022-03-01 23:24:37 +00:00
|
|
|
#!/bin/sh
|
2023-07-24 19:54:11 +00:00
|
|
|
|
|
|
|
##=============================================================================
|
|
|
|
##
|
|
|
|
## Copyright (c) Kitware, Inc.
|
|
|
|
## All rights reserved.
|
|
|
|
## See LICENSE.txt for details.
|
|
|
|
##
|
|
|
|
## This software is distributed WITHOUT ANY WARRANTY; without even
|
|
|
|
## the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
|
|
## PURPOSE. See the above copyright notice for more information.
|
|
|
|
##
|
|
|
|
##=============================================================================
|
|
|
|
|
2022-03-01 23:24:37 +00:00
|
|
|
GTCT_DIR=${GTCT_DIR:-${HOME}/devel/parallel-peak-pruning/ContourTree/SweepAndMergeSerial/out}
|
|
|
|
RED=""
|
|
|
|
GREEN=""
|
|
|
|
NC=""
|
|
|
|
if [ -t 1 ]; then
|
|
|
|
# If stdout is a terminal, color Pass and FAIL green and red, respectively
|
|
|
|
RED=$(tput setaf 1)
|
|
|
|
GREEN=$(tput setaf 2)
|
|
|
|
NC=$(tput sgr0)
|
|
|
|
fi
|
|
|
|
|
|
|
|
echo "Removing previously generated files"
|
2023-07-20 20:40:57 +00:00
|
|
|
rm -f *.log *.dat
|
2022-03-01 23:24:37 +00:00
|
|
|
|
|
|
|
echo "Copying target file "$1 "into current directory"
|
|
|
|
filename=${1##*/}
|
|
|
|
fileroot=${filename%.txt}
|
|
|
|
|
|
|
|
cp $1 ${filename}
|
|
|
|
|
|
|
|
echo "Splitting data into "$2" x "$2" parts"
|
|
|
|
./split_data_2d.py ${filename} $2
|
|
|
|
rm ${filename}
|
|
|
|
|
|
|
|
echo "Running HACT"
|
|
|
|
n_parts=$(($2*$2))
|
|
|
|
# mpirun -np 4 --oversubscribe ./ContourTree_Distributed --vtkm-device Any --preSplitFiles --saveOutputData --augmentHierarchicalTree --computeVolumeBranchDecomposition --numBlocks=${n_parts} ${fileroot}_part_%d_of_${n_parts}.txt
|
|
|
|
mpirun -np 2 --oversubscribe ./ContourTree_Distributed --vtkm-device Any --preSplitFiles --saveOutputData --augmentHierarchicalTree --computeVolumeBranchDecomposition --numBlocks=${n_parts} ${fileroot}_part_%d_of_${n_parts}.txt
|
|
|
|
rm ${fileroot}_part_*_of_${n_parts}.txt
|
|
|
|
|
2023-07-20 20:40:57 +00:00
|
|
|
# ground result
|
|
|
|
sort -u ${GTCT_DIR}/branch_decomposition_volume_hybrid_${fileroot}.txt > sorted_ground${fileroot}_$2x$2.txt
|
2022-03-01 23:24:37 +00:00
|
|
|
|
2023-07-20 20:40:57 +00:00
|
|
|
echo "Handling BranchDecomposition Outputs"
|
|
|
|
sort -u BranchDecomposition_Rank_*.txt > sorted_branch_decomposition${fileroot}_$2x$2.txt
|
|
|
|
rm BranchDecomposition_Rank_*.txt
|
2022-03-01 23:24:37 +00:00
|
|
|
|
2023-07-20 20:40:57 +00:00
|
|
|
diff sorted_branch_decomposition${fileroot}_$2x$2.txt sorted_ground${fileroot}_$2x$2.txt
|
|
|
|
diff1=$?
|
|
|
|
if test $diff1 -eq 0; then echo "${GREEN}Pass${NC}"; rm sorted_branch_decomposition${fileroot}_$2x$2.txt; else echo "${RED}FAIL${NC}"; fi;
|
|
|
|
|
|
|
|
echo "Handling Intermediate BranchDecomposition Outputs"
|
|
|
|
sort -u BranchDecompositionIntermediate_Rank_*.txt | ./BranchCompiler | sort -u > sorted_branch_decomposition_intermediate${fileroot}_$2x$2.txt
|
|
|
|
rm BranchDecompositionIntermediate_Rank_*.txt
|
|
|
|
|
|
|
|
echo diff sorted_branch_decomposition_intermediate${fileroot}_$2x$2.txt ${GTCT_DIR}/branch_decomposition_volume_hybrid_${fileroot}.txt
|
|
|
|
diff sorted_branch_decomposition_intermediate${fileroot}_$2x$2.txt sorted_ground${fileroot}_$2x$2.txt
|
|
|
|
diff2=$?
|
|
|
|
|
|
|
|
if test $diff2 -eq 0; then echo "Intermediate:${GREEN}Pass${NC}"; rm sorted_branch_decomposition_intermediate${fileroot}_$2x$2.txt; else echo "Intermediate:${RED}FAIL${NC}"; fi;
|
|
|
|
|
|
|
|
if [ $diff1 -eq 0 ] && [ $diff2 -eq 0 ]
|
|
|
|
then
|
|
|
|
rm sorted_ground${fileroot}_$2x$2.txt
|
|
|
|
rm *.log
|
|
|
|
fi
|
2022-03-01 23:24:37 +00:00
|
|
|
|
|
|
|
# echo "Generating Dot files"
|
|
|
|
# ./makedot.sh
|