Releases: AMReX-Codes/amrex
Releases · AMReX-Codes/amrex
AMReX 26.06
What's Changed
- FFT Open BC Solver: Add assertion by @WeiqunZhang in #5405
- MLNodeLaplacian: route mknewu through anisotropic sigma path by @drummerdoc in #5380
- GNU Make documentation on MPI wrapper by @WeiqunZhang in #5431
- DistributionMapping: add early return to avoid undefined behavior by @WeiqunZhang in #5422
- AMRErrorTag: Fix comments and add assertion by @WeiqunZhang in #5420
- Remove duplicate AMREX_GPU_HOST_DEVICE by @WeiqunZhang in #5418
- Fix multiple calls of
ReduceOps::eval_mfby @WeiqunZhang in #5323 - CUDA: Prefer CUDART_VERSION for runtime API guards by @WeiqunZhang in #5402
- Fix deterministic GPU copy masks for non-atomic types by @WeiqunZhang in #5396
- Clang-Tidy: modernize-use-std-numbers by @WeiqunZhang in #5370
- CSR: Fix const CSR view return type by @WeiqunZhang in #5383
- Hypre CI: Test 3.1.0 by @WeiqunZhang in #5384
- FileSystem: Use std::filesystem by @WeiqunZhang in #5393
- GitLab CI: scope GitHub App credentials to status job by @WeiqunZhang in #5394
- MPMD: Guard missing MPI_APPNUM attribute by @WeiqunZhang in #5427
- Fix host-device flag macro wrapping by @WeiqunZhang in #5426
- Geometry: add comments to coarsen and refine by @WeiqunZhang in #5425
- Fix FabArrayCopyDescriptor AddBox forwarding by @WeiqunZhang in #5424
- Preserve keep-ratio mapping on small knapsack fallback by @WeiqunZhang in #5423
- Intel CI: Remove Wno-zero-length-array by @WeiqunZhang in #5421
- AMRErrorTag: keep thresholds in sync with info to improve robustness by @WeiqunZhang in #5419
- Check for failed integer vector I/O by @WeiqunZhang in #5415
- Fix recursive TinyProfiler BL_PROFILE_REGION's by @WeiqunZhang in #5413
- Use classic locale in Concatenate by @WeiqunZhang in #5412
- Documentation for SaveRandomState/RestoreRandomState by @WeiqunZhang in #5411
- Fix GPU version of FirstOrderExtrap with multiple layers of ghost cells by @WeiqunZhang in #5410
- Amr: improve documentation of plot variables by @WeiqunZhang in #5409
- Amr::derive: Better comments and assertions by @WeiqunZhang in #5408
- HDF5: Match SZ plotfile metadata to output precision by @WeiqunZhang in #5401
- PETScABecLap: add a missing streamSynchronize by @WeiqunZhang in #5400
- fsnapshot: Abort when no palette is found by @WeiqunZhang in #5399
- SUNDIALS: Fix slow MRI tolerances for fixed-step implicit modes by @WeiqunZhang in #5397
- Fix SUNDIALS integrator cleanup by @WeiqunZhang in #5395
- HIP: Finally implement isManaged and isGpuPtr by @WeiqunZhang in #5331
- Clang-Tidy: modernize-use-integer-sign-comparison by @WeiqunZhang in #5368
- Make Parser construction thread-safe by @WeiqunZhang in #5414
- Add HDF5 option to configure script and add environment variables for configuring HDF5 by @mcmehrtens in #5392
- Clang-Tidy: modernize-use-designated-initializers by @WeiqunZhang in #5371
- Parser: Update jn and yn by @WeiqunZhang in #5433
- Fix Coverity warning on copy instead of move by @WeiqunZhang in #5436
- add dummy argument to CreateLike for particle containers to match the… by @srichers in #5442
- SIMD: Add where and ternary operator by @ax3l in #5095
- Fix SIMD CI: Clang Tidy by @ax3l in #5448
- SIMD:
store_1dAddForceWritebackby @ax3l in #5437 - Fix dual grid restart when particles only on finest level by @atmyers in #5440
- gfx12xx (RDNA4) regex update by @wiersema1 in #5429
- Remove UB from three swapBytes overloads by @atmyers in #5444
- Runtime
amrex::Math::powiby @ax3l in #5446 - CTest: Disable CheckpointRestartDualGrid for GPU builds by @WeiqunZhang in #5449
- fix box_offsets calculation in MultiLevelToBlueprint by @cityadmirer in #5452
- generalize constants with Real() or _rt by @asalmgren in #5451
- Sphinx build: Stabilize PDF metadata across builds by @WeiqunZhang in #5447
- Doxygen: No need to copy most of the xml files. by @WeiqunZhang in #5453
- GNU Make: Fix AMD wavefron size for gfx12?? by @WeiqunZhang in #5455
- Documentation build: Separate build from deployment by @WeiqunZhang in #5458
- Add a link from amrex sphinx to amrex project web by @WeiqunZhang in #5460
- Make behavior of Partition and stablePartition consistent with docs by @atmyers in #5443
- Make RealBox::contains use a closed interval by @atmyers in #5445
- Fix index ordering convention in DenseBins and SparseBins. by @atmyers in #5441
- Concepts trial by @ThomasHowarth in #5434
- Fix cross-level rank lookup in sumNeighborsCPU by @desjardi in #5462
- Add physical search radius to NeighborParticleContainer by @desjardi in #5262
- Fix float conversion warnings by @WeiqunZhang in #5464
- Update CHANGES for 26.06 by @WeiqunZhang in #5465
New Contributors
- @mcmehrtens made their first contribution in #5392
- @srichers made their first contribution in #5442
- @wiersema1 made their first contribution in #5429
- @ThomasHowarth made their first contribution in #5434
Full Changelog: 26.05...26.06
AMReX 26.05
What's Changed
- Fix DistributionMapping::SFC_Threshold by @WeiqunZhang in #5250
- DistributionMapping: Fix comments by @WeiqunZhang in #5249
- ParallelAdd: Buffer unpacking should respect the deterministic flag by @WeiqunZhang in #5247
- FabArray::copyTo(FAB): Fix a memory leak by @WeiqunZhang in #5246
- SumBoundary: Add assertion on number of destination ghost cells by @WeiqunZhang in #5245
- FABio_8bit reader: Fix overflow by @WeiqunZhang in #5244
- SUNDIALS: Use ParallelContext's communicator by @WeiqunZhang in #5237
- SUNDIALS: Fix N_VInvTest_MultiFab by @WeiqunZhang in #5236
- Robustify AMREX_ASSUME by @WeiqunZhang in #5254
- AMREX_ENUM: Allow non-decimal base by @WeiqunZhang in #5251
- AmrMesh: Recompute roundoff domain for fine Geometry objects by @WeiqunZhang in #5248
- Doxygen LinearSolvers by @WeiqunZhang in #5233
- Doxygen HDF5 by @WeiqunZhang in #5231
- Doxygen SUNDIALS by @WeiqunZhang in #5230
- Doxygen Parser by @WeiqunZhang in #5229
- Add version of ParticleTile using runtime-only 2D array by @AlexanderSinn in #4404
- Add unset capability for ParmParse by @baperry2 in #5263
- Update to new rocsparse by @WeiqunZhang in #5207
- GNU Make: Update ifx options by @WeiqunZhang in #5242
- Add CI checking release numbers in CHANGES.md by @WeiqunZhang in #5271
- Remove un-needed streamSynchronize from unpackRemotes by @atmyers in #5260
- Fix HIP CI on HPSF GitLab by @WeiqunZhang in #5273
- Fix
PolymorphicArenaWrapperUse-After-Free by @ax3l in #5270 - Tests: Narrowing Warning in Advection by @ax3l in #5275
- Reduce memory usage in ReduceToPlaneMF2Patchy by @BenWibking in #5258
- avoid duplicate find_package(Conduit) by @charlesgwaldman in #5281
- Create symbolic link during install by @nischild in #5277
- TrackedVector by @ax3l in #5253
- Fix out-of-bounds access in amrex::bisect by @AlexanderSinn in #5284
- CMake: Smoke Test w/ Prefix & Stage by @ax3l in #5283
- Fix Wrong
noexceptPlacements by @ax3l in #5222 - Add an implementation of ParticleCopyPlan::doHandShake that uses one-sided communication from MPI-3 by @atmyers in #5227
- AmrMesh: Fix max_grid_size and blocking_factor checks by @WeiqunZhang in #5286
- Fix type in BndryDataT::setValue by @WeiqunZhang in #5285
- PhysBCFunct: Fix box index type by @WeiqunZhang in #5298
- Gpu::Buffer: Add comments about GPU launch region by @WeiqunZhang in #5297
- EB: Fix index bug in eb_interp_centroid2facecent_y by @WeiqunZhang in #5296
- StateData::restart: Need to initialize DistribuionMapping and Factory by @WeiqunZhang in #5295
- AsyncArray: Add a warning by @WeiqunZhang in #5294
- Robustify AmrLevel::get_data in case old_time == new_time by @WeiqunZhang in #5293
- Amr::Finalize: Clear state_small_plot_vars by @WeiqunZhang in #5292
- Amr::regrid used wrong
n_cycleindex for new levels by @WeiqunZhang in #5291 - EdgeFluxRegister: Fix comments by @WeiqunZhang in #5290
- Fix bug in InterpCrseFineBndryEMfield by @WeiqunZhang in #5289
- MFInterp quadratic slope: Fix index bugs by @WeiqunZhang in #5287
- Doxygen EB by @WeiqunZhang in #5210
- Fix comments for PreBuildDirectorHierarchy by @WeiqunZhang in #5299
- SUNDIALS: Fix bug in N_VConstrMask_MultiFab by @WeiqunZhang in #5302
- SUNDIALS: Fix bug in N_VMaxNorm_MultiFab by @WeiqunZhang in #5301
- FillPatchNLevels: Fix component bugs by @WeiqunZhang in #5288
- PlotFileData: Add refRatioVect by @WeiqunZhang in #5300
- Comments: Add warnings on MPI collectives by @WeiqunZhang in #5303
- Update AGENTS.md by @WeiqunZhang in #5304
- Refactor AmrMesh::MakeNewGrids by @WeiqunZhang in #5269
- EB: Fix typo in assertion by @WeiqunZhang in #5306
- Guard flag-dependent tests in CTest setup by @WeiqunZhang in #5305
- RealBox: Robustify operator>> by @WeiqunZhang in #5309
- Gpu::Buffer: Remove some noexcept's to allow for exceptions by @WeiqunZhang in #5307
- Remove deprecated GNU Make option: GPU_ERROR_CHECK by @WeiqunZhang in #5315
- Fix Hypre bug in 2D by @WeiqunZhang in #5314
- Hypre 3D: Fix index bug by @WeiqunZhang in #5313
- Add comments to prefetch functions by @WeiqunZhang in #5311
- Hypre 1D bug: Forgot to initialized diag_inv. by @WeiqunZhang in #5312
- Fix bug in AMREX_GPU_LAUNCH_DEVICE_LAMBDA_RANGE_3 by @WeiqunZhang in #5316
- SYCL: Fix potential resource leak in the large kernel path by @WeiqunZhang in #5317
- Linear Solver Tests: Loosen convergence tolerance for single precision by @WeiqunZhang in #5319
- AmrMesh::checkInput: No need to check blocking factor for single level by @WeiqunZhang in #5320
- Fix noexcept warnings by Coverity by @WeiqunZhang in #5321
- Robustify IntVect and RealVect read by @WeiqunZhang in #5310
- Fix CPU implementation of
Reduce::MinMax(n, ptr)by @WeiqunZhang in #5322 - Fix bug in Tests/ParmParse by @WeiqunZhang in #5324
- Align Arena allocations to 256 bytes by @AlexanderSinn in #5278
- RK: Add comments clarifying what callback should do by @WeiqunZhang in #5327
- Tests: Fix AMREX_HOME in some tests' gnu make file by @WeiqunZhang in #5325
- Add assertion to MultiFab and iMultiFab Copy by @WeiqunZhang in #5332
- RK2: pass time+dt as stage 2 time to the RHS function by @WeiqunZhang in #5326
- MFIter Tiling: Set a default tile size in MFItInfo::SetTiling(bool) by @WeiqunZhang in #5334
SmallMatrix:Omegaby @ax3l in #5330- EdgeFluxRegister: add plus() member function by @BenWibking in #5329
- Fix comments by @WeiqunZhang in #5341
- Fix typo in amrex_avgdown_edges by @WeiqunZhang in #5340
- Edge cases for boundary normal vector in coarsen_from_fine by @eebasso in #5352
- Add option to fill ghost cells in
average_cellcenter_to_faceby @BenDavisonPetch in #5345 - Remove noexcept from Vector's operator[] to allow for exception by @WeiqunZhang in #5356
- Remove amrex::IsStdVector by @WeiqunZhang in #5355
- Parser: Disallow setConstant and registerVariables after being compiled. by @WeiqunZhang in #5359
- Parser: Strip CR (\r) by @WeiqunZhang in #5357
- Parser: Add check for empty expression by @WeiqunZhang in #5358
- Fix in 2D set_eb_data that gave incorrect vcent and vfrac for anisotropic cells (dx =/= dy) by @eebasso in #5353
- Table::copy: add assertion by @WeiqunZhang in #5350
- Table: Fix missing template parameter by @WeiqunZhang in https://github.com/AMReX-...
AMReX 26.04
What's Changed
- Hypre: Remove unused code in HypreABecLap3 by @WeiqunZhang in #5099
- PETSc: Fix potential memory leak by @WeiqunZhang in #5097
- PETSc: Remove unused code by @WeiqunZhang in #5091
- PETSc: Use PetscInt by @WeiqunZhang in #5090
- FFT::Clear: Clear the map after the stored plans are destroyed by @WeiqunZhang in #5089
- Doxygen PETSc by @WeiqunZhang in #5087
- Doxygen Boundary by @WeiqunZhang in #5096
- FFT: Use ParallelContext's communicator by @WeiqunZhang in #5088
- Nosync broadly by @ax3l in #4957
- Hypre: Fix a typo in CMake by @WeiqunZhang in #5100
- Add new test and fix dual grid restart bug by @atmyers in #5075
- Use HYPRE capitalization consistently in Sphinx docs by @WeiqunZhang in #5071
- STL: Assert it's not empty by @WeiqunZhang in #5109
- EB: Validate lookup status in getLevel/getGeometry by @WeiqunZhang in #5107
- OpenBCSolver: Make
definesafer by @WeiqunZhang in #5129 - ReadAndBcastFile: Use the correct I/O process when sub-communicator is used. by @WeiqunZhang in #5131
- ParallelDescriptor: Avoid the non-standard variable-length array by @WeiqunZhang in #5130
- FabArrayCopyDescriptor: Add assertion by @WeiqunZhang in #5132
- Rename the
NonManagedVectortoNonManagedDeviceVectorby @ax3l in #5124 - Hypre: Remove unimplemented 1d functions to avoid confusion by @WeiqunZhang in #5103
- FillPatchSingleLevel: Robustify assertion by @WeiqunZhang in #5121
- AmrMesh: Validate input by @WeiqunZhang in #5119
- Fujitsu MPI: Fix potential null-dereference by @WeiqunZhang in #5122
- MultiMask: Fix initval for multiple components by @WeiqunZhang in #5118
- StateDescriptor: Add assertion by @WeiqunZhang in #5125
- StateDescriptor: Remove deprecated functions by @WeiqunZhang in #5126
- BndryData: Robustify reuse check by @WeiqunZhang in #5116
- SpMatrix: Add assertion in communication by @WeiqunZhang in #5128
- Update Fortran BC type module by @WeiqunZhang in #5113
- Marching Cubes: Fix GPU memcpy by @WeiqunZhang in #5110
- EB: Assert there is no int overflow by @WeiqunZhang in #5111
- AmrLevel::FillPatch: Fix assertion by @WeiqunZhang in #5127
- Boundary: Fix forward declarations by @WeiqunZhang in #5114
- COMM_PROFILING: Fix size bug by @WeiqunZhang in #5135
- ParallelDescriptor: Assert team size is positive by @WeiqunZhang in #5134
- LineDistFcnElement2d::single_seg_cpdist: Fix degenerate case by @WeiqunZhang in #5106
- HypOptParse: Remove operator()(key, func) by @WeiqunZhang in #5105
- Hypre: No need to call hypre if local row count is zero by @WeiqunZhang in #5104
- VisMF: Avoid UB-prone assertions on potentially empty strings by @WeiqunZhang in #5133
- FillPatcher: Robustify assertions by @WeiqunZhang in #5120
- BndryRegister: Make sure assertion does not access out-of-bound memory by @WeiqunZhang in #5112
- Mask: Fix writeOn/readFrom for multiple components by @WeiqunZhang in #5117
- FileSystem::Remove: Fix return value by @WeiqunZhang in #5136
- Workaround for deprecation warnings on Perlmutter by @atmyers in #5101
- Move PETSc Initialize and Finalize to amrex::Initialize and Finalize by @WeiqunZhang in #5098
- Fix caching mechanism for neighbor particle mask by @atmyers in #5080
- Fix restart where you lose a level and NReaders > NProcs() by @atmyers in #5074
- ParmParse: Add TOML-like features by @WeiqunZhang in #4950
- Parser: Improve documentation and fix minor issues with help from Claude by @WeiqunZhang in #5144
- ParmParse: Refactor countval for TOML arrays by @WeiqunZhang in #5143
- Fix a warning in Fortran module by @WeiqunZhang in #5142
- Add Gpu::isStreamActive function by @WeiqunZhang in #5139
- Add FillBoundaryAndSync(Vector) by @WeiqunZhang in #5138
- Parser optimization by Claude by @WeiqunZhang in #5146
- ParmParse: Improve documentation and comments by @WeiqunZhang in #5148
- ParmParse: Support query/get a specific element from TOML array. by @WeiqunZhang in #5149
- Fix bug in
bisectby @WeiqunZhang in #5167 - Fix assertion in bisect by @WeiqunZhang in #5169
- Fix BaseFab::contains by @WeiqunZhang in #5171
- HDF5: Fix missing GPU device-to-host_copy in writing plotfile by @WeiqunZhang in #5174
- BLBackTrace: Fix null terminator by @WeiqunZhang in #5173
- Fix typo in N_VConstrMask_MultiFab by @WeiqunZhang in #5175
- SUNDIALS: Fix memory leak in N_VWL2Norm_MultiFab by @WeiqunZhang in #5177
- SUNDIALS: Fix a memory leak in N_VDestroy_MultiFab by @WeiqunZhang in #5176
- SUNDIALS: remove MemoryHelper's move operator= by @WeiqunZhang in #5178
- ParmParse: Fix printing TOML array by @WeiqunZhang in #5180
- ParmParse: accept true/false t/f for int keys by @charlesgwaldman in #5150
- Fix hidden direction support for multilevel composite solves by @desjardi in #5141
- Fix resource leaks in ParticleContainer::RestartHDF5 by @atmyers in #5185
- Fix InitFromBinary for the case that NP % NReaders != 0 by @atmyers in #5184
- Fix HDF5 handle leaks in early exits by @atmyers in #5187
- Make sure number of neighbor particles is preserved on swap by @atmyers in #5186
- ParmParse: Preserve quotes when printing strings by @WeiqunZhang in #5188
- Managed Arena: Do not pre-allocate if managed memory is not supported. by @WeiqunZhang in #5183
- Doxygen AmrCore by @WeiqunZhang in #5179
- Parser: fix self assignment of locals by @WeiqunZhang in #5189
- Doxygen Amr by @WeiqunZhang in #5190
- Fix Dual Grid restart with HDF5 format by @atmyers in #5137
- Fix tracer particle Timestamp to respect indices argument by @atmyers in #5194
- Fix empty vector dereference in HDF5 particle IO by @atmyers in #5195
- Add a comment to selectActualNeighbors by @atmyers in #5193
- Avoid clang warnings with -Wshadow-field by @charlesgwaldman in #5197
- ParmParse::add: Improve TOML compatibility by @WeiqunZhang in #5196
- Filter transform fix by @atmyers in #5192
- Add comment that is safe to assume divisors are not zero in tracer mod by @atmyers in #5198
- Clean up RedistributeCPU by @AlexanderSinn in #4529
- Add external GPU stream override support by @WeiqunZhang in #5199
- Fix GCC warning in AllGatherBoxes by @AlexanderSinn in #5203
- Bump dorny/paths-filter from 3 to 4 by @dependabot[bot] in #5202
- Fix assertions in particle IO to include runtime int comps by @atmyers in #5205
- Avoid u...
AMReX 26.03
What's Changed
- Fix access specifier with HDF5 enabled by @gardner48 in #4921
- ParmParse: Add support for AMREX_USE_GPU macro by @WeiqunZhang in #4927
- Added multi-array version of
EBDataby @ankithadas in #4929 - CI: Enable MPI in CUDA test on Windows by @WeiqunZhang in #4869
- Reducer: New wrapper class for ReduceOps and ReduceData by @WeiqunZhang in #4933
- Add more Doxygen comments to Array4 by @WeiqunZhang in #4935
- Generalize SIMD Single Source Design by @ax3l in #4924
- Add more doxygen comments to Array by @WeiqunZhang in #4937
- Use Clang-Tidy 21 in CIs by @WeiqunZhang in #4939
FindAMReXFFTW.cmakeSupport Native Threading by @ax3l in #4934- FFTW CMake: Hint More Lib Paths (Windows) by @ax3l in #4940
- Test: SIMD by @ax3l in #4938
- Protect from using MarchingCubes if not 3D by @cgilet in #4946
- ParticleContainerToBlueprint: Allocator (2) by @ax3l in #4948
- Fix: AMReX w/ OpenMP and Ignore FFTW OMP by @ax3l in #4941
- SENSEI: Allocator by @ax3l in #4949
- SYCL: Add a new path for big kernels by @WeiqunZhang in #4952
- Guard againt potential OOB error in ParticleContainer OK() by @cgilet in #4951
- Respect NoSync region in FabArray::Copy and setBndry by @WeiqunZhang in #4955
- CI: Fix clang-tidy cache by @WeiqunZhang in #4944
- Doc: Details on
AMREX_DEFAULT_INITby @ax3l in #4974 - Doxygen FFT by @WeiqunZhang in #4975
- prevent auto-converting const char * to bool in ParmParse::add by @charlesgwaldman in #4969
- Fix (currently latent) bug with Particles + tiling + GPU by @atmyers in #4973
- Fix (currently latent) bug with pure SoA particles if periodic_shift … by @atmyers in #4972
- Fix particle communication bug when calling RedistributeCPU but with … by @atmyers in #4970
- Follow-on to #4973 by @atmyers in #4978
- Fix host_idcpu to use finest_level_in_file when restarting [Particles] [IO] by @atmyers in #4971
- [LinearSolvers] Fix bug in setBCoeffs(Vector) by @WeiqunZhang in #4968
- [LinearSolvers][1D Overset] Fix missing component index by @WeiqunZhang in #4967
- Add Gpu::SyncAtExit and Gpu::streamSyncActive by @WeiqunZhang in #4956
- NonLocalBC: Fix Boolean condition by @WeiqunZhang in #5065
- Fix SYCL device property init by @WeiqunZhang in #5066
- BaseFab::indexFromValue: Fix index typo by @WeiqunZhang in #5067
- EB VTK writer: Fix attribute name by @WeiqunZhang in #5069
- AmrMesh: Fix invalid iterator range by @WeiqunZhang in #5068
- add ReduceToPlaneMF2Patchy by @BenWibking in #4958
- Improve clarity of AMR assign grid function by @atmyers in #5072
- Use Long instead of int for maxnextid in pre/post particle IO by @atmyers in #5073
- Fix sub-communicator in CPU fillNeighbors() by @atmyers in #5077
- assert that pureSoA containers have at least SpaceDim real components by @atmyers in #5076
- Use size_t instead of int for buffer offset in CPU fillNeighbors by @atmyers in #5078
- Print/PrintToFile: Fix potential MPI_Comm issue by @WeiqunZhang in #5079
- Doxygen HYPRE by @WeiqunZhang in #5070
- AllGatherBoxes: Fix MPI type by @WeiqunZhang in #5081
- SUNDIALS alloc-failure-output-pointer by @ajnonaka in #5094
- SUNDIALS Stale Flag by @ajnonaka in #5092
- Fix impicit MRI configuration calls by @gardner48 in #5093
- PoissonHybrid: Validate length of dz by @WeiqunZhang in #5085
- R2X: Assert zero-based domain indexing by @WeiqunZhang in #5084
- FFT: Early abort for unsupported path by @WeiqunZhang in #5083
- 1D CurlCurl: Update variable beta smoother for consistence by @WeiqunZhang in #5082
- Fix GPU memory issue in the ReduceToPlanePatchy test by @WeiqunZhang in #5086
- Update CHANGES for 26.03 by @WeiqunZhang in #5102
Full Changelog: 26.02...26.03
AMReX 26.02
What's Changed
- Correct verbose output with SUNDIALS MRI methods by @gardner48 in #4876
- Use PolymorphicArenaAllocator in the SOAParticle test by @atmyers in #4859
- FFTW: Always initialize FFTW for users when OMP is on by @WeiqunZhang in #4861
- Linear solver documentation: Add curl-curl, open bc and gmres by @WeiqunZhang in #4815
- Doxygen: Remove Fortran by @WeiqunZhang in #4879
- CI: Zenodo Validator by @ax3l in #4878
- Doxygen: Add topics by @WeiqunZhang in #4881
- Move MF ParallelFor out of namespace experimental by @WeiqunZhang in #4887
- Doxygen: Hide classes and functions that are implementation details by @WeiqunZhang in #4886
- Doxygen: Add topic Utilities by @WeiqunZhang in #4889
- Remove uses of Box range version of amrex::launch by @AlexanderSinn in #4890
- Remove identity Lambdas in amrex::launch by @AlexanderSinn in #4891
- ReduceOps.eval with BoxND by @AlexanderSinn in #4875
- Reuse GPU tags in
MLEBABecLap::applyBC()by @ankithadas in #4882 - MFIter: Device sync optimization by @WeiqunZhang in #4897
- Fix a bug introduced in #4897 by @WeiqunZhang in #4898
- Convert Array4 to ArrayND by @ankithadas in #4868
- DistributionMapping: ConvertCostFromRealToLong by @WeiqunZhang in #4894
- Make
IntVectNDfunctions constexpr by @ankithadas in #4905 - MakeNewGrids: param to set number of grid iterations by @BenWibking in #4903
- Reuse Gpu tags in
MLCellLinOp::applyBC()by @ankithadas in #4899 - FFTW: Remove cleanup to avoid potenial issues by @WeiqunZhang in #4908
- ArrayND: Add specialization for Array4 by @WeiqunZhang in #4900
- Fix bug in multi-ghost FillBoundary for the Alamo code by @WeiqunZhang in #4906
- EB: First batch of Marching Cubes by @WeiqunZhang in #4778
- SpMatrix: Generalize to rectangular shape and add transpose function by @WeiqunZhang in #4870
- ParmParse: Print parsed values as comments in prettyPrint by @WeiqunZhang in #4827
- Reserve space in particle redistribution by @WeiqunZhang in #4731
- Reapply "add a dependabot.yml to checkout github actions versions (#3704)" (#3710) by @WeiqunZhang in #4909
- CI: Update ccache by @WeiqunZhang in #4910
- Bump Jimver/cuda-toolkit from 0.2.19 to 0.2.30 by @dependabot[bot] in #4911
- Bump github/codeql-action from 3 to 4 by @dependabot[bot] in #4912
- Bump actions/cache from 4 to 5 by @dependabot[bot] in #4914
- Bump JamesIves/github-pages-deploy-action from 4.5.0 to 4.8.0 by @dependabot[bot] in #4915
- CI: Restrict push triggered runs to development branch by @WeiqunZhang in #4916
- CSR: Miss streamSynchronize in SYCL version of sortCSR by @WeiqunZhang in #4917
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #4913
- Doxygen: Add topic on memory arenas and allocators by @WeiqunZhang in #4918
- GitHub Actions: Ignore 'dependabot/**' branches by @WeiqunZhang in #4919
- AMREX_HOST_DEVICE_FOR_[34]D_FLAG: Pass by reference in CPU code by @WeiqunZhang in #4920
- Update CHANGES for 26.02 by @WeiqunZhang in #4932
Full Changelog: 26.01...26.02
AMReX 26.01
What's Changed
- Add amrex::Gpu::freeAsync by @AlexanderSinn in #4804
- Hypre iterative ILU features by @itopcuoglu in #4818
- Fix comparison with zero warning by @atmyers in #4828
- Workaround for MPICH MPIX_Query_cuda_support assertion error by @WeiqunZhang in #4824
- FFT::PoissonHybrid: Fix cases with nx or ny being 1 by @WeiqunZhang in #4829
- Update CONTRIBUTING.md for whitespace policy by @WeiqunZhang in #4833
- Improve out of memory error message by @AlexanderSinn in #4831
- clear freeAsync buffer before allocating new memory by @AlexanderSinn in #4832
- Generalize diffmultifab routine to allow for different BoxArrays cove… by @asalmgren in #4836
- Add SArena: The_Arena wrapper using Gpu::freeAsync by @AlexanderSinn in #4835
- MLMG: Fix a Few MF Includes by @ax3l in #4841
- Gitlab CI: PR title must be properly escaped by @WeiqunZhang in #4845
- fix:
SpMatrix::prepare_commin case of no communication necessary by @julien-fausty-gev in #4844 - CUDA_ARCH for SUNDIALS build by @ajnonaka in #4846
- Workaround for MSVC by @WeiqunZhang in #4842
- Update GPU section of the documentation by @atmyers in #4816
- Improve documentation of OverrideSync by @EZoni in #4849
- Documentation: GPU Synchronization Behavior by @WeiqunZhang in #4851
- Update CITATION by @asalmgren in #4852
- Refactor EB slope functions by @WeiqunZhang in #4853
- Refactor EB slope functions again by @WeiqunZhang in #4854
- AlgVector: Fix printToFile for CPU builds by @WeiqunZhang in #4843
- Deterministic MLMG by @chongchonghe in #4855
- Update GNUMake for Catalyst 2.0 by @jordanm304 in #4863
- add amrex::Math::exp10() by @zingale in #4864
- Parser: Fix bugs in optimization by @WeiqunZhang in #4866
- Update CHANGES for 26.01 by @WeiqunZhang in #4874
New Contributors
- @itopcuoglu made their first contribution in #4818
- @julien-fausty-gev made their first contribution in #4844
- @EZoni made their first contribution in #4849
- @chongchonghe made their first contribution in #4855
Full Changelog: 25.12...26.01
AMReX 25.12
What's Changed
- Fix PODVector shrink_to_fit() with nonzero size by @AlexanderSinn in #4748
- Minor optimization of ReduceToPlaneMF2 by @WeiqunZhang in #4745
- Refactor MLStateRedist to run faster when many cells have no nbors by @asalmgren in #4742
- Fix cmake options table in documentation by @atmyers in #4749
- amrex::Initialize: Add optional argument of device ID by @WeiqunZhang in #4741
- Catch Sphinx build errors in CI by @atmyers in #4751
- use atomic add in SRD algorithm by @asalmgren in #4754
- PODVector: Add extra capacity by @WeiqunZhang in #4734
- Remove old Fortran style from particle-mesh documentation by @atmyers in #4761
- Add information about generating particles for GPU codes to the docs by @atmyers in #4760
- Add GrowthStrategy argument to PODVector resize and reserve by @AlexanderSinn in #4763
- Add ParmParse::Add for AMREX_NUM by @WeiqunZhang in #4765
- Make htod_memcpy_async available on CPU by @AlexanderSinn in #4640
- AMREX_ENUM: Fix enumerator = int by @WeiqunZhang in #4766
- Doc:
AMREX_ENUMFunctions by @ax3l in #4764 - Fix a typo in Doxygen for enableFPExcept by @WeiqunZhang in #4768
- ParmParse cpp no const by @ax3l in #4769
- Modernize nvtx3 Include by @ax3l in #4774
- Update particle docs for expanded idcpu range by @atmyers in #4758
- Add section on pure SoA particles to documentation by @atmyers in #4759
- Add amrex::Math::rsqrt by @AlexanderSinn in #4777
PC::make_alike<Allocator>Change Default by @ax3l in #4771- CI: Free disk space in CUDA CIs by @WeiqunZhang in #4781
- ParticleContainerToBlueprint: Allocator by @ax3l in #4776
- Add Amr::derive overloads for all levels by @mirenradia in #4780
- Restart w/ out-of-bounds Particles by @ax3l in #4783
- [Docs] Use scrollbar when table is too wide. by @atmyers in #4784
- Environment variable: AMREX_THE_ARENA_INIT_SIZE by @WeiqunZhang in #4786
- Fix a few CI tests for single precision by @WeiqunZhang in #4785
- Add HPSF GitLab CI by @WeiqunZhang in #4788
- Enable Intel in GitLab CI by @WeiqunZhang in #4789
- Add index and size information to Vector assertion message by @WeiqunZhang in #4790
- Add a note describing the GitLab CI setup by @WeiqunZhang in #4791
- Re-enable some SYCL tests by @WeiqunZhang in #4792
- Gitlab CI: Simplify status checker sleep logic by @WeiqunZhang in #4793
- Add int overflow assert to PrefixSum by @AlexanderSinn in #4794
- Use GitHub App to report CI status by @WeiqunZhang in #4796
- GitLib CI: Fix CI status check by @WeiqunZhang in #4798
- GitLab CI: No need to wait for gitlab pipeline to finish by @WeiqunZhang in #4797
- RNG on GPU: Assertion it's not in OMP parallel region by @WeiqunZhang in #4799
- [WIP] Fix loop bounds in selectActualNeighbors by @atmyers in #4809
- Mention that particles with invalid ids are removed by default and be explicit about allowed ranges by @atmyers in #4807
- Fix copy/paste error in ParticleInterpolator docstrings by @atmyers in #4808
- Add an FAQ entry about a certain GPU-aware MPI error by @jrood-nrel in #4811
- Add partitionParticles version that skips reduction by @AlexanderSinn in #4803
- Fix compile error with Conduit + Particles by @jordanm304 in #4813
- Notes on how agglomeration works in MLMG by @ajnonaka in #4602
- Update CHANGES for 25.12 by @WeiqunZhang in #4823
Full Changelog: 25.11...25.12
AMReX 25.11
What's Changed
- Add function transposeCtoF for transposing multi-d array by @WeiqunZhang in #4681
- EB: Fix corner case by @WeiqunZhang in #4687
- Fix Windows/MSVC members of template class and include for C++20 by @ffambri in #4688
- Fix compilation issue for old CUDA arch on Windows by @WeiqunZhang in #4686
- Allow hypre and petsc in 1d build by @WeiqunZhang in #4682
- Add GNUMake changes for building on Tuolumne (LLNL) by @dpgrote in #4691
- Hypre & PETSc in 1d build by @WeiqunZhang in #4692
- SumBoundary reimplementation by @WeiqunZhang in #4658
- Remove Codeplay CIs by @WeiqunZhang in #4696
- fix spelling, remove misspelled words from .codespell-ignore-words by @charlesgwaldman in #4699
- Fix a 1d bug in #4658 by @WeiqunZhang in #4700
- CUDA CI: Add -Werror=deprecated-declarations by @WeiqunZhang in #4702
- OpenBC FFT Solver: Fix 2d mode bug by @WeiqunZhang in #4703
- Reduce::MinMax: fix function name by @WeiqunZhang in #4704
- Improve usability of amrex::Gpu::Buffer by @AlexanderSinn in #4697
- Fix a bug in EB FillPatch for face MultiFab by @WeiqunZhang in #4705
- Improve ParReduce doxygen documentation by @WeiqunZhang in #4707
- Add reserve methods to ParticleTile, ArrayOfStructs, and StructOfArrays by @atmyers in #4708
- Update out of memory error message by @WeiqunZhang in #4709
- CHANGES -> CHANGES.md for better fomratting by @WeiqunZhang in #4713
- Add OpenSSF Best Practices badge by @WeiqunZhang in #4711
- Add SECURITY.md by @WeiqunZhang in #4712
- Add Build with Explicit Multi-Level Geometry for EB by @jmsexton03 in #4714
- Allow std::string "name" arguments for ParmParse methods by @charlesgwaldman in #4695
- Fix a typo in documentation by @WeiqunZhang in #4717
- Parser: minor update by @WeiqunZhang in #4718
- Robustify file renaming by @WeiqunZhang in #4721
- Minor Updates by @WeiqunZhang in #4723
- align fcompare behavior with particle_compare when metadata differ by @BenWibking in #4724
- VisMF::Read: Allow different number of ghost cells by @WeiqunZhang in #4725
- Remove final on Fapply, Fsmooth, FFlux, normalize, supportNSolve by @cgilet in #4727
- Cray MPICH/ROCm compatibility for GPU-aware MPI by @jaharris87 in #4729
- FFT hybrid Poisson solver: Add support for batched 2d solves by @WeiqunZhang in #4732
- Fix unused parameter warnings by @jrood-nrel in #4736
- Fix documentation of Print(rank) by @WeiqunZhang in #4740
- Make transposeCtoF asynchronous by @WeiqunZhang in #4738
- Allow C++20 HIP builds by @BenWibking in #4739
- Updates for oneAPI 2025.03 by @WeiqunZhang in #4730
- Update CHANGES for 25.11 by @WeiqunZhang in #4747
New Contributors
Full Changelog: 25.10...25.11
AMReX 25.10
What's Changed
- Fix ToString for old compiler by @AlexanderSinn in #4638
- Curl Curl Solver: Support for 1D spherical and 1D cylindrical by @WeiqunZhang in #4611
- Remove sycl::nd_item<1> from TagParallelFor interface by @AlexanderSinn in #4646
- Instructions for loading non plt-prefix plotfiles in paraview by @ajnonaka in #4651
- Fix for CUDA 13 by @WeiqunZhang in #4648
- ParmParse: Add prettyPrintUsedInputs and prettyPrintUnusedInputs by @WeiqunZhang in #4652
- Print out hypre version by @victorapm in #4650
- Updated applyBC to use ParallelFor on Vector of tags for GPU builds by @ankithadas in #4619
AMREX_ENUM: Cache String Map by @ax3l in #4643- AMReX Enum: Underlying Value by @ax3l in #4616
- AMREX_ENUM: getEnumNameValuePairs returns by const& instead of value by @WeiqunZhang in #4654
- Use
p.id().is_valid()consistently by @AlexanderSinn in #4635 - Fix various Doxygen issues by @WeiqunZhang in #4633
- Adding support to memory collection of Particles and MultiFabs within a grid by @jessdagostini in #4629
- HIP CI: Switch to 7.0 in two tests by @WeiqunZhang in #4662
- Disable Codeplay CIs by @WeiqunZhang in #4665
- Add range-based for and ND to BoxIterator by @AlexanderSinn in #4668
- Remove no-op Fortran *_destroy blocks (#4666) by @zjibben in #4667
- OpenBC FFT Solver: Fix a 2d mode bug. by @WeiqunZhang in #4671
- add support for make flags to the build info script by @zingale in #4672
- GNU Make: Add new option DEBUG_OPT_LEVEL by @WeiqunZhang in #4674
- Update CHANGES for 25.10 by @WeiqunZhang in #4690
New Contributors
- @victorapm made their first contribution in #4650
- @jessdagostini made their first contribution in #4629
Full Changelog: 25.09...25.10
AMReX 25.09
What's Changed
- Modify how we interpolate velocity from faces to particle position; f… by @asalmgren in #4598
- Delete outdated statement in Particle documentation by @BenWibking in #4596
- SIMD: Remove Unnecessary Namespaces by @ax3l in #4600
- Improvements to AMREX_ASSERT by @AlexanderSinn in #4581
- Add ParallelForOMP by @WeiqunZhang in #4595
- Add ToString function for array and tuple by @AlexanderSinn in #4584
- Fix ParallelForOMP introduced in #4595 by @WeiqunZhang in #4604
- Improve support for Particles with PolymorphicArenaAllocator by @AlexanderSinn in #4603
- Rename some CI names by @WeiqunZhang in #4608
- SIMD: Portable Masks, C++20 by @ax3l in #4607
- Add ParamParse::getPrefix by @WeiqunZhang in #4612
- Enable zero-sized Type in TypeMultiplier by @AlexanderSinn in #4617
- Bump up checkout action version by @WeiqunZhang in #4614
- Fix potential false sharing in ReduceOps.eval with OMP by @AlexanderSinn in #4618
- Enable OpenMP in addParticles by @atmyers in #4615
- Add explanatory comment to ParticleReduce by @atmyers in #4620
- Delay some synchronize calls in addParticles by @atmyers in #4623
- Fallback to default
CUDA_ARCHifnvidia-smifails by @hafeoz in #4624 - fix atomicSetID wrapper access by @jmsexton03 in #4625
- generalize the average_*_to_cellcenter routines to take IntVect ngrow… by @asalmgren in #4627
- Incorrect cross term sum for 2D EB terms in MLEBTensor by @ankithadas in #4626
- amrex::callNoinline: Call given function without inline by @WeiqunZhang in #4606
- Fix Bug in FaceConservativeLinear by @WeiqunZhang in #4630
- Fix a bug in #4623 by @WeiqunZhang in #4631
- Update CHANGES for 25.09 by @WeiqunZhang in #4639
New Contributors
Full Changelog: 25.08...25.09