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

Removes cyclic dependency on spack.config. #2121

Merged
merged 1 commit into from
Oct 31, 2016

Conversation

mpbelhorn
Copy link
Contributor

Merge #2030 added a cyclic dependency between the Cray platform needing
to read a targets.yaml config file and config.py needing to get the
platform names.

This commit removes the cyclic dependency in favor of the more general
config scheme. It also removes the now functionless targets.yaml
config file. This breaks 'frontend' targets on the Cray platform but
all architecture targets, including the frontend, that are provided by
CrayPE are added to the Platform anyway so users can be explicit about
the architecture targeted by the Cray compiler wrappers:

spack spec libelf arch=cray-CNL-frontend

becomes

spack spec libelf arch=cray-CNL-mc8         # on an XK7 or
spack spec libelf arch=cray-CNL-sandybridge # on an older XC30, etc..

The only way the 'frontend' target can be defined after this commit is
through target environment variables.

Copy link
Member

@tgamblin tgamblin left a comment

Choose a reason for hiding this comment

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

LGTM. Can you fix the flake8 issues?

Merge spack#2030 added a cyclic dependency between the Cray platform needing
to read a `targets.yaml` config file and `config.py` needing to get the
platform names.

This commit removes the cyclic dependency in favor of the more general
config scheme. It also removes the now functionless `targets.yaml`
config file. This breaks 'frontend' targets on the Cray platform but
all architecture targets, including the frontend, that are provided by
CrayPE are added to the Platform anyway so users can be explicit about
the architecture targeted by the Cray compiler wrappers:

```
spack spec libelf arch=cray-CNL-frontend
```

becomes

```
spack spec libelf arch=cray-CNL-mc8         # on an XK7 or
spack spec libelf arch=cray-CNL-sandybridge # on an older XC30, etc..
```

The only way the 'frontend' target can be defined after this commit is
through target environment variables.
@mpbelhorn
Copy link
Contributor Author

I have an optimization that puts the default modules and craype targets into a singleton which greatly improves performance. I can add it to this MR today if we want to hold of merging until then.

@tgamblin tgamblin merged commit 7ccf56a into spack:develop Oct 31, 2016
@tgamblin
Copy link
Member

@mpbelhorn: sorry I missed your message a few days ago. Feel free to submit that whenever you want -- you may want to wait until after #2152 is merged as it affects configs.

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.

None yet

2 participants