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

set $UCX_TLS to 'all' for impi installed on top of UCX #2253

Merged
merged 1 commit into from
Nov 27, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions easybuild/easyblocks/i/impi.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
from easybuild.framework.easyconfig import CUSTOM
from easybuild.tools.build_log import EasyBuildError
from easybuild.tools.filetools import apply_regex_substitutions, change_dir, extract_file, mkdir, write_file
from easybuild.tools.modules import get_software_root
from easybuild.tools.run import run_cmd
from easybuild.tools.systemtools import get_shared_lib_ext
from easybuild.tools.toolchain.mpi import get_mpi_cmd_template
Expand Down Expand Up @@ -313,4 +314,11 @@ def make_module_extra(self, *args, **kwargs):
# -fc also works, but -f90 takes precedence
txt += self.module_generator.set_alias('mpiifort', 'mpiifort -f90=ifort')

# set environment variable UCX_TLS to 'all', this will work in all setups
# needed with UCX regardless of the transports available (even without a Mellanox HCA)
# since impi v2019.8, the MLX provider works without UCX_TLS, but setting it does not hurt
ucx_root = get_software_root('UCX')
if ucx_root:
txt += self.module_generator.set_environment('UCX_TLS', 'all')
Copy link
Contributor

Choose a reason for hiding this comment

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

Are you sure that all versions of UCX up until 1.9.0 knows about "all" ?

Copy link
Contributor

Choose a reason for hiding this comment

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

also what is the difference between UCX_TLS=all and not setting UCX_TLS? Does UCX_TLS=all include more transports?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

yes, added ages ago with openucx/ucx#104

Copy link
Contributor

Choose a reason for hiding this comment

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

ok

Copy link
Contributor Author

Choose a reason for hiding this comment

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

also what is the difference between UCX_TLS=all and not setting UCX_TLS? Does UCX_TLS=all include more transports?

There is no difference, in both cases UCX will consider all available TLS and choose the best one. So explicitly setting UCX_TLS=all will not change the behaviour of systems that were already working well without it.


return txt