Skip to content

Modernize build, dependencies, and scheduler performance#6

Closed
stanbot8 wants to merge 11 commits intomasterfrom
dev/stanbot8
Closed

Modernize build, dependencies, and scheduler performance#6
stanbot8 wants to merge 11 commits intomasterfrom
dev/stanbot8

Conversation

@stanbot8
Copy link
Copy Markdown
Owner

@stanbot8 stanbot8 commented Feb 20, 2026

Summary

Cumulative branch with all pending upstream changes for review before individual PRs land.

Build and dependencies

Bug fixes

Performance

Test plan

  • All existing BioDynaMo unit tests pass
  • Demo simulation produces identical results before and after

@stanbot8 stanbot8 closed this Feb 20, 2026
@stanbot8 stanbot8 reopened this Feb 20, 2026
@stanbot8 stanbot8 force-pushed the dev/stanbot8 branch 6 times, most recently from 258639d to e99ede2 Compare February 24, 2026 19:11
@stanbot8 stanbot8 changed the title Modernize build and dependencies Modernize build, dependencies, and simulation bounds Feb 26, 2026
@stanbot8 stanbot8 force-pushed the dev/stanbot8 branch 3 times, most recently from 4ad5842 to 609a5fb Compare March 4, 2026 07:44
@stanbot8 stanbot8 changed the title Modernize build, dependencies, and simulation bounds Modernize build and dependencies Mar 4, 2026
@stanbot8 stanbot8 force-pushed the dev/stanbot8 branch 6 times, most recently from 7d1133f to c1f5d83 Compare March 4, 2026 14:29
stanbot8 added 5 commits March 5, 2026 10:26
The SonarSource/sonarcloud-github-c-cpp action has been removed. Migrate to SonarSource/sonarqube-scan-action@v7 and its install-build-wrapper sub-action.
log_range_param.h and range_param.h rely on <cmath> being transitively
included through other headers. Adding explicit includes ensures correct
builds regardless of which headers are pulled in by dependencies.
Routine dependency update. Keeps third-party code current.
@stanbot8 stanbot8 changed the title Modernize build and dependencies Modernize build, dependencies, and scheduler performance Mar 5, 2026
@stanbot8 stanbot8 force-pushed the dev/stanbot8 branch 4 times, most recently from bc0a5db to 7891955 Compare March 5, 2026 15:51
stanbot8 added 6 commits March 6, 2026 06:43
Migrate all TOML parsing from cpptoml to tomlplusplus. Introduce a
TomlConfig typedef to insulate downstream code from the concrete
library. Keep cpptoml in third_party/ with a deprecation pragma so
existing includes still compile. Move BDM_ASSIGN_CONFIG_VALUE macros
to a new toml_config.h and turn the old cpptoml.h utility header
into a forwarding shim with a deprecation warning.
When the diffusion coefficient is 0 but decay is nonzero, apply
decay as a simple element-wise multiply instead of running the
full FTCS stencil. The Laplacian term vanishes with D=0, so the
stencil computation is wasted work.
AddAgentsToRm runs every step in both SetupIterationAll and
TearDownIterationAll. On steps where no agents were created, the
function still allocated NUMA vectors, called ResizeAgentUidMap,
GrowAgentContainer(0), and entered an OMP parallel region. Add an
early-out scan that checks all execution contexts for empty
new_agents_ and returns immediately when nothing to commit.
Execute() called Simulation::GetActive()->GetEnvironment() and
GetParam() for every agent every step. These pointers are stable
within an agent-ops phase, so cache them once in SetupAgentOpsAll
and reuse the cached values in Execute. Eliminates two pointer
chases per agent per step.
@stanbot8 stanbot8 closed this Mar 9, 2026
@stanbot8 stanbot8 deleted the dev/stanbot8 branch March 9, 2026 16:10
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.

1 participant