Skip to content

purg DumbCheckpoint#5228

Open
Ig-dolci wants to merge 1 commit into
mainfrom
dolci/eliminate_dumb_chk
Open

purg DumbCheckpoint#5228
Ig-dolci wants to merge 1 commit into
mainfrom
dolci/eliminate_dumb_chk

Conversation

@Ig-dolci

@Ig-dolci Ig-dolci commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Description

Am I being irresponsible/drastic/controversial? 🙃

Screenshot 2026-07-08 at 11 33 49

@connorjward connorjward left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I have a bad feeling that we haven't deleted this yet because there are some things CheckpointFile can't do.

Comment on lines -478 to -480
Since Firedrake does not currently support reading data from a
checkpoint file on a different number of processes from that it was
written with, whenever a :class:`~.Function` is stored, an

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

It's fun that we never deleted this

@Ig-dolci

Ig-dolci commented Jul 8, 2026

Copy link
Copy Markdown
Contributor Author

I have a bad feeling that we haven't deleted this yet because there are some things CheckpointFile can't do.

And Gusto is using DumbCheckpoint.

@jshipton

jshipton commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

I have a bad feeling that we haven't deleted this yet because there are some things CheckpointFile can't do.

And Gusto is using DumbCheckpoint.

I'm not sure we are... we still have it hanging around and it is tested but I can't see that we actually use it in any examples or case studies... @tommbendall can you think of anywhere we need it?

@JHopeCollins

Copy link
Copy Markdown
Member

Part of me thinks we should just go ahead and finally get rid of this. But I also worry that we've created a boy who cried wolf situation and there will be users out there who are using DumbCheckpoint and have just got used to ignoring the warning.

Depending on how cautious we want to be, we could first update the deprecation warning to give a specific date for removal. So after the next major release it says something like This will be removed in the next major release in early 2027, after this you must use CheckpointFile.

@leo-collins

Copy link
Copy Markdown
Contributor

I have a bad feeling that we haven't deleted this yet because there are some things CheckpointFile can't do.

I know of at least this: #2452

@JHopeCollins

Copy link
Copy Markdown
Member

I have a bad feeling that we haven't deleted this yet because there are some things CheckpointFile can't do.

I know of at least this: #2452

The last comment on that issue is 3 years old now, do we know if it's still the case? If it is, do you have a rough idea how big a fix it would be?

@connorjward

Copy link
Copy Markdown
Contributor

I have a bad feeling that we haven't deleted this yet because there are some things CheckpointFile can't do.

I know of at least this: #2452

The last comment on that issue is 3 years old now, do we know if it's still the case? If it is, do you have a rough idea how big a fix it would be?

The trouble is that I don't know the exact strategy to follow.

Checkpointing is funny because you have to reconstruct all of the Firedrake objects on top of the loaded PETSc ones and pass extra things around (e.g. permutation_name and sfXB).

With pyop3 I found that the Firedrake interface can be very limiting for this. For instance I had to abandon doing checkpointing for extruded meshes 'properly' because ExtrudedMeshTopology only takes the base mesh as the argument. You can't build an ExtrudedMeshTopology object using an already extruded mesh and so you can’t checkpoint it properly.

We would have to think about the interfaces of things. It would be nice if a VoM took a DMSwarm as input for example.

@tommbendall

Copy link
Copy Markdown
Contributor

I have a bad feeling that we haven't deleted this yet because there are some things CheckpointFile can't do.

And Gusto is using DumbCheckpoint.

I'm not sure we are... we still have it hanging around and it is tested but I can't see that we actually use it in any examples or case studies... @tommbendall can you think of anywhere we need it?

When we brought in CheckpointFile there were still a few things that it couldn't do, but I don't see why we would need to keep DumbCheckpoint now. We test that both options work but could remove the DumbCheckpoint method

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants