Skip to content

openmpi: libfabric support, ucx cleanup#7842

Merged
adamjstewart merged 2 commits intospack:developfrom
ResearchIT:openmpi-fabs
Apr 25, 2018
Merged

openmpi: libfabric support, ucx cleanup#7842
adamjstewart merged 2 commits intospack:developfrom
ResearchIT:openmpi-fabs

Conversation

@baberlevi
Copy link
Copy Markdown
Member

This separates the changes for openmpi from #6978 and integrates with latest changes from develop.

patch('configure.patch', when="@1.10.1")
patch('fix_multidef_pmi_class.patch', when="@2.0.0:2.0.1")

fabrics = ('psm', 'psm2', 'verbs', 'mxm', 'ucx', 'libfabric')
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

adds support for libfabric and ucx and makes fabrics a variable that can be used in when decorators below

variant('thread_multiple', default=False,
description='Enable MPI_THREAD_MULTIPLE support')
variant('cuda', default=False, description='Enable CUDA support')
variant('ucx', default=False, description='Enable UCX support')
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

is a fabric type, moved there

provides('mpi@:3.0', when='@1.7.5:')
provides('mpi@:3.1', when='@2.0.0:')

if sys.platform != 'darwin':
Copy link
Copy Markdown
Member Author

@baberlevi baberlevi Apr 19, 2018

Choose a reason for hiding this comment

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

numactl not supported on Mac, but is required on linux. Has been pulling system version in

depends_on('ucx', when='+ucx')
depends_on('zlib', when='@3.0.0:')
depends_on('valgrind~mpi', when='+memchecker')
depends_on('ucx', when='fabrics=ucx')
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

dependency when clause changed to reflect ucx moving to fabrics list

depends_on('zlib', when='@3.0.0:')
depends_on('valgrind~mpi', when='+memchecker')
depends_on('ucx', when='fabrics=ucx')
depends_on('libfabric', when='fabrics=libfabric')
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

new dependency for libfabric

else:
config_args.append('--without-cuda')

# UCX support
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

now handled by with_or_without('fabrics')

default=None if _verbs_dir() is None else 'verbs',
description='List of fabrics that are enabled',
values=('psm', 'psm2', 'verbs', 'mxm'),
description=("List of fabrics that are enabled"),
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why the parentheses?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I really don't remember why I did that. Removed

@adamjstewart adamjstewart merged commit a4e786a into spack:develop Apr 25, 2018
@baberlevi baberlevi deleted the openmpi-fabs branch April 27, 2018 02:06
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.

2 participants