Full documentation forrocALUTION is available at https://rocm.docs.amd.com/projects/rocALUTION/en/latest/.
- Improved documentation
- Support for gfx1200, gfx1201, and gfx1151.
- Changed the default compiler from
hipcc
toamdclang
in the installation script and cmake files. - Changed the address sanitizer build targets. Now only
gfx908:xnack+
,gfx90a:xnack+
,gfx940:xnack+
,gfx941:xnack+
, andgfx942:xnack+
are built withBUILD_ADDRESS_SANITIZER=ON
.
- Fix hang in
RS-AMG
for Navi on some specific matrix sparsity patterns. - Fix wrong results in
Apply
on multi-GPU setups.
- New file I/O based on rocsparse I/O format
GetConvergenceHistory
for ItILU0 preconditioner
LocalMatrix::ReadFileCSR
LocalMatrix::WriteFileCSR
GlobalMatrix::ReadFileCSR
GlobalMatrix::WriteFileCSR
TripleMatrixProduct
functionality forGlobalMatrix
- Multi-Node/GPU support for
UA-AMG
,SA-AMG
andRS-AMG
- Iterative ILU0 preconditioner
ItILU0
- Iterative triangular solve, selectable via
SolverDecr
class
LocalMatrix::AMGConnect
LocalMatrix::AMGAggregate
LocalMatrix::AMGPMISAggregate
LocalMatrix::AMGSmoothedAggregation
LocalMatrix::AMGAggregation
PairwiseAMG
PairwiseAMG
does currently not support matrix sizes that exceed int32 rangePairwiseAMG
might fail building the hierarchy on certain input matrices
- Support for 64bit integer vectors
- Inclusive and exclusive sum functionality for vector classes
- Transpose functionality for
GlobalMatrix
andLocalMatrix
TripleMatrixProduct
functionality forLocalMatrix
Sort()
function forLocalVector
class- Multiple stream support to the HIP backend
GlobalMatrix::Apply()
now uses multiple streams to better hide communication
- Matrix dimensions and number of non-zeros are now stored using 64-bit integers
- Improved the ILUT preconditioner
LocalVector::GetIndexValues(ValueType*)
LocalVector::SetIndexValues(const ValueType*)
LocalMatrix::RSDirectInterpolation(const LocalVector&, const LocalVector&, LocalMatrix*, LocalMatrix*)
LocalMatrix::RSExtPIInterpolation(const LocalVector&, const LocalVector&, bool, float, LocalMatrix*, LocalMatrix*)
LocalMatrix::RugeStueben()
LocalMatrix::AMGSmoothedAggregation(ValueType, const LocalVector&, const LocalVector&, LocalMatrix*, LocalMatrix*, int)
LocalMatrix::AMGAggregation(const LocalVector&, LocalMatrix*, LocalMatrix*)
- Unit tests no longer ignore BCSR block dimension
- Fixed documentation typos
- Bug in multi-coloring for non-symmetric matrix patterns
- Support for gfx940, gfx941, and gfx942
- OpenMP runtime issue with Windows toolchain
- Synchronization issues in level 1 routines
- Build support for Navi32
- Typo in MPI backend
- Bug with the backend when HIP support is disabled
- Bug in SAAMG hierarchy building on the HIP backend
- Improved SAAMG hierarchy build performance on the HIP backend
LocalVector::GetIndexValues(ValueType*)
: useLocalVector::GetIndexValues(const LocalVector&, LocalVector*)
insteadLocalVector::SetIndexValues(const ValueType*)
: useLocalVector::SetIndexValues(const LocalVector&, const LocalVector&)
insteadLocalMatrix::RSDirectInterpolation(const LocalVector&, const LocalVector&, LocalMatrix*, LocalMatrix*)
: useLocalMatrix::RSDirectInterpolation(const LocalVector&, const LocalVector&, LocalMatrix*)
insteadLocalMatrix::RSExtPIInterpolation(const LocalVector&, const LocalVector&, bool, float, LocalMatrix*, LocalMatrix*)
: useLocalMatrix::RSExtPIInterpolation(const LocalVector&, const LocalVector&, bool, LocalMatrix*)
insteadLocalMatrix::RugeStueben()
LocalMatrix::AMGSmoothedAggregation(ValueType, const LocalVector&, const LocalVector&, LocalMatrix*, LocalMatrix*, int)
: useLocalMatrix::AMGAggregation(ValueType, const LocalVector&, const LocalVector&, LocalMatrix*, int)
insteadLocalMatrix::AMGAggregation(const LocalVector&, LocalMatrix*, LocalMatrix*)
: useLocalMatrix::AMGAggregation(const LocalVector&, LocalMatrix*)
instead
- Build support for Navi31 and Navi33
- Support for non-squared global matrices
- Memory leak in MatrixMult on HIP backend
- Global structures can now be used with a single process
- Switched GTest death test style to 'threadsafe'
- Removed the native compiler option that was used during default library compilation
GlobalVector::GetGhostSize()
ParallelManager::GetGlobalSize(), ParallelManager::GetLocalSize()
,ParallelManager::SetGlobalSize()
, andParallelManager::SetLocalSize()
Vector::GetGhostSize()
Multigrid::SetOperatorFormat(unsigned int)
: useMultigrid::SetOperatorFormat(unsigned int, int)
insteadRugeStuebenAMG::SetCouplingStrength(ValueType)
: useSetStrengthThreshold(float)
instead
- Benchmarking tool
- Ext+I Interpolation with sparsify strategies added for RS-AMG
- ParallelManager
- New packages for test and benchmark executables on all supported operating systems using CPack
- Added out-of-place matrix transpose functionality
- Added LocalVector
- Changed to C++ 14 Standard
- Added sanitizer option
- Improved documentation
GlobalPairwiseAMG
class: usePairwiseAMG
instead
- AddressSanitizer build option
- Enabled beta support for Windows 10
- Packaging has been split into a runtime package (
rocalution
) and a development package (rocalution-devel
): The development package depends on the runtime package. When installing the runtime package, the package manager will suggest the installation of the development package to aid users transitioning from the previous version's combined package. This suggestion by package manager is for all supported operating systems (except CentOS 7) to aid in the transition. Thesuggestion
feature in the runtime package is introduced as a deprecated feature and will be removed in a future ROCm release.
GlobalPairwiseAMG
: usePairwiseAMG
instead
- Improved (A)MG smoothing and convergence rate
- Improved IDR Gram-Schmidt process
- Optimized (A)MG solving phase
- Support for gfx90a target
- Support for gfx1030 target
- Install script
- Changelog
- Block compressed sparse row (BCSRR) format support
- Update to the Debian package name
- CMake file adjustments
- NaN issues
- rocRAND support for GPU sampling of random data
csr2dense
anddense2csr
to HIP backend
- Static build
- BCSR matrix format for SpMV
- Bug in conversion from CSR to HYB format