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

fix definition of fosscuda/2019b to make sure it works with hierarchical MNS #9178

Merged

Conversation

akesandgren
Copy link
Contributor

@akesandgren akesandgren commented Oct 17, 2019

(created using eb --new-pr)

edit (@boegel): just to clarify: CUDA should not be installed in Core/ (with system compiler), but using compiler-only toolchain like GCC/iccfort, to ensure that the CUDA module correctly extends $MODULEPATH (not using GCCcore since that would result in always extending $MODULEPATH with path to Compiler/GCC-CUDA/ modules)

…need to have CUDA at Compiler level to get it to change MODULEPATH to Compiler/GCC-CUDA
@akesandgren akesandgren added this to the 4.x milestone Oct 17, 2019
easybuild/easyconfigs/f/fosscuda/fosscuda-2019b.eb Outdated Show resolved Hide resolved
@akesandgren akesandgren changed the title fosscuda-2019b: make sure it works with HMNS fosscuda-2019b: make sure it works with HMNS (WIP) Oct 17, 2019
@akesandgren akesandgren changed the title fosscuda-2019b: make sure it works with HMNS (WIP) fosscuda-2019b: make sure it works with HMNS Oct 17, 2019
@bartoldeman
Copy link
Contributor

@akesandgren one question that puzzles me: how do you distinguish the GCCcore CUDA from CUDA in the intelcuda toolchain in a HMNS. They both have the name CUDA and are both visible via module avail when iccifort is loaded right?

@akesandgren
Copy link
Contributor Author

The intelcuda (or rather iccifortcuda) would also use CUDA at GCCcore level if i get this right. So it would be the same CUDA. At least that's the plan.

@bartoldeman
Copy link
Contributor

I need to test this properly with the default HMNS but just wondering, how does the GCCcore CUDA extend MODULEPATH?

@akesandgren
Copy link
Contributor Author

By adding Compiler/GCC-CUDA/version to modulepath. And works as expected now that GCC is just 8.3.0, i.e. the same as GCCcore.

@bartoldeman
Copy link
Contributor

I am still puzzled where in intelcuda Compiler/intel-CUDA/version is added to MODULEPATH then, if they share the same CUDA.

At Compute Canada we have an alternative solution where CUDA is split in CUDAcore (system toolchain) and CUDA at compiler level (GCC, iccifort, PGI). Then you can design a gcccorecuda toolchain to combine GCCcore with CUDAcore, or even a CUDAcore toolchain with just CUDAcore and the system compiler, see https://github.com/ComputeCanada/easybuild-computecanada-config/tree/master/toolchains

@easybuilders easybuilders deleted a comment from boegelbot Nov 6, 2019
@akesandgren akesandgren changed the title fosscuda-2019b: make sure it works with HMNS fosscuda-2019b: make sure it works with HMNS (WIP) Nov 8, 2019
@akesandgren
Copy link
Contributor Author

@bartoldeman You're quite right, CUDA att GCCcore level for use in fosscuda/intelcuda does not work.
If one tries that there will be only one module and it will expand MODULEPATH to GCC-CUDA....

@boegel What do you think about doing it the CC way? with CUDAcore at system and dummies at Compiler (GCC, iccifort, PGI) level

At GCCcore it won't work for intelcuda.
@akesandgren akesandgren changed the title fosscuda-2019b: make sure it works with HMNS (WIP) fosscuda-2019b: make sure it works with HMNS Nov 12, 2019
@boegel
Copy link
Member

boegel commented Nov 12, 2019

@boegel What do you think about doing it the CC way? with CUDAcore at system and dummies at Compiler (GCC, iccifort, PGI) level

As discussed in Slack, I'm not really in favor of introducing CUDAcore just avoid duplicate CUDA installations in different places in the hierarchy.

Those installations are fairly small, and there's no real problem in having them duplicated (it's just a bit "dirty").

Introducing CUDAcore could cause confusion among end users (even if we hide it from plain sight using hidden = True).

@boegel boegel changed the title fosscuda-2019b: make sure it works with HMNS fix definition of fosscuda/2019b to make sure it works with hierarchical MNS Nov 12, 2019
@akesandgren
Copy link
Contributor Author

Test report by @akesandgren
SUCCESS
Build succeeded for 4 out of 4 (4 easyconfigs in this PR)
b-an03.hpc2n.umu.se - Linux ubuntu 16.04, Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz, Python 2.7.12
See https://gist.github.com/e599f9a28fd72391508979df65ff59d6 for a full test report.

@boegel
Copy link
Member

boegel commented Nov 12, 2019

Test report by @boegel
SUCCESS
Build succeeded for 4 out of 4 (4 easyconfigs in this PR)
node3151.skitty.os - Linux centos linux 7.7.1908, Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz, Python 3.6.8
See https://gist.github.com/2819eab2611ba6e6672d2f1153713de3 for a full test report.

@boegel boegel modified the milestones: 4.x, next release (4.0.2?) Nov 12, 2019
@boegel
Copy link
Member

boegel commented Nov 12, 2019

Test report by @boegel
SUCCESS
Build succeeded for 4 out of 4 (4 easyconfigs in this PR)
generoso - Linux centos linux 7.6.1810, Intel(R) Xeon(R) CPU E5-2660 v4 @ 2.00GHz, Python 3.6.8
See https://gist.github.com/80f2576a95a3472cc1d07c4703992b3f for a full test report.

@boegel boegel dismissed bartoldeman’s stale review November 12, 2019 14:46

remark addressed

@boegel
Copy link
Member

boegel commented Nov 12, 2019

Going in, thanks @akesandgren!

@boegel boegel merged commit 3125664 into easybuilders:develop Nov 12, 2019
@akesandgren akesandgren deleted the 20191017161611_new_pr_fosscuda2019b branch November 12, 2019 14:53
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.

3 participants