Skip to content

add Intel mpi package and add MPI wrappers to Intel parallel studio#3905

Merged
adamjstewart merged 11 commits intospack:developfrom
davydden:intel-mpi
Apr 22, 2017
Merged

add Intel mpi package and add MPI wrappers to Intel parallel studio#3905
adamjstewart merged 11 commits intospack:developfrom
davydden:intel-mpi

Conversation

@davydden
Copy link
Copy Markdown
Member

@davydden davydden commented Apr 19, 2017

as per discussion in https://groups.google.com/forum/#!topic/spack/SDR04CNRoyQ and https://groups.google.com/forum/#!topic/spack/8ep-wfq9AVw

testing

  • spack install hdf5%gcc+mpi^intel-mpi
  • spack install hdf5%intel+mpi^intel-mpi

on CentOS 7 cluster with (setup with spack compiler find after module load intelmpi)

compilers:
- compiler:
    environment: {}
    extra_rpaths: []
    flags: {}
    modules: []
    operating_system: centos7
    paths:
      cc: /usr/bin/gcc
      cxx: /usr/bin/g++
      f77: /usr/bin/gfortran
      fc: /usr/bin/gfortran
    spec: [email protected]
- compiler:
    environment: {}
    extra_rpaths: []
    flags: {}
    modules: []
    operating_system: centos7
    paths:
      cc: /apps/intel/ComposerXE2016/compilers_and_libraries_2016.3.210/linux/bin/intel64/icc
      cxx: /apps/intel/ComposerXE2016/compilers_and_libraries_2016.3.210/linux/bin/intel64/icpc
      f77: /apps/intel/ComposerXE2016/compilers_and_libraries_2016.3.210/linux/bin/intel64/ifort
      fc: /apps/intel/ComposerXE2016/compilers_and_libraries_2016.3.210/linux/bin/intel64/ifort
    spec: [email protected]
    target: x86_64

and

  intel-mpi:
    version: ['5.1.3']
    paths:
      [email protected]%[email protected]: /apps/intel/mpi/5.1.3.210/
      [email protected]%[email protected]: /apps/intel/mpi/5.1.3.210/
    buildable: False

@davydden
Copy link
Copy Markdown
Member Author

davydden commented Apr 19, 2017

can't test the compilation with %intel due to

Compiler error reporting is too harsh for ./configure (perhaps remove -Werror).
** ./configure aborting.

in zlib. If anyone has any ideas -- let me know...

UPDATE: it looks like i need some extra steps to set up license, here's configure.log:

Error: A license for Comp-CL is not available (-76,61026,2).

License file(s) used were (in this order):
    1.  Trusted Storage
**  2.  /apps/intel/ComposerXE2016/compilers_and_libraries_2016.3.210/linux/bin/intel64/../../Licenses
**  3.  /home/hpc/iwtm/iwtm108/Licenses
**  4.  /opt/intel/licenses
**  5.  /Users/Shared/Library/Application Support/Intel/Licenses
**  6.  /apps/intel/ComposerXE2016/compilers_and_libraries_2016.3.210/linux/bin/intel64/*.lic

Please refer http://software.intel.com/sites/support/ for more information..

This worked by loading module load intel64 before doing anything...

@davydden davydden requested a review from lee218llnl April 21, 2017 14:08
@davydden
Copy link
Copy Markdown
Member Author

davydden commented Apr 21, 2017

as for the flake8 issues, it appears that i can't remove those import as they are needed for the parent class. nevermind, will update soon...

@davydden davydden removed the WIP label Apr 21, 2017

def install(self, spec, prefix):
# FIXME:
raise RuntimeError('Install method is not implemented yet')
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.

Can you implement this? It shouldn't be that different from the other Intel packages.

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 added that, but i can't test it as I don't have a licence.

self.intel_prefix = prefix
IntelInstaller.install(self, spec, prefix)


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.

Too many blank lines

# Check for presence of bin64 or bin directory
if os.path.isdir(self.prefix.bin):
bindir = self.prefix.bin
elif os.path.isdir(join_path(self.prefix, 'bin64')):
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.

elif os.path.isdir(join_path(self.prefix, 'bin64')):
bindir = join_path(self.prefix, 'bin64')
else:
raise "No suitable bindir found"
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.

Don't you need an error class?

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.

you are probably right, i blindly copy-pasted this from #2980

@davydden davydden changed the title add Intel mpi add Intel mpi package and add MPI wrappers to Intel parallel studio Apr 21, 2017
Copy link
Copy Markdown
Contributor

@lee218llnl lee218llnl left a comment

Choose a reason for hiding this comment

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

looks good to me

@lee218llnl
Copy link
Copy Markdown
Contributor

@davydden, looks like you have some version lines that are too long in the intel-mpi/package.py file.

@adamjstewart
Copy link
Copy Markdown
Member

It's actually the hash causing the version line to be too long, not the URL. We only exempt version(...) lines, not version(..., lines. We could change that.

@davydden
Copy link
Copy Markdown
Member Author

davydden commented Apr 22, 2017

i updated the PR, current flake8 issues are not related

@alalazo
Copy link
Copy Markdown
Member

alalazo commented Apr 22, 2017

@davydden I restarted the flake8 test on Travis and it succeeded.

@adamjstewart adamjstewart merged commit 94a0cca into spack:develop Apr 22, 2017
diaena pushed a commit to diaena/spack that referenced this pull request May 26, 2017
…pack#3905)

* intel-mpi: add new package

* fix hashes

* fix typo

* flake8

* add install

* blank line

* error

* add bin64

* fix MPI wrappers in intel-parallel-studio

* add missing I_MPI_FC

* use shorter hashes
@davydden davydden deleted the intel-mpi branch May 28, 2017 20:31
xavierandrade pushed a commit to xavierandrade/spack that referenced this pull request Jun 16, 2017
…pack#3905)

* intel-mpi: add new package

* fix hashes

* fix typo

* flake8

* add install

* blank line

* error

* add bin64

* fix MPI wrappers in intel-parallel-studio

* add missing I_MPI_FC

* use shorter hashes
EmreAtes pushed a commit to EmreAtes/spack that referenced this pull request Jul 10, 2017
…pack#3905)

* intel-mpi: add new package

* fix hashes

* fix typo

* flake8

* add install

* blank line

* error

* add bin64

* fix MPI wrappers in intel-parallel-studio

* add missing I_MPI_FC

* use shorter hashes
amklinv pushed a commit that referenced this pull request Jul 17, 2017
…3905)

* intel-mpi: add new package

* fix hashes

* fix typo

* flake8

* add install

* blank line

* error

* add bin64

* fix MPI wrappers in intel-parallel-studio

* add missing I_MPI_FC

* use shorter hashes
davydden added a commit to davydden/spack that referenced this pull request May 30, 2018
the main reason Intel-MPI was added in
spack#3905 was to support
a stand-alone installation, i.e. not a part of parallel studio or alike.
The intended behaviour got broken during refactoring in
spack#4300
This commit fixes the issue by supporting different
directories.
davydden added a commit to davydden/spack that referenced this pull request Jun 1, 2018
the main reason Intel-MPI was added in
spack#3905 was to support
a stand-alone installation, i.e. not a part of parallel studio or alike.
The intended behaviour got broken during refactoring in
spack#4300
This commit fixes the issue by supporting different
directories.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants