Comments (5)
ping @leclairm @mjaehn because this is a major blocker atm.
from spack-c2sm.
As I see it, it's only an issue on Daint, right? If yes, that would speak for freezing the Daint config and only moving to 21.x on Alps.
from spack-c2sm.
So after a lot of printouts, I have a start of an answer to what is happening and what looks like a workaround
My 2 cents on what happens
in the reorder_flags
method, this statement node = SpecBuilder.make_node(pkg=spec.name)
generates a node that seem to only consider the package name and not the rest of the spec, e.g. the compiler. In our case, it leads to including nvhpc
flags provided by compilers.yaml
when trying to reorder flags for cmake%gcc
and gmake%gcc
.
Workarounds
2 things have worked so far:
- explicitly include
^gmake%gcc ^cmake%gcc
in the spec, likespack spec [email protected]%nvhpc ^[email protected]%gcc ^[email protected] ^gmake%gcc ^cmake%gcc
- make the package depend on
gmake%gcc
andcmake%gcc
. So directly includedepends_on('gmake %gcc')
anddepends_on('cmake %gcc')
in/repos/c2sm/packages/pytorch-fortran-proxy/package.py
from spack-c2sm.
So after a lot of printouts, I have a start of an answer to what is happening and what looks like a workaround
My 2 cents on what happens
in the
reorder_flags
method, this statementnode = SpecBuilder.make_node(pkg=spec.name)
generates a node that seem to only consider the package name and not the rest of the spec, e.g. the compiler. In our case, it leads to includingnvhpc
flags provided bycompilers.yaml
when trying to reorder flags forcmake%gcc
andgmake%gcc
.Workarounds
2 things have worked so far:
* explicitly include `^gmake%gcc ^cmake%gcc` in the spec, like `spack spec [email protected]%nvhpc ^[email protected]%gcc ^[email protected] ^gmake%gcc ^cmake%gcc` * make the package depend on `gmake%gcc` and `cmake%gcc`. So directly include `depends_on('gmake %gcc')` and `depends_on('cmake %gcc')` in `/repos/c2sm/packages/pytorch-fortran-proxy/package.py`
Well I was wrong for what might be happening there. I think it's more in these lines:
sorted_sources = sorted(
self._flag_sources[source_key], key=lambda s: order.index(s)
)
from spack-c2sm.
Related Issues (20)
- Maintainers of backports and adaptions?
- spack -h HOT 3
- flexpart-cosmo uses dependencies not available on balfrin HOT 7
- [ICON] Add variant for extra configure args
- [ICON] Add variant to compile with debugging flags HOT 1
- Disentangle system configs from spack-c2sm
- Remove '--disable-loop-exchange' and create a conflict for gpu and loop-exchange
- Move subrepository to C2SM HOT 1
- Icon in a symlink folder
- Update spack to v0.21 HOT 1
- [icon-dsl] Make it work with spack v0.21.1 HOT 7
- [docs] Misleading information in docs regarding `dev-build`
- [infero] Make compatible with fckit from upstream spack HOT 2
- CI runs tests for all packages with command launch jenkins cdo
- [libcdi-pio] has no stable version
- [yaxt] Preferred version is a branch
- Usage of pytest.fixtures for handling uenvs in CI HOT 8
- flexpart-cosmo fails to build HOT 5
- Drop patched xpmem for Balfrin HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spack-c2sm.