Skip to content

Gromacs cray GPU + dynamic libs#951

Merged
boegel merged 7 commits intoeasybuilders:developfrom
gppezzi:gromacs-cray
Jul 5, 2016
Merged

Gromacs cray GPU + dynamic libs#951
boegel merged 7 commits intoeasybuilders:developfrom
gppezzi:gromacs-cray

Conversation

@gppezzi
Copy link
Copy Markdown
Contributor

@gppezzi gppezzi commented Jun 7, 2016

No description provided.

Comment thread easybuild/easyblocks/g/gromacs.py Outdated
lib_dir = os.getenv('%s_LIB_DIR' % libname)
libs = os.getenv('LIB%s' % libname)
self.cfg.update('configopts', '-DGMX_%s_USER="-L%s %s"' % (libname, lib_dir, libs))
if self.toolchain.name.startswith('Cray'):
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

please use:

import easybuild.tools.toolchain as toolchain
...
    if self.toolchain.toolchain_family() == toolchain.CRAYPE:

@gppezzi
Copy link
Copy Markdown
Contributor Author

gppezzi commented Jun 8, 2016

@boegel any other remark or should I provide test reports for this version?
cc @lucamar

Comment thread easybuild/easyblocks/g/gromacs.py Outdated
from easybuild.tools.systemtools import get_platform_name

from easybuild.tools.systemtools import get_shared_lib_ext
import easybuild.tools.toolchain as toolchain
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

please move the import one up below the other import (keep them alphabetical), and collapse the two for systemtools:

from easybuild.tools.systemtools import get_platform_name , get_shared_lib_ext

@boegel
Copy link
Copy Markdown
Member

boegel commented Jun 9, 2016

@gppezzi one more tiny remark, seeing test reports that rely on this would be great

@boegel boegel added this to the v2.9.0 milestone Jun 9, 2016
@gppezzi
Copy link
Copy Markdown
Contributor Author

gppezzi commented Jun 9, 2016

Here's a first log, I'll now prepare the PR for the easyconfig file.

@boegel
Copy link
Copy Markdown
Member

boegel commented Jun 9, 2016

@gppezzi I'm seeing this with existing easyconfigs:

ERROR: Traceback (most recent call last):
  File "/user/scratchdelcatty/gent/gvo000/gvo00002/vsc40023/easybuild_easy_installed/lib/python2.6/site-packages/easybuild_framework-2.8.1-py2.6.egg/easybuild/main.py", line 114, in build_and_install_software
    (ec_res['success'], app_log, err) = build_and_install_one(ec, init_env)
  File "/user/scratch/gent/vsc400/vsc40023/easybuild_easy_installed/lib/python2.6/site-packages/easybuild_framework-2.8.1-py2.6.egg/easybuild/framework/easyblock.py", line 2358, in build_and_install_one
    result = app.run_all_steps(run_test_cases=run_test_cases)
  File "/user/scratch/gent/vsc400/vsc40023/easybuild_easy_installed/lib/python2.6/site-packages/easybuild_framework-2.8.1-py2.6.egg/easybuild/framework/easyblock.py", line 2274, in run_all_steps
    self.run_step(step_name, step_methods)
  File "/user/scratch/gent/vsc400/vsc40023/easybuild_easy_installed/lib/python2.6/site-packages/easybuild_framework-2.8.1-py2.6.egg/easybuild/framework/easyblock.py", line 2153, in run_step
    step_method(self)()
  File "/tmp/eb-Df_XrW/included-easyblocks/easybuild/easyblocks/gromacs.py", line 65, in configure_step
    if self.toolchain.options['dynamic']:
KeyError: 'dynamic'

So, you'll need to use

self.toolchain.options.get('dynamic', False):

since the dynamic toolchain option may not be defined...

@boegel
Copy link
Copy Markdown
Member

boegel commented Jun 17, 2016

lgtm

there are a couple of other PRs for the GROMACS easyblock, I'll look into handling them together...

Comment thread easybuild/easyblocks/g/gromacs.py Outdated
libs = os.getenv('LIB%s' % libname)
self.cfg.update('configopts', '-DGMX_%s_USER="-L%s %s"' % (libname, lib_dir, libs))
if self.toolchain.toolchain_family() == toolchain.CRAYPE:
self.cfg.update('configopts', '-DGMX_%s_USER="%s/libsci_gnu_mpi_mp.a"' % (libname, lib_dir))
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

hardcoding the _gnu_ here means that this only works with CrayGNU

I've fixed this in #960 with a glob, cfr. ec6b342

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@gppezzi can you change this like I did in https://github.com/hpcugent/easybuild-easyblocks/pull/960/files#diff-a02b2451ce7221a206c1f64ba6758d33R158 (only the Cray-specific part in this if block), then I can merge this PR (and sync #960 after the merge)

@boegel boegel modified the milestones: v2.9.0, v2.8.2 Jul 4, 2016
@boegel
Copy link
Copy Markdown
Member

boegel commented Jul 5, 2016

retested with #951 & all existing GROMACS easyconfigs using Cray toolchains, looks good, so going in

Thanks @gppezzi and @lucamar!

@boegel boegel merged commit 1e04914 into easybuilders:develop Jul 5, 2016
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