Skip to content

Commit

Permalink
Merge pull request #1784 from glotzerlab/mpcd-v4
Browse files Browse the repository at this point in the history
Reimplement MPCD for HOOMD 4
  • Loading branch information
joaander authored May 29, 2024
2 parents be621be + 751dc8b commit 41c78ab
Show file tree
Hide file tree
Showing 140 changed files with 5,495 additions and 4,100 deletions.
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

0 comments on commit 41c78ab

Please sign in to comment.