Skip to content

[UPDATE] Expand Docker module coverage for full-featured Chrono builds#736

Open
sshawn9 wants to merge 19 commits intoprojectchrono:mainfrom
sshawn9:main
Open

[UPDATE] Expand Docker module coverage for full-featured Chrono builds#736
sshawn9 wants to merge 19 commits intoprojectchrono:mainfrom
sshawn9:main

Conversation

@sshawn9
Copy link
Copy Markdown

@sshawn9 sshawn9 commented Apr 28, 2026

Summary

This PR extends the Docker build snippets to support a fuller Chrono image with additional optional modules and their dependencies. It adds snippets for Cascade, CSharp, DEM, FMI, FSI, Modal, Multicore, MUMPS, PardisoMKL, Peridynamics, and Postprocess, then wires them into the main Chrono Docker snippet.

It also updates the Docker build configuration for CUDA 12.9 and adds a standalone release.dockerfile entrypoint for users who want to build the image directly with docker build rather than Docker Compose.

Related Issue(s)

N/A

Author(s)

@sshawn9

Licensing

By submitting this pull request, I agree that my contribution will be included in Chrono and redistributed under the BSD-3-Clause License.

Backward Compatibility

This change is limited to Docker build infrastructure and does not change Chrono source APIs or runtime behavior outside the generated Docker image. Existing module snippets remain usable independently.

Implementation Notes

  • Added Docker snippets for:
    • Chrono::Cascade with OpenCASCADE
    • Chrono::CSharp
    • Chrono::DEM
    • Chrono::FMI
    • Chrono::FSI with SPH and TDPF backends
    • Chrono::Modal with Spectra
    • Chrono::Multicore with Blaze
    • Chrono::MUMPS
    • Chrono::PardisoMKL with Intel oneAPI MKL
    • Chrono::Peridynamics
    • Chrono::Postprocess
  • Updated chrono.dockerfile to include the new module snippets.
  • Updated CUDA to 12.9 for compatibility with CUDA-enabled modules such as Chrono::FSI-SPH.
  • Added explicit CHRONO_CUDA_ARCHITECTURES handling so CUDA modules can configure with CMake versions before 3.23.
  • Added release.dockerfile as a standalone Docker build entrypoint mirroring the Compose-based dev image defaults.

Verification

  • Dockerfile snippets were checked against the corresponding Chrono CMake module requirements.

  • The standalone release Dockerfile and Compose configuration were reviewed for matching build arguments and include paths.

  • Full Docker image build verification should be performed with:

    cd contrib/docker
    docker compose build dev

    and, for the standalone entrypoint:

    cd contrib/docker
    docker build -f release.dockerfile -t chrono/chrono:release .

Post Submission Checklist

  • The feature or features in this pull request is complete
  • Licensing information is complete
  • Corresponding author information is complete
  • The feature has been verified to work with the CMake based build system

Further Information, Files, and Links

N/A

sshawn9 added 18 commits April 29, 2026 03:26
@uebian
Copy link
Copy Markdown
Contributor

uebian commented May 2, 2026

@sshawn9 Thank you for the contribution. Project Chrono is currently undergoing CI/CD and packaging pipeline upgrades to support both AMD and NVIDIA GPUs. Because of that, I may need to put the review on hold for a few more days until the overall structure is finalized. Once that is done, I should be able to merge your PR.

@sshawn9
Copy link
Copy Markdown
Author

sshawn9 commented May 3, 2026

@sshawn9 Thank you for the contribution. Project Chrono is currently undergoing CI/CD and packaging pipeline upgrades to support both AMD and NVIDIA GPUs. Because of that, I may need to put the review on hold for a few more days until the overall structure is finalized. Once that is done, I should be able to merge your PR.

Thanks for the update! Take your time with the CI/CD upgrades. Please let me know if any changes or adjustments are needed for this PR to align with the new structure once it's finalized. I'd be more than happy to help update it.

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.

2 participants