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

Cray libsci and ver #3122

Closed
wants to merge 14 commits into
base: develop
from

Conversation

Projects
None yet
2 participants
@mamelara
Member

mamelara commented Feb 10, 2017

Not intending for this to be merged yet until reviewed and fully tested but this PR does a couple of things.

  1. Appends a major version number to the CNL os version in addition to making CNL lowercase.
  • Recently found out that the compute node linux os version is found by the version given by PrgEnv-X. This is how Cray displays their os version to NERSC, not sure if this is the same across all Crays.
  1. unset CRAY_LD_LIBRARY_PATH
  • Unless someone tells me this is a bad idea, this should unset CRAY_LD_LIBRARY_PATH.
  1. Adds a dummy package for Cray-libsci (provides lapack, blas and scalapack)
  • Used so that Spack is aware that a cray-libsci package exists.

Something I forgot to do is unload cray-libsci in the build-environment prior to building. This could potentially cause issues if a user on a Cray machine wishes to link with MKL or any other lapack, blas, scalapack provider due to the -L statement to cray-libsci found by default in the cray compiler wrappers.

@mamelara mamelara added cray WIP labels Feb 10, 2017

numerical routines optimized for best performance on Cray systems."""
homepage = "http://www.nersc.gov/users/software/programming-libraries/math-libraries/libsci/"
url = "http://www.nersc.gov/users/software/programming-libraries/math-libraries/libsci/"

This comment has been minimized.

@adamjstewart

adamjstewart Feb 10, 2017

Member

This isn't a real URL. I would just remove it.

This comment has been minimized.

@mamelara

mamelara Feb 15, 2017

Member

So, I removed it in the next commit but now I run into this error whenever I try spack spec blas or spack spec cray-libsci

==> Error: Class constructor failed for package 'cray-libsci'.

Caused by:
NoURLError: Package CrayLibsci has no version with a URL.
  File "/global/u2/m/mamelara/spack/lib/spack/spack/repository.py", line 580, in get
    self._instances[key] = package_class(copy)
  File "/global/u2/m/mamelara/spack/lib/spack/spack/package.py", line 562, in __init__
    f = fs.for_package_version(self, self.version)
  File "/global/u2/m/mamelara/spack/lib/spack/spack/fetch_strategy.py", line 878, in for_package_version
    url = pkg.url_for_version(version)
  File "/global/u2/m/mamelara/spack/lib/spack/spack/package.py", line 682, in url_for_version
    raise NoURLError(cls)

Am I missing something else here?

This comment has been minimized.

@adamjstewart

adamjstewart Feb 15, 2017

Member

That's a known bug: #3042

I guess you'll have to leave it in for now until @tgamblin or someone can fix it.

mamelara added some commits Feb 9, 2017

Revert "Removed fake URL"
Revert to fix bug where URL was needed. Bug referenced #3042

This reverts commit 89543f1.
Create unload module and get_modulecmd func
DRY out modulecmd. Probably going to be changed until we figure out a
better way to determine whether a system has modules available. Also
created an unload module function so that we can unload specified
modules by their name. This is currently being used to unload
cray-libsci.
Fixed up version detection.
Was getting AttributeError's whenever I tried to do spack install. This
fixes it.
Unload cray-libsci from enviromment
Unloads cray-libsci and also refactors modulecmd to use the function in
build_environment.py
Correct detection of cray platform
Was failing an architecture test. This improves detection of cray
platform, so that the test can pass.
Remove modulecmd function to fix circular import
The get_modulecmd function was causing a circular import
error in recent develop. These changes fix that.
Remove unload_module
Get rid of unload_module. Revert back to before I added modulecmd, since
there is a PR to fix this. Also fixing so that NERSC has a working PR of
this without errors. Will eventually rebase off of modulecmd fix PR.
@mamelara

This comment has been minimized.

Member

mamelara commented Mar 24, 2018

Closing since #7583 covers half of what this PR does. I will open a separate PR to add cray-libsci as a package.

@mamelara mamelara closed this Mar 24, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment