Skip to content
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

Location/naming scheme for MPICH toolchain #42

Open
zbeekman opened this issue Feb 14, 2019 · 8 comments
Open

Location/naming scheme for MPICH toolchain #42

zbeekman opened this issue Feb 14, 2019 · 8 comments
Assignees
Labels
❓ question Further information is requested

Comments

@zbeekman
Copy link
Member

@dpo: I was discussing adding a toolchain for MPI libraries that is based on MPICH rather than OpenMPI with @sjackman.

I wanted to check with you first as to whether or not it would be acceptable to you to add them as part of brewsci/homebrew-num. The formula would need an additional level of namespacing.

I'm also interested in swapping clang for gcc/g++ but that's not quite as large of a concern at the moment. In theory, at least the C ABI should be static & standardized, allowing code built with one C compiler to be linked against when using a different one. However, build system introspection can cause differences in the way the code ends up getting built and what features are supported. This is probably more true for C++ than C. Also, in the past I've run into issues where MPI will stubbornly wrap the compiler it was built with, or, when it wraps a different compiler, builds end up failing or runtime bugs are encountered.

If you give it the go-ahead, then I'll add packages switching OpenMPI for MPICH (and add a -mpich suffix to the file/formula name)

@zbeekman
Copy link
Member Author

P.S., where applicable, I'll keep the dependency on OpenBLAS... assuming the software I use works adequately with it.

@dpo
Copy link
Contributor

dpo commented Feb 14, 2019

I think it's a good idea, although it essentially duplicates each formula, which complicates maintenance. I had a request recently for MUMPS/MPICH. Is there an elegant way to factor out common code in such duplicated formulae?

@sjackman sjackman assigned sjackman and dpo and unassigned sjackman Feb 14, 2019
@sjackman sjackman added the ❓ question Further information is requested label Feb 14, 2019
@sjackman
Copy link
Member

@dpo Do you have a preference between OpenMPI and MPICH? One option is to support only MPICH in this repo. (I have no particular preference myself.) It would be simpler to support only one compiler, one BLAS implementation, and one MPI implementation.

@dpo
Copy link
Contributor

dpo commented Feb 15, 2019

@sjackman I tend to use OpenMPI because it was the default Homebrew MPI formula at some point (when :mpi still existed). It also seems to be somewhat more widespread. If we support only one, I think we should stick with OpenMPI. I think it would be a good thing to support both, but not at the expense of doubling the maintenance effort.

@zbeekman
Copy link
Member Author

zbeekman commented Feb 15, 2019 via email

@sjackman
Copy link
Member

One option is to maintain both OpenMPI and MPICH in this tap, adding a -mpich suffix for the MPICH formula. Simpler would be to pick one or the other, but as long as someone is volunteering to maintain the added complexity, go nuts.

Although I would prefer not having to re-engineer/manage that AWS lambda magic.

The AWS Lambda magic mostly works, and I can set it up for you. I want to migrate to GitHub Actions or Azure in the hopefully near future.

@zbeekman
Copy link
Member Author

@sjackman thanks for the feedback. I just want to make sure I don't step on @dpo's toes, so I'll wait for his input.

@dpo: OK to add MPICH based formulae here with the -mpich suffix if I assume responsibility for them? Or would you prefer not to pollute this repo?

@dpo
Copy link
Contributor

dpo commented Feb 15, 2019

If you're willing to help with the maintenance, let's go for it! Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
❓ question Further information is requested
Development

No branches or pull requests

3 participants