Skip to content

Clarify install docs #4366

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

Merged
merged 5 commits into from
Jul 9, 2025
Merged

Clarify install docs #4366

merged 5 commits into from
Jul 9, 2025

Conversation

connorjward
Copy link
Contributor

  • Add minimal set of packages to docs so it is clear that PETSc will download most of the external packages.
  • Add link to HPC installation wiki page.

Thanks to Golo Wimmer for the suggestions.

@connorjward connorjward requested a review from JHopeCollins June 25, 2025 10:32
@JHopeCollins
Copy link
Member

Are MPI and BLAS really essential system packages? I thought we were trying to avoid enforcing particular MPI implementations. Sure it's generally better to use the system one but a different one should work fine.

@connorjward
Copy link
Contributor Author

Are MPI and BLAS really essential system packages? I thought we were trying to avoid enforcing particular MPI implementations. Sure it's generally better to use the system one but a different one should work fine.

Yeah I guess that that is a bit confusing. I guess I have conflated "tools needed to compile PETSc" with "tools that even PETSc cannot provide". Those sets don't quite fully overlap because of things like --download-mpich and --download-openblas. Please see my suggested change: https://github.com/firedrakeproject/firedrake/pull/4366/files#r2166511543

@JHopeCollins
Copy link
Member

Are MPI and BLAS really essential system packages? I thought we were trying to avoid enforcing particular MPI implementations. Sure it's generally better to use the system one but a different one should work fine.

Yeah I guess that that is a bit confusing. I guess I have conflated "tools needed to compile PETSc" with "tools that even PETSc cannot provide". Those sets don't quite fully overlap because of things like --download-mpich and --download-openblas. Please see my suggested change: #4366 (files)

Thanks, I think the documentation is clearer now.

However, MPI and BLAS are still included in the BASE_*_PACKAGES lists in firedrake-configure.
If we're saying we will provide a minimal list of packages that the user needs to provide because PETSc just can't provide them at all, then it really should be that minimal set. At the moment there's the caveat that some unspecified subset of the --minimal-system-packages (that includes at least MPI and BLAS) can actually be provided by PETSc.

The signposting in the docs would then be the other way around - pointing out that MPI and BLAS will in fact be system packages in the vast majority of cases but not by necessity.

@connorjward
Copy link
Contributor Author

Are MPI and BLAS really essential system packages? I thought we were trying to avoid enforcing particular MPI implementations. Sure it's generally better to use the system one but a different one should work fine.

Yeah I guess that that is a bit confusing. I guess I have conflated "tools needed to compile PETSc" with "tools that even PETSc cannot provide". Those sets don't quite fully overlap because of things like --download-mpich and --download-openblas. Please see my suggested change: #4366 (files)

Thanks, I think the documentation is clearer now.

However, MPI and BLAS are still included in the BASE_*_PACKAGES lists in firedrake-configure. If we're saying we will provide a minimal list of packages that the user needs to provide because PETSc just can't provide them at all, then it really should be that minimal set. At the moment there's the caveat that some unspecified subset of the --minimal-system-packages (that includes at least MPI and BLAS) can actually be provided by PETSc.

The signposting in the docs would then be the other way around - pointing out that MPI and BLAS will in fact be system packages in the vast majority of cases but not by necessity.

Thanks. Addressed.

connorjward and others added 4 commits July 4, 2025 10:25
* Add minimal set of packages to docs so it is clear that PETSc will
  download most of the external packages.
* Add link to HPC installation wiki page.
@connorjward connorjward force-pushed the connorjward/improve-install-docs branch from eb3f390 to 1301330 Compare July 4, 2025 09:25
JHopeCollins
JHopeCollins previously approved these changes Jul 4, 2025
Copy link
Member

@JHopeCollins JHopeCollins left a comment

Choose a reason for hiding this comment

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

Thanks for updating that. I have one small suggestion to make it clear that we're happy for anyone to contribute to the HPC docs, but I'm happy with this.

Co-authored-by: Josh Hope-Collins <[email protected]>
@dham dham merged commit aa8566d into release Jul 9, 2025
6 of 7 checks passed
@dham dham deleted the connorjward/improve-install-docs branch July 9, 2025 15:45
pbrubeck pushed a commit that referenced this pull request Jul 30, 2025
* Clarify install docs

* Add minimal set of packages to docs so it is clear that PETSc will
  download most of the external packages.
* Add link to HPC installation wiki page.
* Remove cmake, openmpi and openblas from 'essential' package list

---------

Co-authored-by: David A. Ham <[email protected]>
Co-authored-by: Josh Hope-Collins <[email protected]>
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.

3 participants