Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exodiff/EPU/io_shell changeset modifications #547

Open
wants to merge 105 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
105 commits
Select commit Hold shift + click to select a range
9750e0d
EXODIFF: Modifications to support changesets
gdsjaar Nov 15, 2024
8979ab2
EXODUS: Minor cleanup
gdsjaar Nov 15, 2024
7b967fc
EXODUS: Possible change for changeset support. Need to decide if thi…
gdsjaar Nov 15, 2024
33bb5e2
Committing clang-format changes
github-actions[bot] Nov 15, 2024
f5a0a6d
Merge branch 'master' into exodiff-changeset-modifications
gsjaardema Nov 18, 2024
73de68d
EXODIFF: Clean up change-set handling
gdsjaar Nov 18, 2024
bc230be
Committing clang-format changes
github-actions[bot] Nov 18, 2024
91b34a6
EXODIFF: Fix memory issue with cached static vector size
gdsjaar Nov 18, 2024
543a637
Clean up compiler warnings
gdsjaar Nov 18, 2024
9498dba
EXODUS: Handle cleanup of files with groups on ex_close
gdsjaar Nov 18, 2024
b349ab8
Committing clang-format changes
github-actions[bot] Nov 18, 2024
aa05090
Merge branch 'master' into exodiff-changeset-modifications
gsjaardema Nov 19, 2024
466ddbd
EXODIFF: Do not open file if empty name
gdsjaar Nov 20, 2024
be6f7ef
EXODIFF: Support summary flag, refactor changeset parsing
gdsjaar Nov 20, 2024
45a20cc
Committing clang-format changes
github-actions[bot] Nov 20, 2024
3f9ed9e
EXODIFF: Handle compare 1 file with cs, other with none
gdsjaar Nov 20, 2024
a42fb48
EXODIFF: Need different method for supporting changesets with variabl…
gdsjaar Nov 27, 2024
627f3a1
EXODIFF: Better handling of changeset with differing variable counts …
gdsjaar Nov 27, 2024
cecd4ed
Committing clang-format changes
github-actions[bot] Nov 27, 2024
24a3cda
Merge branch 'master' into exodiff-changeset-modifications
gsjaardema Dec 4, 2024
0af4a3a
IOSS: Get group writing working for parallel composed output
gdsjaar Dec 4, 2024
5c53570
Committing clang-format changes
github-actions[bot] Dec 4, 2024
cddd879
IOSS: Refactor some uses of IOSS_ERROR
gdsjaar Dec 5, 2024
34cb24a
Committing clang-format changes
github-actions[bot] Dec 5, 2024
cfc595d
Merge branch 'master' into exodiff-changeset-modifications
gsjaardema Dec 5, 2024
fb86276
Merge branch 'master' into exodiff-changeset-modifications
gsjaardema Dec 10, 2024
3753044
EPU: Refactor template int / double handling
gdsjaar Dec 4, 2024
fc176da
EPU: Refactor and initial changeset
gdsjaar Dec 4, 2024
aaf2530
EPU: Add option to select a specific change set on input file
gdsjaar Dec 4, 2024
196abca
EPU: Working with change sets now (alpha)
gdsjaar Dec 10, 2024
0e8e744
Committing clang-format changes
github-actions[bot] Dec 10, 2024
adfe509
Merge branch 'master' into exodiff-changeset-modifications
gsjaardema Jan 14, 2025
dfc19b9
CI: Install x11
gdsjaar Jan 14, 2025
f3f5720
CI: Another try at fixing x11 dependency
gdsjaar Jan 14, 2025
820b8b0
CI: Fix x11 dependency
gdsjaar Jan 14, 2025
d05e7f2
EPU: Clean up of change set handling
gdsjaar Jan 14, 2025
674cc17
Committing clang-format changes
github-actions[bot] Jan 14, 2025
767348a
EPU: Fix change set selection logic for files with no change sets
gdsjaar Jan 14, 2025
b98dc25
CI: Rebuild intel cache to see if fixes fmt issue
gdsjaar Jan 14, 2025
5085210
CI: See if affects intel build
gdsjaar Jan 15, 2025
e3b3fbf
CI: See if affects intel build
gdsjaar Jan 15, 2025
ea1ba5f
CI: Another try at intel - rebuild cache
gdsjaar Jan 15, 2025
48c3e8c
CI: Update intel compiler name
gdsjaar Jan 15, 2025
2e80e46
CI: Update kokkos version
gdsjaar Jan 15, 2025
6068c68
CI: Fix kokkos tpl install
gdsjaar Jan 15, 2025
d5cf5ce
CI: See if can get parallel threadsafe running
gdsjaar Jan 15, 2025
bb5dae9
CI: fix syntax
gdsjaar Jan 15, 2025
e5eff54
Merge branch 'master' into exodiff-changeset-modifications
gsjaardema Jan 15, 2025
aae51dc
APREPRO: Fix compiler warning
gdsjaar Jan 16, 2025
6e28a82
CONJOIN: first handling of change set files
gdsjaar Jan 16, 2025
976eb32
Committing clang-format changes
github-actions[bot] Jan 16, 2025
ba36f00
CONJOIN: Do not read sets if there are not any
gdsjaar Jan 16, 2025
f0760b0
IOSS: Add tinit and tdelta to generated mesh to control timestep output
gdsjaar Jan 17, 2025
1d0b9cd
IOSS: Add two conjoin changeset tests
gdsjaar Jan 17, 2025
38d6f7f
Committing clang-format changes
github-actions[bot] Jan 17, 2025
a2272de
CONJOIN: Fix potential memory issue in group name inquiry
gdsjaar Jan 17, 2025
01b38eb
Committing clang-format changes
github-actions[bot] Jan 17, 2025
0b0fa66
CI: Add testing of cs decomp/compose/epu
gdsjaar Jan 17, 2025
36823de
Merge branch 'master' into exodiff-changeset-modifications
gsjaardema Jan 17, 2025
9e7ad89
CONJOIN: Fix integer 64/32 bit handling
gdsjaar Jan 21, 2025
f339070
CONJOIN: Enable using single input file with no change sets
gdsjaar Jan 22, 2025
ddf9c4f
Committing clang-format changes
github-actions[bot] Jan 22, 2025
fd5024d
Fix spelling errors
gdsjaar Jan 22, 2025
2412786
EXPLORE: Basic support for change sets
gdsjaar Jan 22, 2025
bad3986
EXODUS_FOR: Basic support for change sets
gdsjaar Jan 22, 2025
fb081b9
Committing clang-format changes
github-actions[bot] Jan 22, 2025
2a8a427
IOSS: cgns - minor tweak to decomposition algorithm to avoid 0 intervals
gdsjaar Jan 28, 2025
46032a2
GREPOS: Add selection of input change set
gsjaardema Jan 31, 2025
e78dc20
EXPLORE: If invalid change set selected, exit
gsjaardema Jan 31, 2025
b25fdf0
Merge branch 'master' into exodiff-changeset-modifications
gsjaardema Feb 3, 2025
c8872ba
Committing clang-format changes
github-actions[bot] Feb 3, 2025
a815c9a
basic support for change sets in fortran codes
gsjaardema Feb 3, 2025
10c0e12
SVDI: Remove some very old ignored debug output
gsjaardema Feb 3, 2025
633f51d
SCRIPTS: Change set support for blot, remove tabs
gsjaardema Feb 3, 2025
ddc5316
SCRIPTS: Unify blot and blot.in
gsjaardema Feb 3, 2025
5c7ba37
Committing clang-format changes
github-actions[bot] Feb 3, 2025
d3eed70
EXO_FORMAT: Output change set count; refactor better C
gsjaardema Feb 3, 2025
8719546
ALGEBRA: Basic change set support
gsjaardema Feb 3, 2025
4115620
Clean up copyright dates
gsjaardema Feb 3, 2025
a61b888
EXO2MAT: basic change set support; minor refactoring
gsjaardema Feb 3, 2025
b37fad1
SLICE: Fix argument parsing
gsjaardema Feb 4, 2025
2d3ac90
Committing clang-format changes
github-actions[bot] Feb 4, 2025
ee61e4e
NEM_SLICE: Allow selecting input change set
gsjaardema Feb 4, 2025
1901175
NEM_SPREAD: Basic support for reading a specific change set index
gsjaardema Feb 4, 2025
5cf714e
SCRIPTS: Support change set selection in decomp script
gsjaardema Feb 4, 2025
77b8a41
Committing clang-format changes
github-actions[bot] Feb 5, 2025
ccfa0eb
IOSS: Minor formatting improvement
gsjaardema Feb 5, 2025
ff954a6
APREPRO: Add basic support for change sets
gsjaardema Feb 5, 2025
18bdf05
Committing clang-format changes
github-actions[bot] Feb 5, 2025
100d5bd
APREPRO: Clang-format files
gsjaardema Feb 5, 2025
36d33c7
CI: Also format cc files
gsjaardema Feb 5, 2025
5b6876e
Committing clang-format changes
github-actions[bot] Feb 5, 2025
6143b3f
CI: Make filenames unique so multiple tests can be run simultaneously
gsjaardema Feb 5, 2025
3b2b7a7
Committing clang-format changes
github-actions[bot] Feb 5, 2025
e93d5e4
EXODUS_FOR: Handle large integer parameter correctly
gsjaardema Feb 6, 2025
a952cc5
EXODUS_FOR: Use new style parameter statements
gsjaardema Feb 6, 2025
31bed9f
SCRIPTS: Use braces when passing arg >= 10
gsjaardema Feb 6, 2025
6306f90
NEM_SLICE, NEM_SPREAD: Use correct variable in error message
gsjaardema Feb 6, 2025
710d5b2
Committing clang-format changes
github-actions[bot] Feb 6, 2025
09564b0
APREPRO: Add exodus_query_change_sets function
gsjaardema Feb 6, 2025
ffb016c
Committing clang-format changes
github-actions[bot] Feb 6, 2025
aa84bb7
Merge branch 'master' into exodiff-changeset-modifications
gsjaardema Feb 18, 2025
98db272
Committing clang-format changes
github-actions[bot] Feb 18, 2025
0755cf2
Merge branch 'master' into exodiff-changeset-modifications
gsjaardema Feb 18, 2025
bbbfc25
Committing clang-format changes
github-actions[bot] Feb 18, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
EPU: Add option to select a specific change set on input file
gdsjaar committed Dec 10, 2024
commit aaf2530f940f5eb2a3f08b6c3e81648895d86acc
19 changes: 14 additions & 5 deletions packages/seacas/applications/epu/EP_ExodusFile.C
Original file line number Diff line number Diff line change
@@ -36,6 +36,7 @@ int Excn::ExodusFile::ioWordSize_ = 0;
int Excn::ExodusFile::cpuWordSize_ = 0;
int Excn::ExodusFile::mode64bit_ = 0;
int Excn::ExodusFile::changeSetCount_ = -1;
int Excn::ExodusFile::activeChangeSet_= 0;
std::string Excn::ExodusFile::outputFilename_;
bool Excn::ExodusFile::keepOpen_ = false;
bool Excn::ExodusFile::verifyValidFile_ = false;
@@ -65,12 +66,14 @@ Excn::ExodusFile::ExodusFile(int processor) : myProcessor_(processor)
int num_change_sets = ex_inquire_int(fileids_[processor], EX_INQ_NUM_CHILD_GROUPS);
if (changeSetCount_ < 0) {
changeSetCount_ = num_change_sets;
if (activeChangeSet_ >= changeSetCount_) {
auto error = fmt::format("Selected Change set {} exceeds change set count {} - exiting\n", activeChangeSet_+1, changeSetCount_);
throw std::runtime_error(error);
}
}
else {
if (changeSetCount_ != num_change_sets) {
std::ostringstream errmsg;
fmt::print(errmsg, "Inconsistent change set count in one or more files - exiting\n");
throw std::runtime_error(errmsg.str());
throw std::runtime_error("Inconsistent change set count in one or more files - exiting\n");
}
}

@@ -80,7 +83,7 @@ Excn::ExodusFile::ExodusFile(int processor) : myProcessor_(processor)
std::vector<int> change_set_ids;
change_set_ids.resize(num_change_sets);
ex_get_group_ids(fileids_[processor], nullptr, change_set_ids.data());
fileids_[processor] = change_set_ids[0];
fileids_[processor] = change_set_ids[activeChangeSet_];
}

SMART_ASSERT(io_word_size_var == ioWordSize_);
@@ -186,6 +189,8 @@ void Excn::ExodusFile::initialize(const SystemInterface &si, int start_part, int
startPart_ = start_part; // Which one to start with
SMART_ASSERT(partCount_ + startPart_ <= processorCount_)(partCount_)(startPart_)(processorCount_);

activeChangeSet_ = si.selected_change_set() - 1;

// EPU always wants entity (block, set, map) ids as 64-bit quantities...
mode64bit_ = EX_IDS_INT64_API;
if (si.int64()) {
@@ -261,6 +266,10 @@ void Excn::ExodusFile::initialize(const SystemInterface &si, int start_part, int
int num_change_sets = ex_inquire_int(exoid, EX_INQ_NUM_CHILD_GROUPS);
if (changeSetCount_ < 0) {
changeSetCount_ = num_change_sets;
if (activeChangeSet_ >= changeSetCount_) {
auto error = fmt::format("ERROR: Selected Change set {} exceeds change set count {} - exiting\n", activeChangeSet_+1, changeSetCount_);
throw std::runtime_error(error);
}
}
else {
if (changeSetCount_ != num_change_sets) {
@@ -313,7 +322,7 @@ void Excn::ExodusFile::initialize(const SystemInterface &si, int start_part, int
std::vector<int> change_set_ids;
change_set_ids.resize(changeSetCount_);
ex_get_group_ids(fileids_[p], nullptr, change_set_ids.data());
fileids_[p] = change_set_ids[0];
fileids_[p] = change_set_ids[activeChangeSet_];
}
}

1 change: 1 addition & 0 deletions packages/seacas/applications/epu/EP_ExodusFile.h
Original file line number Diff line number Diff line change
@@ -47,6 +47,7 @@ namespace Excn {
static int maximumNameLength_;
static int mode64bit_;
static int changeSetCount_;
static int activeChangeSet_;
static bool keepOpen_;
static bool verifyValidFile_;
};
18 changes: 12 additions & 6 deletions packages/seacas/applications/epu/EP_SystemInterface.C
Original file line number Diff line number Diff line change
@@ -117,6 +117,11 @@ void Excn::SystemInterface::enroll_options()
"\t\tcycle $val ($val < #). The cycle number is 0-based.",
"-1");

options_.enroll("select_change_set", GetLongOption::MandatoryValue,
"Specify the change set to be read from the input file(s).\n"
"\t\tThe change_set number is 1-based.",
"1", nullptr, true);

options_.enroll("keep_temporary", GetLongOption::NoValue,
"If -join_subcycles is specified, then after joining the subcycle files,\n"
"\t\tthey are automatically deleted unless -keep_temporary is specified.",
@@ -129,8 +134,8 @@ void Excn::SystemInterface::enroll_options()
options_.enroll(
"verify_valid_file", GetLongOption::NoValue,
"Reopen the output file right after closing it to verify that the file is valid.\n"
"\t\tThis tries to detect file corruption immediately instead of later. Mainly useful in "
"large subcycle runs.",
"\t\tThis tries to detect file corruption immediately instead of later.\n"
"\t\t Mainly useful in large subcycle runs.",
nullptr, nullptr, true);

options_.enroll("map", GetLongOption::NoValue,
@@ -174,8 +179,8 @@ void Excn::SystemInterface::enroll_options()
nullptr);

options_.enroll("quantize_nsd", GetLongOption::MandatoryValue,
"Use the lossy quantize compression method. Value specifies number of digits to "
"retain (1..15) [exodus only]",
"Use the lossy quantize compression method.\n"
"\t\tValue specifies number of digits to retain (1..15) [exodus only]",
nullptr, nullptr, true);

options_.enroll("append", GetLongOption::NoValue,
@@ -265,8 +270,8 @@ void Excn::SystemInterface::enroll_options()
"0");

options_.enroll("sum_shared_nodes", GetLongOption::NoValue,
"[Rare, special case] The nodal results data on all shared nodes (nodes on "
"processor boundaries)\n"
"[Rare, special case]\n"
"\t\tThe nodal results data on all shared nodes (nodes on processor boundaries)\n"
"\t\twill be the sum of the individual nodal results data on each shared node.\n"
"\t\tThe default behavior assumes that the values are equal.",
nullptr);
@@ -458,6 +463,7 @@ bool Excn::SystemInterface::parse_options(int argc, char **argv)
subcycleJoin_ = options_.retrieve("join_subcycles") != nullptr;
keepTemporary_ = options_.retrieve("keep_temporary") != nullptr;
removeFilePerRankFiles_ = options_.retrieve("remove_file_per_rank_files") != nullptr;
selectedChangeSet_ = options_.get_option_value("select_change_set", selectedChangeSet_);
verifyValidFile_ = options_.retrieve("verify_valid_file") != nullptr;

if (options_.retrieve("map") != nullptr) {
2 changes: 2 additions & 0 deletions packages/seacas/applications/epu/EP_SystemInterface.h
Original file line number Diff line number Diff line change
@@ -35,6 +35,7 @@ namespace Excn {
int step_interval() const { return stepInterval_; }
int subcycle() const { return subcycle_; }
int cycle() const { return cycle_; }
int selected_change_set() const { return selectedChangeSet_; }

void subcycle_join(bool tf) { subcycleJoin_ = tf; }
void subcycle(int cycles) { subcycle_ = cycles; }
@@ -144,6 +145,7 @@ namespace Excn {
int compressionLevel_{0};
int quantizeNSD_{0};
int maxOpenFiles_{0};
int selectedChangeSet_{0};
bool zlib_{false};
bool szip_{false};
bool zstd_{false};