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

Reimplement MPCD for HOOMD 4 #1784

Merged
merged 95 commits into from
May 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
75297ac
Refactor collision methods
mphoward Oct 14, 2023
6ba760d
Refactor streaming methods (no forces & fillers yet)
mphoward Oct 14, 2023
80cbd99
Refactor Integrator
mphoward Oct 17, 2023
8eb6202
Remove remaining unused remove* methods
mphoward Oct 17, 2023
5addc66
Test collision method and fix related bugs
mphoward Oct 19, 2023
7a574e4
Test streaming method
mphoward Oct 19, 2023
ed3631a
Use Scalar instead of double for collision angle
mphoward Nov 16, 2023
04efa4f
Merge branch 'trunk-minor' into mpcd-v4-integrator
mphoward Nov 16, 2023
4c7a10c
Add missing include guard for GPU class
mphoward Nov 16, 2023
d675d37
Revert changes to md integrator and use grandparent attach
mphoward Nov 20, 2023
9f3035f
Rename Python attributes of streaming & collision methods
mphoward Nov 20, 2023
b2ac29a
Remove warning for running without methods
mphoward Nov 20, 2023
8a0548a
Reenable MPCD import
mphoward Nov 20, 2023
7ca3408
Fix language in docstring per review
mphoward Nov 20, 2023
7145034
Apply suggestions from code review to unit tests
mphoward Nov 20, 2023
0294b8c
Link in sphinx documentation and revise
mphoward Nov 20, 2023
1ca5844
Merge branch 'trunk-minor' into mpcd-v4-integrator
mphoward Dec 4, 2023
eba77b1
Fix lists in documentation
mphoward Dec 4, 2023
62917c5
Merge pull request #1655 from glotzerlab/mpcd-v4-integrator
joaander Dec 11, 2023
5ad7a9d
Reimplement particle sorter
mphoward Dec 17, 2023
723d214
Improve sorter documentation
mphoward Dec 21, 2023
673ebf4
Fix sphinx warning
mphoward Jan 4, 2024
a24e303
Refactor geometries and streaming methods
mphoward Jan 4, 2024
73b84e4
Add geometries to documentation
mphoward Jan 4, 2024
b22fbd1
Reimplement virtual particle fillers
mphoward Jan 4, 2024
9c79bb6
Rename attribute and fix docs
mphoward Jan 5, 2024
2152ff9
Reimplement bounce-back integrator for MD particles
mphoward Jan 6, 2024
ddeba57
Implement suggestions from code review
mphoward Jan 12, 2024
18a554c
Merge pull request #1681 from glotzerlab/mpcd-v4-sorter
joaander Jan 12, 2024
542284f
Merge branch 'mpcd-v4' into mpcd-v4-geometries
mphoward Jan 12, 2024
5707a0c
Refactor streaming methods to not use templates
mphoward Jan 19, 2024
34cb74b
Merge pull request #1689 from glotzerlab/mpcd-v4-geometries
joaander Jan 25, 2024
0bfd721
Merge branch 'mpcd-v4' into mpcd-v4-filler
mphoward Jan 26, 2024
41eb86b
Remove unused Integrator._children
mphoward Jan 31, 2024
4c84257
Fix compile errors from auto-formatter
mphoward Jan 31, 2024
12fbb37
Expose solvent forces to Python and test
mphoward Jan 31, 2024
a3c01b7
Add force to streaming method and test
mphoward Jan 31, 2024
f369ea8
Add forces to documentation
mphoward Jan 31, 2024
0160cba
Remove unused header
mphoward Feb 1, 2024
90bc3b0
Rotate geometries to be finite in y instead of z
mphoward Feb 1, 2024
0c2a13e
Remove unused validation directory
mphoward Feb 1, 2024
a699046
Rotate forces
mphoward Feb 1, 2024
d2f5fb0
Fix issues with binding filler vector
mphoward Feb 1, 2024
47ccaad
Merge pull request #1690 from glotzerlab/mpcd-v4-filler
joaander Feb 13, 2024
426550a
Merge branch 'mpcd-v4' into mpcd-v4-methods
mphoward Feb 13, 2024
43d5cd6
Implement suggestions from code review
mphoward Feb 23, 2024
d62561b
Merge pull request #1691 from glotzerlab/mpcd-v4-methods
joaander Feb 23, 2024
fb49fd3
Merge branch 'mpcd-v4' into mpcd-v4-forces
mphoward Feb 23, 2024
2866f4d
Add no force to attach test
mphoward Mar 3, 2024
87cf49d
Merge branch 'mpcd-v4-forces' into mpcd-v4-rotate-coordinates
mphoward Mar 4, 2024
48ec8f3
Remove out of date graphic
mphoward Mar 4, 2024
93defb3
Merge pull request #1712 from glotzerlab/mpcd-v4-forces
joaander Mar 5, 2024
ca9bf5c
Merge branch 'mpcd-v4' into mpcd-v4-rotate-coordinates
mphoward Mar 5, 2024
9be5b65
Rotate coordinates of test added on merged branch
mphoward Mar 5, 2024
25a3fac
Merge pull request #1714 from glotzerlab/mpcd-v4-rotate-coordinates
joaander Mar 8, 2024
287eb12
Add sybil examples to MPCD documentation
mphoward Mar 4, 2024
b069e02
Rename check particles tests
mphoward Mar 4, 2024
74d2c83
Fix sphinx error
mphoward Mar 4, 2024
bab7dcf
Add missing code blocks
mphoward Mar 4, 2024
fa3214d
Review documentation for read only attributes
mphoward Mar 8, 2024
67280f3
Fix failing MPI tests related to check_particles
mphoward Mar 8, 2024
5bf0fd8
Implement suggestions from code review
mphoward Mar 13, 2024
552ae18
Merge pull request #1734 from glotzerlab/mpcd-v4-sybil-examples
joaander Mar 13, 2024
56795e1
Refactor VirtualParticleFiller to be more general base class
mphoward Mar 8, 2024
83ebdf4
Reenable code formatting and fix flake8 errors
mphoward Mar 13, 2024
92a4aba
Fix issues in docs
mphoward Mar 14, 2024
04af5f9
Merge pull request #1737 from glotzerlab/mpcd-v4-refactor-virtual-par…
joaander Mar 19, 2024
0bc770c
Merge branch 'mpcd-v4' into mpcd-v4-format
mphoward Mar 19, 2024
2c5f93f
Merge pull request #1741 from glotzerlab/mpcd-v4-format
joaander Mar 22, 2024
ad607c8
Merge branch 'trunk-minor' into mpcd-v4
mphoward Mar 26, 2024
fe104de
Fix merge error in mpcd CMake file
mphoward Mar 29, 2024
293861b
Change half length to full length in BlockForce
mphoward Apr 9, 2024
3c4afbb
Use more descriptive variables for ParallelPlates
mphoward Apr 9, 2024
595462c
Use more descriptive variables for PlanarPore
mphoward Apr 9, 2024
8340321
Warn for unset seed
mphoward Apr 9, 2024
7ef80f0
Update compiled unit tests
mphoward Apr 9, 2024
ae437d0
Use Scalar on constants
mphoward Apr 9, 2024
b885608
Make parallel plate filler test more stringent
mphoward Apr 9, 2024
f208b1f
Fix license headers with pre-commit
mphoward Apr 9, 2024
3ab15a3
Fix additional license headers with pre-commit
mphoward Apr 9, 2024
4306d7a
Prefer MPCD particles to solvent in API and docs
mphoward Apr 11, 2024
82aee01
Apply fixes from code review
mphoward Apr 16, 2024
c5801b0
Merge pull request #1763 from glotzerlab/mpcd-v4-api-review
joaander Apr 17, 2024
c5d9185
Merge branch 'trunk-minor' into mpcd-v4
mphoward May 8, 2024
12968d6
Merge branch 'trunk-patch' into mpcd-v4
mphoward May 8, 2024
eee6849
Add MPCD migration guide
mphoward May 7, 2024
af04306
Fix pre-commit failures in mpcd module
mphoward May 8, 2024
ee38623
Fix merge error
mphoward May 8, 2024
51d90ac
Merge pull request #1778 from glotzerlab/mpcd-v4-migration
joaander May 15, 2024
4b63137
Add Yashraj Wani to credits
mphoward May 15, 2024
9b8b8ad
Merge branch 'trunk-minor' into mpcd-v4
mphoward May 15, 2024
c053361
Merge branch 'trunk-minor' into mpcd-v4
mphoward May 16, 2024
fb1f10a
Update build instructions for MPCD
mphoward May 16, 2024
d328e79
Revise BUILD_MPCD option
mphoward May 16, 2024
751dc8b
Remove remaining references to GPU polymorphism.
joaander May 29, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,6 @@ repos:
exclude: |
(?x)(
^hoomd/extern/|
^hoomd/mpcd/|
^hoomd/metal/
)
- repo: https://github.com/pre-commit/mirrors-clang-format
Expand Down
5 changes: 3 additions & 2 deletions BUILDING.rst
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,7 @@ Install prerequisites
For **HOOMD-blue** on AMD GPUs, the following limitations currently apply.

1. Certain kernels trigger an `unknown HSA error <https://github.com/ROCm-Developer-Tools/HIP/issues/1662>`_.
2. The ``mpcd`` component is disabled on AMD GPUs.
3. Multi-GPU execution via unified memory is not available.
2. Multi-GPU execution via unified memory is not available.

.. note::

Expand Down Expand Up @@ -222,6 +221,8 @@ Other option changes take effect at any time:
- ``BUILD_HPMC`` - When enabled, build the ``hoomd.hpmc`` module (default: ``on``).
- ``BUILD_MD`` - When enabled, build the ``hoomd.md`` module (default: ``on``).
- ``BUILD_METAL`` - When enabled, build the ``hoomd.metal`` module (default: ``on``).
- ``BUILD_MPCD`` - When enabled, build the ``hoomd.mpcd`` module. ``hoomd.md`` must also be built.
(default: same as ``BUILD_MD``).
- ``BUILD_TESTING`` - When enabled, build unit tests (default: ``on``).
- ``CMAKE_BUILD_TYPE`` - Sets the build type (case sensitive) Options:

Expand Down
7 changes: 1 addition & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ else ()
option(BUILD_HPMC "Build the hpmc package" off)
endif()
option(BUILD_METAL "Build the metal package" on)
option(BUILD_MPCD "Build the mpcd package" ${BUILD_MD})

# Optionally use TBB for threading
option(ENABLE_TBB "Enable support for Threading Building Blocks (TBB)" off)
Expand All @@ -124,12 +125,6 @@ include(HOOMDPythonSetup)

include (hoomd-macros)

if (NOT ENABLE_HIP OR HIP_PLATFORM STREQUAL "nvcc")
option(BUILD_MPCD "Build the mpcd package" on)
else()
option(BUILD_MPCD "Build the mpcd package" off)
endif()

find_package(Eigen3 3.2 CONFIG REQUIRED)
if (Eigen3_FOUND)
find_package_message(EIGEN3 "Found eigen: ${Eigen3_DIR} ${EIGEN3_INCLUDE_DIR} (version ${Eigen3_VERSION})" "[${Eigen3_DIR}][${EIGEN3_INCLUDE_DIR}]")
Expand Down
6 changes: 2 additions & 4 deletions hoomd/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -143,8 +143,6 @@ set(_hoomd_headers
GPUArray.h
GPUFlags.h
GPUPartition.cuh
GPUPolymorph.h
GPUPolymorph.cuh
GPUVector.h
GSD.h
GSDDequeWriter.h
Expand Down Expand Up @@ -213,7 +211,7 @@ set(_hoomd_cu_sources BondedGroupData.cu
SFCPackTunerGPU.cu)

# add the MPCD base parts that should go into _hoomd (i.e., core particle data)
if (BUILD_MPCD AND (NOT ENABLE_HIP OR HIP_PLATFORM STREQUAL "nvcc"))
if (BUILD_MPCD)
list(APPEND _hoomd_sources
mpcd/ParticleData.cc
mpcd/ParticleDataSnapshot.cc
Expand Down Expand Up @@ -407,7 +405,7 @@ if (BUILD_METAL AND BUILD_MD)
add_subdirectory(metal)
endif()

if (BUILD_MPCD AND (NOT ENABLE_HIP OR HIP_PLATFORM STREQUAL "nvcc"))
if (BUILD_MPCD)
target_compile_definitions(_hoomd PUBLIC BUILD_MPCD)
add_subdirectory(mpcd)
endif()
Expand Down
105 changes: 0 additions & 105 deletions hoomd/GPUPolymorph.cuh

This file was deleted.

Loading