-
Notifications
You must be signed in to change notification settings - Fork 773
{phys}[foss/2023a] HOOMD-blue v4.9.1 #22013
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
Merged
Crivella
merged 9 commits into
easybuilders:develop
from
sassy-crick:20241211204258_new_pr_HOOMD-blue491
Oct 13, 2025
Merged
Changes from 7 commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
05b90f4
adding easyconfigs: HOOMD-blue-4.9.1-foss-2023a.eb and patches: HOOMD…
c45eb93
Python sanity check removed as it segfaults
8a4fffe
LLVM removed, fallback to clang-provided LLVM, clang needs to be buil…
cd33233
Delete easybuild/easyconfigs/h/HOOMD-blue/HOOMD-blue-4.9.1-foss-2023a.eb
sassy-crick 1ff8c71
Ninja removed as not needed
05567cb
Merge branch 'develop' of https://github.com/easybuilders/easybuild-e…
d4593f8
Merge branch 'develop' of https://github.com/easybuilders/easybuild-e…
Crivella 1bb915e
Merge branch 'develop' of https://github.com/easybuilders/easybuild-e…
Crivella 1ca3d9f
Add exception to CI for HOOMD-blue with specific Clang
Crivella File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
74 changes: 74 additions & 0 deletions
74
easybuild/easyconfigs/h/HOOMD-blue/HOOMD-blue-4.9.1-foss-2023a-llvm.eb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,74 @@ | ||
| # LLVM included, needs to be version 16.x as newer versions have a different API | ||
| # See: https://github.com/easybuilders/easybuild-easyconfigs/issues/21960 | ||
| # Author: J. Sassmannshausen (Imperial College London/UK) | ||
|
|
||
| easyblock = 'CMakeMake' | ||
|
|
||
| name = 'HOOMD-blue' | ||
| version = "4.9.1" | ||
| versionsuffix = '-llvm' | ||
|
|
||
| homepage = "https://bitbucket.org/glotzer/hoomd-blue" | ||
| description = """HOOMD-blue is a general-purpose particle simulation | ||
| toolkit, implementing molecular dynamics and hard particle Monte Carlo | ||
| optimized for fast execution on both GPUs and CPUs. | ||
| This version contains the LLVM environment. | ||
| """ | ||
|
|
||
| toolchain = {'name': 'foss', 'version': '2023a'} | ||
| toolchainopts = {'usempi': True} | ||
|
|
||
| github_account = 'glotzerlab' | ||
| source_urls = [GITHUB_LOWER_RELEASE] | ||
| sources = ['hoomd-%(version)s.tar.gz'] | ||
| patches = ['%(name)s-%(version)s.patch'] | ||
| checksums = [ | ||
| {'hoomd-4.9.1.tar.gz': 'b48ff3d44fef56ddf95c64b462b5d7f670bfc7a76b47223207edd3e7438e52bd'}, | ||
| {'HOOMD-blue-4.9.1.patch': '185584a621fb02a554fb2c383b0d7c8bbb7e1251298fc58529b22b8ce7212854'}, | ||
| ] | ||
|
|
||
| builddependencies = [ | ||
| ('CMake', '3.26.3'), | ||
| ('pybind11', '2.11.1'), | ||
| ] | ||
|
|
||
| dependencies = [ | ||
| ('Python', '3.11.3'), | ||
| ('SciPy-bundle', '2023.07'), | ||
| ('tbb', '2021.11.0'), | ||
| ('Eigen', '3.4.0'), | ||
| ('Cereal', '1.3.2', '', SYSTEM), | ||
| ('Clang', '16.0.6', '-shared'), | ||
| ] | ||
|
|
||
| _copts = [ | ||
| '-DENABLE_GPU=OFF', | ||
| '-DENABLE_MPI=ON', | ||
| '-DBUILD_MD=ON', | ||
| '-DBUILD_METAL=OFF', | ||
| '-DENABLE_TBB=ON', | ||
| '-DBUILD_TESTING=ON', | ||
| '-DENABLE_LLVM=ON', | ||
| ] | ||
|
|
||
| configopts = ' '.join(_copts) | ||
|
|
||
| postinstallcmds = [ | ||
| 'ln -s hoomd/include %(installdir)s/include', | ||
| ] | ||
|
|
||
| pretestopts = "OMPI_MCA_rmaps_base_oversubscribe=1 " | ||
| runtest = 'test' | ||
|
|
||
| sanity_check_paths = { | ||
| 'files': ['hoomd/__init__.py', 'hoomd/include/hoomd/Compute.h'], | ||
| 'dirs': ['lib/cmake'], | ||
| } | ||
|
|
||
| sanity_check_commands = [ | ||
| "python -c 'import hoomd'", | ||
| ] | ||
|
|
||
| modextrapaths = {'PYTHONPATH': ''} | ||
|
|
||
| moduleclass = 'phys' | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,53 @@ | ||
| Set pybind to version 2.11, deal with the script finding the right LLVM and Clang libraries. | ||
| The way it is done is spitting out a bit more information which hopefully makes any further | ||
| debugging easier. | ||
| Help from Jan André Reuter (JSC) and Davide Grassano is greatly appreciated | ||
| Author: J. Sassmannshausen (Imperial College London/UK) | ||
| diff --git a/hoomd-4.9.1.orig/CMake/hoomd/HOOMDPythonSetup.cmake b/hoomd-4.9.1/CMake/hoomd/HOOMDPythonSetup.cmake | ||
| index 780344e..7d9e544 100644 | ||
| --- a/hoomd-4.9.1.orig/CMake/hoomd/HOOMDPythonSetup.cmake | ||
| +++ b/hoomd-4.9.1/CMake/hoomd/HOOMDPythonSetup.cmake | ||
| @@ -12,7 +12,7 @@ if (Python_FOUND) | ||
| endif() | ||
| endif() | ||
|
|
||
| -find_package(pybind11 2.12 CONFIG REQUIRED) | ||
| +find_package(pybind11 2.11 CONFIG REQUIRED) | ||
|
|
||
| if (pybind11_FOUND) | ||
| find_package_message(pybind11 "Found pybind11: ${pybind11_DIR} ${pybind11_INCLUDE_DIR} (version ${pybind11_VERSION})" "[${pybind11_DIR}][${pybind11_INCLUDE_DIR}]") | ||
| diff --git a/hoomd-4.9.1.orig/hoomd/hpmc/CMakeLists.txt b/hoomd-4.9.1/hoomd/hpmc/CMakeLists.txt | ||
| index 0174fb0..ae1f149 100644 | ||
| --- a/hoomd-4.9.1.orig/hoomd/hpmc/CMakeLists.txt | ||
| +++ b/hoomd-4.9.1/hoomd/hpmc/CMakeLists.txt | ||
| @@ -220,16 +220,24 @@ if (BUILD_TESTING) | ||
| endif() | ||
|
|
||
| if (ENABLE_LLVM) | ||
| - set(PACKAGE_NAME jit) | ||
| + find_package(LLVM REQUIRED CONFIG) | ||
| + | ||
| + message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}") | ||
| + message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}") | ||
| + include_directories(${LLVM_INCLUDE_DIRS}) | ||
| + separate_arguments(LLVM_DEFINITIONS_LIST NATIVE_COMMAND ${LLVM_DEFINITIONS}) | ||
| + add_definitions(${LLVM_DEFINITIONS_LIST}) | ||
| + | ||
| + # Find the libraries that correspond to the LLVM components | ||
| + # that we wish to use | ||
| + llvm_map_components_to_libnames(llvm_library JITLink) | ||
| + | ||
| + set(PACKAGE_NAME jit) | ||
|
|
||
| # find and configure LLVM | ||
| - find_package(LLVM REQUIRED CONFIG) | ||
| + # find_package(LLVM REQUIRED CONFIG) | ||
|
|
||
| if (LLVM_FOUND) | ||
| - find_library(llvm_library LLVM | ||
| - HINTS ${LLVM_LIBRARY_DIRS} | ||
| - NO_DEFAULT_PATH) | ||
| - | ||
| find_library(clang_library clang-cpp | ||
| HINTS ${LLVM_LIBRARY_DIRS} | ||
| NO_DEFAULT_PATH) |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.