Skip to content

Add hydra package#810

Merged
tgamblin merged 2 commits intospack:developfrom
adamjstewart:features/hydra
May 2, 2016
Merged

Add hydra package#810
tgamblin merged 2 commits intospack:developfrom
adamjstewart:features/hydra

Conversation

@adamjstewart
Copy link
Copy Markdown
Member

No description provided.

@mathstuf
Copy link
Copy Markdown
Contributor

Does it really have no dependencies?

@mathstuf
Copy link
Copy Markdown
Contributor

Looking at configure.ac, it does look for mpicc and friends. Also seems to want doxygen which might warrant a +doc variant.

@adamjstewart
Copy link
Copy Markdown
Member Author

Ssh, you'll spoil it.

Technically it depends on pbs, hwloc, blcr, and ftb? But so do mpich and mvapich2... We should probably at least be consistent here. Meaning remove hwloc as a dependency of openmpi, or add hwloc as a dependency of mpich, mvapich2, and hydra.

@mathstuf
Copy link
Copy Markdown
Contributor

Looks like it has embedded hwloc. Looks like the others are too, but they might be just wrapper bits.

@adamjstewart
Copy link
Copy Markdown
Member Author

Maybe I'll remove hwloc as a dependency of OpenMPI someday. It would solve a problem I was having since PGI cannot compile libpciaccess.

I don't think Hydra depends on MPI? It's just used to control MPI processes. The only reason we need an explicit Hydra package is because we need some of the functionality of [email protected] and MVAPICH2 is a little behind MPICH in its Hydra version.

@mathstuf
Copy link
Copy Markdown
Contributor

Hmm, yeah, it seems to just have some .m4 macro files which have other code. There are references to MPIRUN and MPIEXEC, but they seem to just be labels and not actual tools it expects to exist.

@adamjstewart
Copy link
Copy Markdown
Member Author

adamjstewart commented Apr 21, 2016

Hydra is mpiexec and mpirun. MPICH and MVAPICH2 build Hydra (mpiexec).

@adamjstewart
Copy link
Copy Markdown
Member Author

I removed OpenMPI's dependency on hwloc. OpenMPI, MPICH, MVAPICH2, and Hydra all come with their own version of hwloc, so there is no need to build it externally. Furthermore, hwloc's dependency on libpciaccess cannot be built with PGI (#481).

If you would rather use an externally built hwloc, we should add hwloc as a dependency for OpenMPI, MPICH, MVAPICH2, and Hydra.

If anyone knows how to build MVAPICH2 with an external Hydra, let me know. Otherwise, I'll just have to make sure our users load Hydra and MVAPICH2 in the right order.

@adamjstewart
Copy link
Copy Markdown
Member Author

ping @tgamblin

@tgamblin tgamblin merged commit 6dad59c into spack:develop May 2, 2016
@eschnett
Copy link
Copy Markdown
Contributor

eschnett commented May 3, 2016

@adamjstewart The hwloc built into OpenMPI is a few versions older than the stand-alone hwloc distribution. I'd like to keep building with an external hwloc, using that newer version. Can you add it back in? You can make it a variant so that you can disable it. You could instead also make libpciaccess a variant of hwloc, allowing you to disable this instead if that's where you're having problems with the PGI compiler.

@adamjstewart
Copy link
Copy Markdown
Member Author

Haha, I know your pain. The reason I needed a Hydra package is because the one that comes with MVAPICH2 is slightly behind and doesn't contain some of the options we need. Unfortunately for me, I don't think there is an option to build with external Hydra. I'll add the hwloc dependency back in and probably make libpciaccess a variant of hwloc as you suggested. Do you have any opinions on whether or not to add hwloc as a dependency of MPICH, MVAPICH2, and Hydra? It would be nice for all of them to use the exact same hwloc installation.

@adamjstewart adamjstewart deleted the features/hydra branch May 3, 2016 15:03
@eschnett
Copy link
Copy Markdown
Contributor

eschnett commented May 3, 2016

It would make sense, but I haven't build mpich or mvapich recently, and I don't know how easy it is to configure them this way. (Thus I also don't know how to make mvapich digest an external hydra.)

@adamjstewart
Copy link
Copy Markdown
Member Author

I believe it's done the same way it is for OpenMPI. I'll make the change and let people comment on the actual PR.

@adamjstewart
Copy link
Copy Markdown
Member Author

Huh, I'm not sure why I thought you could build MPICH and MVAPICH2 with an external hwloc, but it turns out you can't. You can for Hydra and OpenMPI though.

olupton pushed a commit to olupton/spack that referenced this pull request Feb 7, 2022
- Avoid bug when compiling with intel (catchorg/Catch2#1748)

Co-authored-by: Blanco Alonso Jorge <[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.

4 participants