{ai}[foss/2023a] DeePMD-kit v3.0.1, Horovod v0.28.1 w/ TensorFlow 2.13.0#22217
{ai}[foss/2023a] DeePMD-kit v3.0.1, Horovod v0.28.1 w/ TensorFlow 2.13.0#22217pavelToman wants to merge 7 commits into
Conversation
…, DeePDM-kit-3.0.1-foss-2023a.eb, Horovod-0.28.1-foss-2023a-TensorFlow-2.15.1.eb
Updated software
|
|
@boegelbot please test @ jsc-zen3 |
|
@pavelToman: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de PR test command '
Test results coming soon (I hope)... Details- notification for comment with ID 2616046892 processed Message to humans: this is just bookkeeping information for me, |
|
Test report by @boegelbot |
|
@boegelbot please test @ jsc-zen3 |
|
Test report by @pavelToman |
|
@pavelToman: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de PR test command '
Test results coming soon (I hope)... Details- notification for comment with ID 2616106179 processed Message to humans: this is just bookkeeping information for me, |
|
Test report by @boegelbot |
horovod runs before protobuf, how to fix this? I can not have protobuf in builddeps - it crash with |
|
Test report by @pavelToman |
|
@boegelbot please test @ jsc-zen3 EB_ARGS="protobuf-3.21.9-GCCcore-12.3.0.eb" |
|
@pavelToman: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de PR test command '
Test results coming soon (I hope)... Details- notification for comment with ID 2618551104 processed Message to humans: this is just bookkeeping information for me, |
|
Test report by @boegelbot |
|
@boegelbot please test @ jsc-zen3 |
|
@pavelToman: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de PR test command '
Test results coming soon (I hope)... Details- notification for comment with ID 2618582441 processed Message to humans: this is just bookkeeping information for me, |
|
Test report by @boegelbot |
|
@boegelbot please test @ jsc-zen3 |
|
@pavelToman: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de PR test command '
Test results coming soon (I hope)... Details- notification for comment with ID 2618922698 processed Message to humans: this is just bookkeeping information for me, |
|
Test report by @boegelbot |
|
Test report by @pavelToman |
| 'easyblock': 'PythonPackage', | ||
| 'source_urls': ['https://pypi.python.org/packages/source/d/deepmd-kit/'], | ||
| 'sources': ['deepmd_kit-%(version)s.tar.gz'], | ||
| 'preinstallopts': "module swap protobuf/3.21.9-GCCcore-12.3.0 && ", |
There was a problem hiding this comment.
I would love to find a better way of dealing with this, since this is quite hackish.
It assumes that the default module naming scheme is used, for example, and it also assumes that this module is already installed (since it's not listed in dependencies or builddependencies).
Would a new framework feature like swap_dependencies make sense here, perhaps?
There was a problem hiding this comment.
@boegel is this feature now there? I could find this easybuilders/easybuild-framework#1506 framework pr. What needs to be changed for this pr for it to get merged. Because someone else has also expressed interest in having the DeePMD plugin with LAMMPS which is stuck behind this pr. See #24733.
There was a problem hiding this comment.
easybuilders/easybuild-framework#1506 has been included since EasyBuild v2.5.0, so that's quite old. It may be helpful in this context though, but more work is needed.
The idea would be to be able to specify something like this in an easyconfig file:
swap_dependencies = [('protobuf', '3.21.9')]EasyBuild framework would then pick up on this to do a module swap after the modules for toolchain and all dependencies have been loaded (so picked up in the prepare method of the Toolchain class).
In this particular easyconfig it would replace the hardcoded module swap command:
components = [
('deepmd', version, {
'easyblock': 'PythonPackage',
'source_urls': ['https://pypi.python.org/packages/source/d/deepmd-kit/'],
'sources': ['deepmd_kit-%(version)s.tar.gz'],
'swap_dependencies': [('protobuf', '3.21.9')],
'use_pip': True,
'start_dir': 'deepmd_kit-%(version)s',
'checksums': ['10d4443c6fe31a9a4573ed6eda73b6a669dae572cf2bc43f45e9a63aaae02cff'],
}),I think making it work for components is easy once the top-level support for swap_dependencies is in place, but it may need a small change to Bundle easyblock (not sure, didn't check)
There was a problem hiding this comment.
@pavelToman Are you up for trying to implement support for swap_dependencies yourself in EasyBuild framework, so we can get this across the finish line?
…o DeePMD-kit-3.0.1-foss-2023a-with-LAMMPS-plugin.eb - fix name
…foss-2023a.eb - fix name
| @@ -0,0 +1,113 @@ | |||
| easyblock = 'PythonBundle' | |||
|
|
|||
| name = 'DeePMD-kit' | |||
There was a problem hiding this comment.
This config is not working it does not return anything when running lmp -h | grep deepmd. It is required to compile LAMMPS with DeePMD-KIT for it to work. This easyconfig should be removed. See #23166 for LAMMPS with the deepmd plugin.
There was a problem hiding this comment.
What about to install this updated LAMMPS-with-deepmd-plugin as a component in this EC?
There was a problem hiding this comment.
DeePMD needs LAMMPS sources to be built anyway, so I will try to add another LAMMPS component, which will install LAMMPS-with-deepmd-plugin.
There was a problem hiding this comment.
Yes that might be good to go that way as well because in the docs it seems to indicate that the /bin/lmp should be in the DeePMD root directory.
There was a problem hiding this comment.
Not sure if it is possible because I'm getting this error when I try to use lammps easyblock. It seems that with componets you can only use generic easyblocks.
ERROR: Failed to get application instance for DeePMD-kit (easyblock:
PythonBundle): Failed to obtain class for lammps easyblock (not available?):
No module named 'easybuild.easyblocks.generic.lammps'
…-with-LAMMPS-plugin.eb
(created using
eb --new-pr)resolves vscentrum/vsc-software-stack#487