Skip to content

Clarify install docs#4366

Merged
dham merged 5 commits intoreleasefrom
connorjward/improve-install-docs
Jul 9, 2025
Merged

Clarify install docs#4366
dham merged 5 commits intoreleasefrom
connorjward/improve-install-docs

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.
Co-authored-by: Connor Ward <c.ward20@imperial.ac.uk>
@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 <joshua.hope-collins13@imperial.ac.uk>
@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 <david.ham@imperial.ac.uk>
Co-authored-by: Josh Hope-Collins <joshua.hope-collins13@imperial.ac.uk>
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