Skip to content

Separated steering vector construction for active, other cells#415

Merged
MattRolchigo merged 1 commit into
llnl:masterfrom
MattRolchigo:separate_sv_act
Jan 12, 2026
Merged

Separated steering vector construction for active, other cells#415
MattRolchigo merged 1 commit into
llnl:masterfrom
MattRolchigo:separate_sv_act

Conversation

@MattRolchigo
Copy link
Copy Markdown
Collaborator

Separating the melting/activation of cells above/below the liquidus (which is now faster as only the relevant cells are iterated over on a given time step) from the iterations over the list of undercooled active cells, thread divergence was significantly reduced. Speedup of around 3-4x on CPU and around 10-25% on GPU, with larger speedups for larger problems, particularly those with many melting/solidification events in the same cell on a given time step. This change also reduces memory usage for problems where the number of times a cell melts/solidifies is highly variable across a given domain.

@MattRolchigo MattRolchigo added the performance Simulation performance related label Sep 18, 2025
Copy link
Copy Markdown
Collaborator

@streeve streeve left a comment

Choose a reason for hiding this comment

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

First look

Comment thread src/CAinterface.hpp Outdated
Comment thread src/CAtimers.hpp
Comment thread src/CAprint.hpp
Comment thread src/CAupdate.hpp Outdated
Copy link
Copy Markdown
Collaborator

@streeve streeve left a comment

Choose a reason for hiding this comment

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

Worth considering removing the FutureActive type later since there are so few left (but probably worse performance)

Comment thread src/runCA.hpp Outdated
Comment thread src/CAupdate.hpp
@MattRolchigo MattRolchigo merged commit 189c4e8 into llnl:master Jan 12, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

performance Simulation performance related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants