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

Dynamic topology region file opening with group I/O #469

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
da78685
Ioss: Initial workflow design to support dynamic topology
tokusanya Jul 2, 2024
a7a03e5
APREPRO: Remove unused variable [ci skip]
gdsjaar May 15, 2024
d152dbc
EXODUS: Import a specific exodus version from exomerge
gdsjaar May 16, 2024
cbd37f5
IOSS: Add option to omit_blocks to io_shell
gdsjaar May 16, 2024
f185aa3
SIMPI: Install headers in incldue subdir so do not interfere with cli…
gdsjaar May 20, 2024
eb5eb69
Add support for Exodus IOSS properties related to field interpretatio…
ajpelle May 20, 2024
583760d
APREPRO: EQ and NE comparisons exp and string are valid
gdsjaar May 20, 2024
75e7dce
IOSS: Clean up fmt includes/use
gdsjaar May 21, 2024
64c4280
GJOIN: Fix nset sset name handling
gdsjaar May 29, 2024
796db44
GJOIN: Fix mcdel call
gdsjaar May 29, 2024
e260195
Discontinuous galerkin (#403)
gsjaardema May 30, 2024
cca436d
Catalyst: Add support for Exodus IOSS Properties in Conduit Represent…
ajpelle May 31, 2024
d15a9f8
EXODUS: Increment version for latest enhanced field changes
gdsjaar May 31, 2024
adc1480
Address a few coverity warnings
gdsjaar May 31, 2024
73f9874
IOSS: Add omit_sets option to io_shell
gdsjaar May 31, 2024
c0ac995
IOSS: io_shell help formatting cleanup
gdsjaar May 31, 2024
59cdf25
EXODUS_FOR: Fix potential integer overflow
gdsjaar May 31, 2024
89dfefb
CI: Try to clean up hdf5 install; make some git clones faster
gdsjaar Jun 3, 2024
dbb642f
IOSS: Print filename on the open/create/close timing output
gdsjaar Jun 4, 2024
778a564
IOSS: Use c++14 deprecated syntax
gdsjaar Jun 4, 2024
5206a48
IOSS: Better output of open/close/create times
gdsjaar Jun 4, 2024
c0b290d
SLICE: Use default data_stroage_type
gdsjaar Jun 6, 2024
1026965
EXPLORE: Fix behavior after bad parse warning
gdsjaar Jun 10, 2024
657b46a
EXPLORE: Better warning/info message on SELECT
gdsjaar Jun 10, 2024
ea75dd9
EXPLORE: Fix extra double quote in output [ci skip]
gdsjaar Jun 6, 2024
94a3d95
SLICE: Fix order of file close and mpi_finalize
gdsjaar Jun 11, 2024
d963206
Line decomp parallel (#459)
gsjaardema Jun 11, 2024
be88dca
Correct Jamfile to match Seacas's CMake Library Names (#460)
akimler Jun 11, 2024
cbaeaa2
IOSS: Reduce memory usage for line decomp
gdsjaar Jun 12, 2024
5693dde
IOSS: Add line_decomp io_shell option; clean up output
gdsjaar Jun 12, 2024
fc44446
IOSS: Reduce memory usage of line decomp
gdsjaar Jun 12, 2024
7781505
Catalyst API 2 (#461)
tjotaha Jun 12, 2024
f02f0f3
IOSS: Catalyst API 2 (#462)
tjotaha Jun 13, 2024
8ec59c9
Fix errors detected in Trilinos integration
gdsjaar Jun 17, 2024
9060aad
EXOMERGE: Handle non-3D models more correctly
gdsjaar Jun 17, 2024
d4cfa71
GREPOS: Remove debug output
gdsjaar Jun 17, 2024
deec345
EXODUS: Fix output of map with zero entries
gdsjaar Jun 18, 2024
936da1b
Address coverity issues
gdsjaar Jun 19, 2024
9a67af6
IOSS: Catalyst API 2 (#463)
tjotaha Jun 20, 2024
60f737a
Fix export symbols (#465)
spyridon97 Jun 25, 2024
1b5f4c8
IOSS: Catalyst API 2 (#466)
tjotaha Jun 25, 2024
ea2fe08
CI: See if can figure out intel build failure
gdsjaar Jun 25, 2024
fdf2339
CI: Another try with syntax fixed
gdsjaar Jun 25, 2024
57dab19
CI: Use newer release of intel compiler 2024.2
gdsjaar Jun 25, 2024
ef1bdc6
IOSS: Fix so latest fmt version works
gdsjaar Jul 8, 2024
07ae2a4
NEM_SPREAD: Add missing include file
gdsjaar Jul 9, 2024
ff688ee
CI: Remove HDF5-1.8 support
gdsjaar Jul 9, 2024
11a7abe
IOSS: Fix reading db with inconsistent timestep count
gdsjaar Jul 9, 2024
48af1ba
IOSS: Clean up timestep count fix
gdsjaar Jul 9, 2024
f6fc772
CI: Spack build should use develop
gdsjaar Jul 10, 2024
8fc2cc5
CI: See if this uses commit sha
gdsjaar Jul 10, 2024
86a670b
CI: Remove typo
gdsjaar Jul 10, 2024
5c1f1f0
CI: Spack build on master only [ci skip]
gdsjaar Jul 10, 2024
c3d57f7
IOSS: Add progress output to chain/face generation
gdsjaar Jun 19, 2024
a5dc7bb
IOSS: Reduce Face memory
gdsjaar Jun 19, 2024
18afdd2
EXODUS: Better control over exodus verbosity
gdsjaar Jul 11, 2024
7f68c86
CI: Fix spack workflow syntax [ci skip]
gdsjaar Jul 11, 2024
9157ee3
IOSS: Add property to disable field metadata output
gdsjaar Jul 11, 2024
8b43583
Merge branch 'master' into DynamicTopology-RegionFileOpening
gsjaardema Jul 16, 2024
075e6a8
Merge branch 'master' into DynamicTopology-RegionFileOpening
gsjaardema Jul 17, 2024
71e3b0b
Modifications based on review
tokusanya Jul 18, 2024
58f48b2
Merge branch 'master' into DynamicTopology-RegionFileOpening
gsjaardema Jul 18, 2024
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
5 changes: 5 additions & 0 deletions packages/seacas/libraries/ioss/src/Ioss_DatabaseIO.C
Original file line number Diff line number Diff line change
Expand Up @@ -379,6 +379,11 @@ namespace Ioss {

DatabaseIO::~DatabaseIO() = default;

Ioss::DataSize DatabaseIO::int_byte_size_data_size() const
gsjaardema marked this conversation as resolved.
Show resolved Hide resolved
{
return dbIntSizeAPI;
}

int DatabaseIO::int_byte_size_api() const
{
if (dbIntSizeAPI == USE_INT32_API) {
Expand Down
31 changes: 23 additions & 8 deletions packages/seacas/libraries/ioss/src/Ioss_DatabaseIO.h
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,18 @@ namespace Ioss {
return create_subgroup_nl(group_name);
}

bool open_root_group()
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be the the same as open_group("/")? Probably OK to have it for convenience or maybe does something different?

Copy link
Collaborator Author

@tokusanya tokusanya Jul 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I initially thought that this would be case when I originally implemented it that way. The problem is that if I am currently in a subgroup and I call open_group("/"), the file pointer that is returned from

ex_get_group_id(get_file_pointer(), "/", &m_exodusFilePtr);

is exactly the file pointer returned from get_file_pointer() so that simply returns the same subgroup instead of the root group

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK. I looked at the exodus function and it says that the root group is returned if name is passed in as NULL and not "/" although that should fall down to the full_ncid path and return the root also...

I've modified ex_get_group_id to check whether filename is NULL or "/" and should now return the correct root id. Will commit this fix soon.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, but are you still good with leaving this as a convenience function ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but maybe it just calls through to the other function... Or has much less in the guts.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I'll wait for your commit to go through

{
IOSS_FUNC_ENTER(m_);
return open_root_group_nl();
}

Ioss::NameList groups_describe(bool return_full_names = false)
{
IOSS_FUNC_ENTER(m_);
return groups_describe_nl(return_full_names);
}

/** \brief Set the database to the given State.
*
* All transitions must begin from the 'STATE_CLOSED' state or be to
Expand Down Expand Up @@ -502,6 +514,7 @@ namespace Ioss {
IOSS_NODISCARD virtual int int_byte_size_db() const = 0; //! Returns 4 or 8
IOSS_NODISCARD int int_byte_size_api() const; //! Returns 4 or 8
virtual void set_int_byte_size_api(Ioss::DataSize size) const;
IOSS_NODISCARD Ioss::DataSize int_byte_size_data_size() const;

/*!
* The owning region of this database.
Expand Down Expand Up @@ -737,6 +750,14 @@ namespace Ioss {
virtual void closeDatabase_nl() const;
virtual void flush_database_nl() const {}

virtual void release_memory_nl()
{
nodeMap.release_memory();
edgeMap.release_memory();
faceMap.release_memory();
elemMap.release_memory();
}

private:
virtual bool ok_nl(bool /* write_message */, std::string * /* error_message */,
int *bad_count) const
Expand All @@ -757,16 +778,10 @@ namespace Ioss {
return elemMap.global_to_local(global);
}

virtual void release_memory_nl()
{
nodeMap.release_memory();
edgeMap.release_memory();
faceMap.release_memory();
elemMap.release_memory();
}

virtual bool open_root_group_nl() { return false; }
virtual bool open_group_nl(const std::string & /* group_name */) { return false; }
virtual bool create_subgroup_nl(const std::string & /* group_name */) { return false; }
virtual Ioss::NameList groups_describe_nl(bool /* return_full_names */) { return Ioss::NameList(); }

virtual bool begin_nl(Ioss::State state) = 0;
virtual bool end_nl(Ioss::State state) = 0;
Expand Down
Loading
Loading