Skip to content

Removes cyclic dependency on spack.config.#2121

Merged
tgamblin merged 1 commit intospack:developfrom
mpbelhorn:cray_platform_hotfix
Oct 31, 2016
Merged

Removes cyclic dependency on spack.config.#2121
tgamblin merged 1 commit intospack:developfrom
mpbelhorn:cray_platform_hotfix

Conversation

@mpbelhorn
Copy link
Copy Markdown
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
Copy Markdown
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?

@mpbelhorn mpbelhorn force-pushed the cray_platform_hotfix branch from d8e381d to 8c11916 Compare October 25, 2016 18:29
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 mpbelhorn force-pushed the cray_platform_hotfix branch from 8c11916 to 57e9d42 Compare October 28, 2016 01:14
@mpbelhorn
Copy link
Copy Markdown
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
Copy Markdown
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.

2 participants