Skip to content

Commit 53077bb

Browse files
author
SchoeniPhlippsn
committed
Merge branch 'trunk-minor' into mesh_dynamic_bonding_v5
2 parents 9479b05 + 29e7820 commit 53077bb

27 files changed

+153
-62
lines changed

.bumpversion.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 5.3.0
2+
current_version = 5.3.1
33
commit = False
44
tag = False
55
parse = ^(?P<major>0|[1-9]\d*)\.(?P<minor>0|[1-9]\d*)\.(?P<patch>0|[1-9]\d*)(?:-(?P<prerelease>(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))(?:\.(?P<number>0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)))?$

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ body:
6060
attributes:
6161
label: HOOMD-blue version
6262
description: What version of HOOMD-blue are you using?
63-
placeholder: 5.3.0
63+
placeholder: 5.3.1
6464
validations:
6565
required: true
6666
- type: markdown

.github/ISSUE_TEMPLATE/release.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
name: Release checklist
33
about: '[for maintainer use]'
4-
title: 'Release 5.3.0'
4+
title: 'Release 5.3.1'
55
labels: ''
66
assignees: 'joaander'
77

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,14 @@ repos:
6868
hooks:
6969
- id: nbstripout
7070
- repo: https://github.com/astral-sh/ruff-pre-commit
71-
rev: 'v0.11.4'
71+
rev: 'v0.12.2'
7272
hooks:
7373
- id: ruff-format
7474
types_or: [python]
7575
- id: ruff
7676
types_or: [python]
7777
- repo: https://github.com/pre-commit/mirrors-clang-format
78-
rev: v20.1.0
78+
rev: v20.1.7
7979
hooks:
8080
- id: clang-format
8181
types_or: [c, c++, cuda, inc]

CHANGELOG.rst

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,24 @@ Change Log
44
5.x
55
---
66

7+
5.3.1 (2025-07-18)
8+
^^^^^^^^^^^^^^^^^^
9+
10+
*Fixed*
11+
12+
* Ensure that GPU devices have concurrent unified memory capabilities
13+
(`#2099 <https://github.com/glotzerlab/hoomd-blue/pull/2099>`__).
14+
* Fix segfault when attaching nlists with meshes
15+
(`#2089 <https://github.com/glotzerlab/hoomd-blue/pull/2089>`__).
16+
* Install cuh headers
17+
(`#2091 <https://github.com/glotzerlab/hoomd-blue/pull/2091>`__).
18+
* Reduce the time needed to generate mesh bonds
19+
(`#2097 <https://github.com/glotzerlab/hoomd-blue/pull/2097>`__).
20+
* Equations displayed in ``hoomd.hpmc.compute.SDF`` documentation
21+
(`#2096 <https://github.com/glotzerlab/hoomd-blue/discussions/2096>`__).
22+
* Support CUDA 12.9
23+
(`#2102 <https://github.com/glotzerlab/hoomd-blue/discussions/2102>`__).
24+
725
5.3.0 (2025-06-26)
826
^^^^^^^^^^^^^^^^^^
927

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ add_subdirectory (CMake)
1616

1717
################################
1818
## Version information
19-
set(HOOMD_VERSION_RAW "5.3.0")
19+
set(HOOMD_VERSION_RAW "5.3.1")
2020
string(REGEX MATCH "(.*)\\.(.*)\\.(.*)$" _hoomd_version_match ${HOOMD_VERSION_RAW})
2121
set(HOOMD_VERSION_MAJOR ${CMAKE_MATCH_1})
2222
set(HOOMD_VERSION_MINOR ${CMAKE_MATCH_2})

INSTALLING.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ channel:
2222

2323
.. code-block:: bash
2424
25-
micromamba install hoomd=5.3.0
25+
micromamba install hoomd=5.3.1
2626
2727
.. _conda-forge: https://conda-forge.org/docs/user/introduction.html
2828

@@ -32,7 +32,7 @@ appropriate package. Override this and force the GPU enabled package installatio
3232
.. code-block:: bash
3333
3434
export CONDA_OVERRIDE_CUDA="12.6"
35-
micromamba install "hoomd=5.3.0=*gpu*" "cuda-version=12.6"
35+
micromamba install "hoomd=5.3.1=*gpu*" "cuda-version=12.6"
3636
3737
.. note::
3838

@@ -43,7 +43,7 @@ Similarly, you can force CPU-only package installation with:
4343

4444
.. code-block:: bash
4545
46-
micromamba install "hoomd=5.3.0=*cpu*"
46+
micromamba install "hoomd=5.3.1=*cpu*"
4747
4848
.. note::
4949

hoomd/ExecutionConfiguration.cc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -388,8 +388,9 @@ void ExecutionConfiguration::scanGPUs()
388388
// exclude a GPU when it doesn't support mapped memory
389389
#ifdef __HIP_PLATFORM_NVCC__
390390
int supports_managed_memory = 0;
391-
cudaError_t cuda_error
392-
= cudaDeviceGetAttribute(&supports_managed_memory, cudaDevAttrManagedMemory, dev);
391+
cudaError_t cuda_error = cudaDeviceGetAttribute(&supports_managed_memory,
392+
cudaDevAttrConcurrentManagedAccess,
393+
dev);
393394
if (cuda_error != cudaSuccess)
394395
{
395396
s_gpu_scan_messages.push_back("Failed to get device attribute: "

hoomd/MeshGroupData.cc

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,8 @@ void MeshGroupData<group_size, Group, name, snap>::initializeFromTriangleSnapsho
122122

123123
std::vector<unsigned int> all_types;
124124

125+
unsigned int bond_idx = 0;
126+
125127
for (unsigned group_idx = 0; group_idx < snapshot.groups.size(); group_idx++)
126128
{
127129
std::vector<unsigned int> triag_tag(3);
@@ -165,19 +167,27 @@ void MeshGroupData<group_size, Group, name, snap>::initializeFromTriangleSnapsho
165167
if (bonds[j].tag[0] == all_helper[i].tag[0]
166168
&& bonds[j].tag[1] == all_helper[i].tag[1])
167169
{
168-
all_helper[i].tag[3] = bonds[j].tag[2];
170+
unsigned int find_idx = all_helper[i].tag[2];
171+
all_groups[find_idx].tag[3] = bonds[j].tag[2];
172+
173+
all_helper.erase(all_helper.begin() + i);
174+
i -= 1;
169175
bonds.erase(bonds.begin() + j);
170176
break;
171177
}
172178
}
173179
}
174180
for (unsigned int i = 0; i < bonds.size(); ++i)
175181
{
182+
all_groups.push_back(bonds[i]);
176183
all_helper.push_back(bonds[i]);
184+
long unsigned int all_helper_size = all_helper.size() - 1;
185+
all_helper[all_helper_size].tag[2] = bond_idx;
186+
bond_idx++;
187+
177188
all_types.push_back(snapshot.type_id[group_idx]);
178189
}
179190
}
180-
all_groups = all_helper;
181191

182192
#ifdef ENABLE_MPI
183193
if (this->m_pdata->getDomainDecomposition())

hoomd/WarpTools.cuh

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
#else
2525
#include <cub/warp/warp_reduce.cuh>
2626
#include <cub/warp/warp_scan.cuh>
27+
#include <cuda/std/type_traits>
2728
#endif
2829

2930
#ifndef __CUDACC_RTC__
@@ -89,7 +90,7 @@ class WarpReduce
8990
#ifdef __HIP_PLATFORM_HCC__
9091
return Reduce(input, hipcub::Sum());
9192
#else
92-
return Reduce(input, cub::Sum());
93+
return Reduce(input, ::cuda::std::plus<> {});
9394
#endif
9495
}
9596

@@ -108,7 +109,7 @@ class WarpReduce
108109
#ifdef __HIP_PLATFORM_HCC__
109110
return Reduce(input, hipcub::Sum(), valid_items);
110111
#else
111-
return Reduce(input, cub::Sum(), valid_items);
112+
return Reduce(input, ::cuda::std::plus<> {}, valid_items);
112113
#endif
113114
}
114115

@@ -154,8 +155,7 @@ class WarpReduce
154155
typedef hipcub::WarpReduce<T, LOGICAL_WARP_THREADS, PTX_ARCH>
155156
MyWarpReduce; //!< CUB shuffle-based reduce
156157
#else
157-
typedef cub::WarpReduce<T, LOGICAL_WARP_THREADS, PTX_ARCH>
158-
MyWarpReduce; //!< CUB shuffle-based reduce
158+
typedef cub::WarpReduce<T, LOGICAL_WARP_THREADS> MyWarpReduce; //!< CUB shuffle-based reduce
159159
#endif
160160
typedef typename MyWarpReduce::TempStorage
161161
TempStorage; //!< Nominal data type for CUB temporary storage
@@ -221,7 +221,7 @@ class WarpScan
221221
#ifdef __HIP_PLATFORM_HCC__
222222
InclusiveScan(input, output, hipcub::Sum());
223223
#else
224-
InclusiveScan(input, output, cub::Sum());
224+
InclusiveScan(input, output, ::cuda::std::plus<> {});
225225
#endif
226226
}
227227

@@ -239,7 +239,7 @@ class WarpScan
239239
#ifdef __HIP_PLATFORM_HCC__
240240
InclusiveScan(input, output, hipcub::Sum(), aggregate);
241241
#else
242-
InclusiveScan(input, output, cub::Sum(), aggregate);
242+
InclusiveScan(input, output, ::cuda::std::plus<> {}, aggregate);
243243
#endif
244244
}
245245

@@ -295,7 +295,7 @@ class WarpScan
295295
#ifdef __HIP_PLATFORM_HCC__
296296
ExclusiveScan(input, output, initial, hipcub::Sum());
297297
#else
298-
ExclusiveScan(input, output, initial, cub::Sum());
298+
ExclusiveScan(input, output, initial, ::cuda::std::plus<> {});
299299
#endif
300300
}
301301

@@ -314,7 +314,7 @@ class WarpScan
314314
#ifdef __HIP_PLATFORM_HCC__
315315
ExclusiveScan(input, output, initial, hipcub::Sum(), aggregate);
316316
#else
317-
ExclusiveScan(input, output, initial, cub::Sum(), aggregate);
317+
ExclusiveScan(input, output, initial, ::cuda::std::plus<> {}, aggregate);
318318
#endif
319319
}
320320

@@ -424,7 +424,7 @@ class WarpScan
424424
typedef hipcub::WarpScan<T, LOGICAL_WARP_THREADS, PTX_ARCH>
425425
MyWarpScan; //!< CUB shuffle-based scan
426426
#else
427-
typedef cub::WarpScan<T, LOGICAL_WARP_THREADS, PTX_ARCH> MyWarpScan; //!< CUB shuffle-based scan
427+
typedef cub::WarpScan<T, LOGICAL_WARP_THREADS> MyWarpScan; //!< CUB shuffle-based scan
428428
#endif
429429
typedef typename MyWarpScan::TempStorage
430430
TempStorage; //!< Nominal data type for CUB temporary storage

0 commit comments

Comments
 (0)