Repository navigation
AMReX 26.10
·
137 commits
to development
since this release
What's Changed
- MLEBNodeFDLaplacian::compGrad: make it safe for WarpX auto-tuner by @WeiqunZhang in #5651
- Make the Stochastic Heat Equation CI test shorter by @atmyers in #5650
- Implement MLEBNodeFDLaplacian::fillIJMatrix and fillRHS by @roelof-groenewald in #5649
- Fix ParmParse Leaks Tables Between Init/Finalize Cycles by @ax3l in #5663
- Index-based mlebabeclap_adotx kernel by @ankithadas in #5619
- Index-based mlebabeclap_gsrb kernel by @ankithadas in #5620
- Make STL geometry independent of BVH optimization by @ankithadas in #5618
- Warnings: CXX23 Features by @ax3l in #5653
- SYCL: give each device RNG engine its own window of the Philox stream by @WeiqunZhang in #5662
- Fix MLEBNodeFDLap for the case where STL triangle vertex exactly lands on nodal point by @atmyers in #5666
- Skip NodalPoissonEB_STL ctest in single precision by @WeiqunZhang in #5672
- MLMG: sync duplicated nodal DOFs in MLNodeLinOp::applyBC by @WeiqunZhang in #5657
- Fix particle transformation issues by @atmyers in #5892
- Support disabling FP exception traps on macOS by @WeiqunZhang in #5893
- MLMG: restore nodalSync at the end of the nodal smoothers by @WeiqunZhang in #5897
- Honor subDirPrefix in PreBuildDirectorHierarchy by @WeiqunZhang in #5871
- Guard STL BVH against unbuilt or too-deep tree by @WeiqunZhang in #5891
- Fix several minor defects in Amr by @WeiqunZhang in #5890
- Guard the 32-bit item count in CSR::sort by @WeiqunZhang in #5889
- Fix Message::wait, SYCL warpDim, and fillAsync for odd-sized types by @WeiqunZhang in #5888
- Reset Parser/IParser state when compilation fails by @WeiqunZhang in #5887
- Fix TimeIntegrator default ctor and callback initialization by @WeiqunZhang in #5886
- Sync all streams in loadVectors before HYPRE/PETSc read the vectors by @WeiqunZhang in #5885
- Fix component count and memory leak in SDC, and require double precision by @WeiqunZhang in #5884
- Fix EBFluxRegister coarse add for a coarse cell between two fine grids by @WeiqunZhang in #5878
- Clamp the EB bounding box per direction in FillImpFunc by @WeiqunZhang in #5875
- Flush STL stream before passing the write token in MC::write_stl by @WeiqunZhang in #5872
- Use cell-domain period for periodic shifts in FixUpPhysCorners by @WeiqunZhang in #5873
- Assert AmrLevel FillPatcher preconditions by @WeiqunZhang in #5874
- Use finite covered-face sentinels in EB face interpolation by @WeiqunZhang in #5876
- Guard ParmParse against malformed inputs and empty file prefix by @WeiqunZhang in #5877
- Honor caller-supplied pmap in Amr::defBaseLevel by @WeiqunZhang in #5879
- Reset StateData's preread FabArray header map pointer on restart exit by @WeiqunZhang in #5880
- Zero all components on covered FABs in EB_average_face_to_cellcenter by @WeiqunZhang in #5881
- EB2: build levels on the sub-communicator, not the world one by @WeiqunZhang in #5882
- Guard null message and out-of-range argument index by @WeiqunZhang in #5883
- feat(mempool): add arena alloc/dealloc for Fortran logical arrays by @Andris-R in #5896
- Add LLVM Flang CI by @muk2 in #5614
- CI: add a single precision GCC job that runs ctest by @WeiqunZhang in #5895
- Fix
Random()build on 32-bit x86 (x87 excess precision) by @ax3l in #5902 - CMake: support LLVMFlang in the compiler flag targets by @WeiqunZhang in #5901
- Fix: Polymorphic PC Write Plotfile w/ Runtime Arguments on GPU by @ax3l in #5904
- GNU Make: fix COMP=llvm-flang for modern LLVM Flang by @WeiqunZhang in #5900
- Derive Fortran type sizes instead of hardwiring them by @WeiqunZhang in #5899
- Remove BL_COALESCE_FABS by @WeiqunZhang in #5898
- Fix the 1D nodal slope index and guard the limiter divides by @WeiqunZhang in #5868
- Fix TagBoxArray buffer(), collate() and coarsen() by @WeiqunZhang in #5866
- Use AMR refinement ratio when averaging down eb_phi and kappa by @WeiqunZhang in #5865
- Fix singular-flag detection in MLALaplacian and MLEBABecLap by @WeiqunZhang in #5867
- MLNodeLaplacian: use per-direction sigma only when the solve does by @WeiqunZhang in #5863
- STL: make EB intersection tolerances scale with the geometry by @WeiqunZhang in #5870
- Fix face-data FillPatch dcomp, interp region, mask comps and 1D nodal by @WeiqunZhang in #5869
- Fix MFInterpolater GPU slope scratch for ghosted coarse data by @WeiqunZhang in #5864
- Fix use-after-free when PODVector value argument aliases the vector by @WeiqunZhang in #5862
- Stage Mask stream I/O through pinned memory in GPU builds by @WeiqunZhang in #5861
- Fix MLABecLaplacian NSolve operator for multi-component and Poisson by @WeiqunZhang in #5860
- Fix 2D EB nodal RHS from a cell-centered source by @WeiqunZhang in #5859
- Fix 2D RZ nodal divergence masks and gradient sign by @WeiqunZhang in #5858
- Fix RZ inhomogeneous Neumann fluxes and guard MLPoisson overset by @WeiqunZhang in #5857
- Fix bisect losing the root when the sign-test product underflows by @WeiqunZhang in #5856
- SYCL: do not dereference the device functor pointer on the host by @WeiqunZhang in #5855
- Fix SYCL block reduction for large numbers of sub-groups by @WeiqunZhang in #5854
- Agglomeration BoxArray: Avoid chopping small narrow domain. by @WeiqunZhang in #5655
- BLProfiler: give each BL_PROFILE_REGION a unique variable name by @WeiqunZhang in #5661
- EB: build the face-centered cell flags from the face-centered data by @WeiqunZhang in #5675
- Fix HIP deprecated-attribute warning on deduction guides by @WeiqunZhang in #5677
- Fix routines that ignore the requested component sub-range by @WeiqunZhang in #5688
- HYPRE: do not hand out pointers to storage that goes away by @WeiqunZhang in #5828
- Fix FFT::OpenBCSolver in 2D and for a shifted twod_mode domain by @WeiqunZhang in #5827
- Fix tridiagonal system for spline tangents by @WeiqunZhang in #5826
- Fix dangling EB IndexSpace pointer in addFineLevels by @WeiqunZhang in #5825
- Use atomic add for drho_as_crse and dm_as_fine in state redistribution by @WeiqunZhang in #5824
- Fix VisMF::AsyncWrite FabOnDisk offsets by @WeiqunZhang in #5823
- Fix marching cubes c-vertex indexing by @WeiqunZhang in #5822
- Fix GMRES iteration cap and MLCGSolver early return by @WeiqunZhang in #5821
- Do not tile when adding EdgeFluxRegister fine registers by @WeiqunZhang in #5820
- Fix component counts in MLMG Robin terms and getFluxes by @WeiqunZhang in #5819
- Fix box extents in InterpCrseFineBndryEMfield by @WeiqunZhang in #5818
- Fix MLABecLaplacian semi-coarsening line-solve smoother by @WeiqunZhang in #5817
- Give GPU pack/unpack metadata that matches the comm buffers by @WeiqunZhang in #5816
- Update FaceDivFree refinement ratio documentation by @WeiqunZhang in #5756
- Check optional solver arguments before using them by @WeiqunZhang in #5755
- Use ParallelContext ranks and communicators consistently by @WeiqunZhang in #5690
- Fix FourthOrderInterpFromFineToCoarse for refinement ratio 4 by @WeiqunZhang in #5691
- Parser: stop optimizing away the runtime semantics by @WeiqunZhang in #5833
- Skip empty box in GPU ReduceOps::eval_box by @WeiqunZhang in #5852
- Fix VisMF headers that AMReX writes but cannot read back by @WeiqunZhang in #5830
- Simplify AMREX_DEVICE_PRINTF for SYCL by @WeiqunZhang in #5836
- MultiFab::min/max(region): ignore EB covered cells by @WeiqunZhang in #5851
- Fix MLMG transfer ops for semicoarsened and hidden-direction MG levels by @WeiqunZhang in #5754
- Fix VisMF reads that silently miss data by @WeiqunZhang in #5831
- Fix SpMatrix split-CSR bookkeeping by @WeiqunZhang in #5713
- Invalidate cached state in MLMG/MLLinOp mutators by @WeiqunZhang in #5712
- Fix out-of-bounds write in sumToLine for nonzero-lo domain by @WeiqunZhang in #5853
- Fix data race in BaseFab::lockAdd for mixed destbox shapes by @WeiqunZhang in #5850
- Sync GPU stream before GPU-aware MPI on a DeviceVector by @WeiqunZhang in #5849
- Fix computeGradient in 2D RZ geometry by @WeiqunZhang in #5848
- Fix periodic shift range in CPC and SumBoundary metadata by @WeiqunZhang in #5846
- Fix shared nodes in nodaltilebox and GpuBndryFuncFab boundary fill by @WeiqunZhang in #5845
- Fix two uninstantiable overloads in Src/Base by @WeiqunZhang in #5842
- Validate ForkJoin ngrow and owner task at registration by @WeiqunZhang in #5844
- Fix GPU safety of BaseFab deep copy and indexFromValue by @WeiqunZhang in #5840
- Fix FluxRegister periodic hi-side clearing and SumReg communicator by @WeiqunZhang in #5843
- Fix CPU/GPU parity of launch(n,f) and three-box HostDeviceParallelFor by @WeiqunZhang in #5841
- Fix int overflow for large fabs in FabConv, BaseFab::getVal and transposeCtoF by @WeiqunZhang in #5839
- Fix asymmetric start/finish counters in FabArray and BaseFab by @WeiqunZhang in #5838
- Array4: abort on an out-of-bound component and print the right bound by @WeiqunZhang in #5837
- Base: check input length and stream state when reading by @WeiqunZhang in #5835
- SUNDIALS: fix aliased N_VProd/N_VDiv and the multi-component constraint mask by @WeiqunZhang in #5832
- HDF5: advance the plotfile write buffer in bytes by @WeiqunZhang in #5829
- MLMG: Make the single-stream no-sync GPU mode safe and document it by @WeiqunZhang in #4895
- Add custom bottom solver for MLEBNodeFDLaplacian by @WeiqunZhang in #5654
- Parser: reject variables that were never registered by @WeiqunZhang in #5834
- Accumulate CPU exclusive scans in the element type by @WeiqunZhang in #5847
- Fix component offsets and RZ volumes in CellConservativeProtected::protect by @WeiqunZhang in #5783
- Invalidate derived caches in setFab, release and BoxArray::coarsen by @WeiqunZhang in #5689
- Docs: note when feclearexcept is needed around disableFPExcept by @WeiqunZhang in #5673
- EB: use a finite marker instead of NaN for edges with no intercept by @WeiqunZhang in #5668
- AmrCore: option to refine the entire domain in one direction by @WeiqunZhang in #5908
- Tests: abort on NaN solutions in linear solver tests by @WeiqunZhang in #5671
- EB: fix extdir slope kernels near domlo+1 / domhi-1 by @asalmgren in #5906
- feat(mempool): extend alloc/dealloc to ranks 4-6 by @Andris-R in #5907
- MLTensorOp: mesh-mapping factors for the cross terms by @drummerdoc in #5909
- Add "--allow_diff_dx" command line argument to fcompare by @atmyers in #5910
- StateRedist: keep merged neighborhoods inside the domain by @asalmgren in #5912
- Fix low-severity defects in ParmParse, RNG, integrators and SUNDIALS by @WeiqunZhang in #5913
- MLEBNodeFDLaplacian: require a Dirichlet axis when alpha is non-zero by @WeiqunZhang in #5915
- StateRedist test: use a periodic surface in periodic domains by @WeiqunZhang in #5916
- Fix low-severity Base I/O and profiler defects by @WeiqunZhang in #5917
- Parser: end // comments at line breaks; bound POWI exponent by @WeiqunZhang in #5918
- HYPRE: fix 2D EB anisotropy, handle leak, overflow checks, null level BC by @WeiqunZhang in #5919
- Fix several low-severity EB defects by @WeiqunZhang in #5920
- Fix low-severity AmrCore defects by @WeiqunZhang in #5921
- Fix 1D metric functions in CoordSys and Geometry by @WeiqunZhang in #5922
- Fix BoxArray hash search window by @WeiqunZhang in #5923
- AmrMesh: grids for odd ref ratios, arbitrary n_cell, and no_chop_dir by @asalmgren in #5914
- Fix index-type overflow in GPU launch, Reduce and Scan by @WeiqunZhang in #5924
- Fix BoxArray/BoxList handling of empty and degenerate boxes by @WeiqunZhang in #5925
- Parser: reject device-unsupported functions at compile time by @WeiqunZhang in #5926
- Parser: do not chain a parenthesized comparison by @WeiqunZhang in #5927
- FFT: fix R2C on degenerate domains with a sub-object by @WeiqunZhang in #5928
- FFT: fix R2X scalingFactor on degenerate domains by @WeiqunZhang in #5930
- Convert GOVERNANCE.rst to GOVERNANCE.md by @WeiqunZhang in #5931
- SpMatrix: sparse matrix-matrix multiplication (SpGEMM) by @WeiqunZhang in #5929
- Convert CITATION to CITATION.cff by @WeiqunZhang in #5932
- Use the standard BSD-3-Clause wording in LICENSE clause (3) by @WeiqunZhang in #5933
- Add Scorecard supply-chain security workflow by @WeiqunZhang in #5939
- CI: GITHUN_TOKEN permissions and Action SHAs by @WeiqunZhang in #5936
- Add a security assurance case by @WeiqunZhang in #5934
- Add a Dockerfile for a prebuilt AMReX environment by @WeiqunZhang in #5938
- CMake: do not require the C MPI component by @WeiqunZhang in #5941
- Add community metadata: CODEOWNERS, issue templates, README build docs by @WeiqunZhang in #5935
- CI: attach an SBOM and signed provenance to releases by @WeiqunZhang in #5937
- Publish build and test results to CDash by @WeiqunZhang in #5940
- CI: tighten token permissions and pin upload-sarif by @WeiqunZhang in #5945
- Bump actions/attest-build-provenance from 3.0.0 to 4.2.2 by @dependabot[bot] in #5947
- Bump anchore/sbom-action from 0.24.0 to 0.24.2 by @dependabot[bot] in #5946
- CI: hash-pin the pip dependencies in docs, codespell and apps by @WeiqunZhang in #5949
- Fix NFilesIter appendFirst in serial builds and reading ctor MPI tag by @WeiqunZhang in #5950
- Bump the ci-requirements group in /.github/workflows/requirements with 2 updates by @dependabot[bot] in #5951
- Add OpenSSF Scorecard badge to README by @WeiqunZhang in #5944
- CI: build the HIP Flang test job with shared libamrex by @WeiqunZhang in #5943
- Fix CodeQL alerts in a header constant and Python tools by @WeiqunZhang in #5942
- Sparse algebra: 32-bit split blocks, split-form products and transposes by @WeiqunZhang in #5952
- CI: GitLab CI trigger needs pull-requests: write by @WeiqunZhang in #5953
- Smoothers for SpMatrix: l1-Jacobi, Chebyshev, l1 hybrid Gauss-Seidel by @WeiqunZhang in #5955
- BiCGStab and PCG: generic solvers and SpMatrix front-ends by @WeiqunZhang in #5956
- Make hardcoded small thresholds precision-aware by @WeiqunZhang in #5958
- EB: query EBCellFlagFab with its own index type, and fix grown-box query by @WeiqunZhang in #5959
- Use the physical EB normal on anisotropic grids by @WeiqunZhang in #5960
- Fix TOML array parsing in ParmParse by @WeiqunZhang in #5961
- No, we did not change our license by @WeiqunZhang in #5963
- Revert "No, we did not change our license (#5963)" by @WeiqunZhang in #5965
- MLMG: keep overset cells fixed in multi-level solves by @WeiqunZhang in #5964
- Fix EB wall flux on anisotropic cells in MLEBABecLap and MLEBTensorOp by @WeiqunZhang in #5967
- Use bndryarea for the EB wall flux area again by @WeiqunZhang in #5969
- SpMatrix: 32-bit row offsets in the split blocks by @WeiqunZhang in #5968
- AMG: algebraic multigrid for SpMatrix systems by @WeiqunZhang in #5962
- Hypre, PETSc: honor BoomerAMG options and pass symmetric systems by @WeiqunZhang in #5971
- Fast-math-safe isnan/isinf/isfinite and a NaN-aware norminf by @WeiqunZhang in #5972
- Bump sphinx from 7.3.7 to 9.1.0 in /.github/workflows/requirements in the ci-requirements group by @dependabot[bot] in #5978
- Bump github/codeql-action/upload-sarif from 4.38.1 to 4.38.2 by @dependabot[bot] in #5975
- Bump github/codeql-action/init from 4.38.1 to 4.38.2 by @dependabot[bot] in #5977
- Bump github/codeql-action/analyze from 4.38.1 to 4.38.2 by @dependabot[bot] in #5976
- Bump github/codeql-action/autobuild from 4.38.1 to 4.38.2 by @dependabot[bot] in #5974
- FFT::Poisson: avoid a speculated 0/0 at the zero wavenumber by @hgopalan in #5982
- FFT::PoissonHybrid::solve_2d: loop over the tile box by @hgopalan in #5983
- ParmParse: constexpr bound in
queryAsDoublerange check by @ax3l in #5981 - MLNodeLinOp::normInf: skip Dirichlet and overset nodes by @WeiqunZhang in #5979
- CMake: export AMREX_CUDA_IPO in the installed config by @WeiqunZhang in #5992
- Update CHANGES.md for 26.10 by @WeiqunZhang in #5998
New Contributors
- @Andris-R made their first contribution in #5896
- @muk2 made their first contribution in #5614
- @hgopalan made their first contribution in #5982
Full Changelog: 26.09...26.10