Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 1.7.0 to master #1451

Merged
merged 583 commits into from
Nov 10, 2023
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
583 commits
Select commit Hold shift + click to select a range
8913fc1
Format files
ginkgo-bot Oct 6, 2023
f5d5e28
add common size getter
pratikvn Oct 6, 2023
143aabe
Move lin_op_helpers back to lin_op
pratikvn Oct 9, 2023
d332a0e
Review updates
pratikvn Oct 10, 2023
f11e389
Format files
ginkgo-bot Oct 10, 2023
fb75ac3
Add batch_linop_fac mask to logger.
pratikvn Oct 10, 2023
0bd2b24
Review updates
pratikvn Oct 10, 2023
b13e0df
Doc clarifications
pratikvn Oct 10, 2023
ade5bb3
Add batch dense base class, core and kernels
pratikvn Oct 1, 2023
4f8c875
add reference kernels WIP
pratikvn Oct 2, 2023
5bdedb1
Generalize batch utilities
pratikvn Oct 3, 2023
669cc19
MultiVector to BatchDense conversion
pratikvn Oct 3, 2023
989b17c
Add tests for BatchDense core
pratikvn Oct 3, 2023
12c6520
Add reference kernel tests
pratikvn Oct 3, 2023
1b14a26
Add OMP tests and fix kernel
pratikvn Oct 3, 2023
3273d69
Format files
ginkgo-bot Oct 4, 2023
579b3e7
circ dep and typo fixes
pratikvn Oct 4, 2023
e97d628
Add CUDA, HIP kernels and tests
pratikvn Oct 4, 2023
0d0b119
Add SYCL kernels and tests WIP
pratikvn Oct 4, 2023
f4b9b86
HIP and CUDA thrust fixes
pratikvn Oct 5, 2023
ac61ccd
SYCL kernel fixes
pratikvn Oct 5, 2023
f731960
BatchDense -> batch::Dense
pratikvn Oct 5, 2023
37ce4f6
Doc updates and multivector view
pratikvn Oct 5, 2023
33c71c1
Format files
ginkgo-bot Oct 6, 2023
fd9a228
Use CommonTestFixture value_type
pratikvn Oct 6, 2023
a71ce20
Review updates
pratikvn Oct 9, 2023
2e8e600
Review updates
pratikvn Oct 9, 2023
5ac0ad8
dpcpp Jacobi needs ranlux
pratikvn Oct 9, 2023
8ab42cb
Remove create_multivector_view
pratikvn Oct 9, 2023
00eba98
Format files
ginkgo-bot Oct 9, 2023
ceb97e0
const_array_view needs to be in gko::
pratikvn Oct 9, 2023
f6d4c4e
Review updates
pratikvn Oct 10, 2023
a34315f
Move apply validation to BatchLinOp
pratikvn Oct 10, 2023
2b65f14
Add to test_install
pratikvn Oct 10, 2023
5928b9f
Format files
ginkgo-bot Oct 10, 2023
ed59e2f
Review updates
pratikvn Oct 10, 2023
17d54f3
destroy rand_generator
yhmtsai Sep 14, 2023
c2649de
Fix PAPI segmentation fault (#1419)
yhmtsai Oct 12, 2023
74997fc
Update tau.cpp
khuck Oct 12, 2023
1ca0deb
review updates
upsj Oct 13, 2023
fe60c74
add icpx support
yhmtsai Jun 14, 2023
27d7512
add gko_add_sycl_to_target
yhmtsai Aug 21, 2023
e31912e
rename GINKGO_BUILD_DPCPP to GINKGO_BUILD_SYCL
yhmtsai Aug 21, 2023
b08c490
do not delete deprecated var from CMake, keep doc
yhmtsai Oct 13, 2023
dfb9607
adapt MKL and oneDPL env
yhmtsai Oct 13, 2023
392a626
add factorization unpack functions
upsj Oct 15, 2023
aee10ee
test composition unpacking
upsj Oct 16, 2023
671b975
refactor tests to use index_type template param
upsj Oct 16, 2023
6fbcd9f
group tests by fixture
upsj Oct 16, 2023
07f01db
review updates
upsj Oct 17, 2023
c459676
Add batch::matrix::Ell class and core
pratikvn Oct 6, 2023
79fb2c1
Add ref, omp kernels and scaffold
pratikvn Oct 6, 2023
e0683e4
Use only int32
pratikvn Oct 6, 2023
251914e
Generalize and rewrite batch utils
pratikvn Oct 7, 2023
3622b20
Add OMP, CUDA, HIP kernels and tests
pratikvn Oct 8, 2023
301fa6e
Add DPCPP kernels and tests
pratikvn Oct 8, 2023
715235c
Update docs
pratikvn Oct 8, 2023
5cdcede
Format files
ginkgo-bot Oct 8, 2023
a2c8e65
Some general fixes.
pratikvn Oct 10, 2023
b4d877f
Kernel updates and batch_random_matrix gen
pratikvn Oct 11, 2023
ea78506
Review updates
pratikvn Oct 11, 2023
0532b2b
Add apply temp clone, review updates
pratikvn Oct 12, 2023
ca45935
Format files
ginkgo-bot Oct 12, 2023
a74b018
Fix sparsity issues and review updates
pratikvn Oct 12, 2023
9f07718
vector mat data with duplication
pratikvn Oct 16, 2023
70044e4
Review updates
pratikvn Oct 16, 2023
e13b07b
Format files
ginkgo-bot Oct 16, 2023
b2f7b47
Review updates
pratikvn Oct 17, 2023
e256261
Add vec mean implementation
greole Feb 12, 2023
01205e5
use ptr_param
greole Oct 13, 2023
e7feed3
fix documentation
greole Oct 14, 2023
61b7c80
update documentation and tests
greole Oct 14, 2023
52ef32d
use GKO_EXPECT_NEAR
greole Oct 14, 2023
f5e3c9e
fix documentation
greole Oct 14, 2023
fd9ca82
Fixup missing template declaration, add more tests
greole Oct 15, 2023
569e1f6
Fixup call with ptr_param
greole Oct 15, 2023
bed8878
Add review suggestions
greole Oct 16, 2023
a192d94
Update test/mpi/vector.cpp
greole Oct 17, 2023
927d9e7
Update test/mpi/vector.cpp
greole Oct 17, 2023
393ea41
Add review suggestions
greole Oct 17, 2023
b3dbc67
Doc fixes and format
greole Oct 17, 2023
452af10
Use simpler implementation for reference
greole Oct 17, 2023
c364dd8
Fix reference compute mean impl, add test
greole Oct 18, 2023
3e1c831
add the const apply check
yhmtsai Oct 19, 2023
4ef1159
fix batch ell infinite loop
yhmtsai Oct 19, 2023
53a006a
Add pregenerated local solver as factory param
greole Oct 13, 2023
dc36bf8
Add unit test
greole Oct 13, 2023
79aaaa1
Test if generate fails for invalid solver states
greole Oct 16, 2023
1ff74f5
refactor build method a bit, add unit tests
greole Oct 17, 2023
7ff3728
add missing test
greole Oct 17, 2023
fc17c0b
Implement review comments
greole Oct 18, 2023
b345caa
Add review suggestions
greole Oct 18, 2023
bd5fc17
Format files
ginkgo-bot Oct 23, 2023
a5942fa
add dpcpp csr diagonal missing components
yhmtsai Oct 18, 2023
f784614
refine the kernel
yhmtsai Oct 23, 2023
6444d96
Fix memory_order invocations to be inline with C++20 changes
jbadwaik Aug 30, 2023
cec594b
failed: missing diag in tail and ensure all diag
yhmtsai Oct 24, 2023
04449bb
enough work for check and initial non-full-diag ex
yhmtsai Oct 24, 2023
ad4d2bb
improve-doc
upsj Sep 3, 2023
0302243
doc-and-new-interface
upsj Sep 3, 2023
f669e50
add new interface and kernels
upsj Oct 6, 2023
17da78c
improve permutation interface consistency
upsj Oct 9, 2023
c70dbf7
swap order of scaling and permutation
upsj Oct 9, 2023
270ba17
add SYCL kernels
upsj Oct 12, 2023
03a7288
add permutation combination functions
upsj Oct 12, 2023
430769a
Format files
ginkgo-bot Oct 12, 2023
bb856df
fix warning
upsj Oct 18, 2023
a7d4dff
review updates
upsj Oct 24, 2023
ab7afe6
fix incorrect combination function
upsj Oct 24, 2023
8004d23
review updates
upsj Oct 27, 2023
51bdc06
fix DPC++ compilation
upsj Oct 27, 2023
d0bb5f5
fix test precision
upsj Oct 27, 2023
33e59f2
rename get_scale to get_scaling_factors
upsj Oct 27, 2023
21b379f
fix misc test-related warnings
upsj Oct 27, 2023
a8a7e56
add new interface for RCM
upsj Oct 8, 2023
3c6edeb
deprecate old interface
upsj Oct 13, 2023
78e15bd
simplify generation
upsj Oct 13, 2023
1b52749
disable deprecation warnings
upsj Oct 13, 2023
f4874cf
fix deprecation warnings
upsj Oct 28, 2023
25f1dba
add documentation
upsj Oct 28, 2023
b422f11
fix cross-executor copy in RCM
upsj Oct 29, 2023
ff93308
Format files
ginkgo-bot Oct 29, 2023
8584dac
fix gcc 5.5 build
upsj Oct 29, 2023
f9ceef6
replaces try-run with try-compile in OpenMPI check
MarcelKoch Oct 31, 2023
1882578
review updates:
MarcelKoch Oct 31, 2023
cd3d2e2
pass slurm job failure
yhmtsai Oct 31, 2023
4448a5a
Add batch::dense const, update batch struct
pratikvn Oct 21, 2023
9c3d0ad
Add BatchBicgstab core, classes and dispatch
pratikvn Oct 21, 2023
464f907
Add a batch logger class and core
pratikvn Oct 21, 2023
0492d88
Add a BatchIdentity matrix class
pratikvn Oct 21, 2023
19d48a0
Add batch stopping critieria
pratikvn Oct 21, 2023
31065d8
Add ref and omp kernels and placeholders
pratikvn Oct 21, 2023
9af6c49
Add core BatchBicgstab solver tests
pratikvn Oct 21, 2023
da0c443
Add BatchIdentity preconditioner
pratikvn Oct 21, 2023
2d772bb
Add batch matrix gen utils and test helpers
pratikvn Oct 21, 2023
47cdd98
Rename classes
pratikvn Oct 21, 2023
17aa330
Some ref kernel simplifications
pratikvn Oct 21, 2023
d97f6ca
Add reference kernel tests
pratikvn Oct 22, 2023
0e9d347
Fix apply and more ref tests
pratikvn Oct 22, 2023
b6f4598
Fix ref test issues
pratikvn Oct 22, 2023
09d9518
Add omp tests and gen improvements
pratikvn Oct 23, 2023
67541fd
Fix logger and update docs
pratikvn Oct 23, 2023
2b3abb4
re-template logger and logdata
pratikvn Oct 23, 2023
46d0a7f
doc improvements and some restructuring
pratikvn Oct 24, 2023
c82db23
formatting and renames
pratikvn Oct 24, 2023
3b3a593
generic logdata improvements
pratikvn Oct 24, 2023
e3f2b60
rename kernel namespaces
pratikvn Oct 24, 2023
9376d73
use workspace for logger
pratikvn Oct 24, 2023
fe95661
use new factory setup, move crit to base
pratikvn Oct 25, 2023
6c416f4
Add batch identity test and fix apply
pratikvn Oct 25, 2023
c2eecfc
Review updates
pratikvn Oct 25, 2023
14ea40a
s/BicgstabSettings/settings
pratikvn Oct 26, 2023
304e8e4
Fix workspace issues and review updates
pratikvn Oct 26, 2023
9482f89
Review updates
pratikvn Oct 26, 2023
85f6d04
rename crit getters and setters
pratikvn Oct 26, 2023
f3dead7
Format files
ginkgo-bot Oct 26, 2023
b8d36d7
Update copy/move semantics
pratikvn Oct 29, 2023
8d93158
Review updates
pratikvn Oct 30, 2023
0b36a80
Review updates
pratikvn Oct 30, 2023
1b278c5
Fix cuda incom type and check defaults
pratikvn Oct 31, 2023
e186ae1
clarify implicit/actual res norm docs, MSVC fixes
pratikvn Oct 31, 2023
e35691b
review updates
pratikvn Oct 31, 2023
6cb61ec
fix LaTeX in documentation
upsj Nov 1, 2023
5325aaa
add the failed tests which requires <= not <
yhmtsai Nov 2, 2023
92b3b38
adding <= to residual norms
yhmtsai Nov 2, 2023
14ffe90
loop on mode for the test
yhmtsai Nov 3, 2023
6dbba9a
Format files
ginkgo-bot Nov 3, 2023
7a036c7
use proper atomics for ParILU(T) and ParIC(T)
upsj Oct 16, 2023
8e1c140
add check for miss_criteria
yhmtsai Oct 27, 2023
537f85e
make the type in deferred_factory explicitly
yhmtsai Oct 11, 2023
26912ab
move type before macro like others, reduce ! cond
yhmtsai Oct 24, 2023
99455ae
add test, check non-compiled, and use namespace from top
yhmtsai Oct 26, 2023
1a3de39
reuse the macro
yhmtsai Oct 27, 2023
d58ba52
remove mutable for factory parameter
yhmtsai Oct 28, 2023
bd2c945
update doc
yhmtsai Oct 28, 2023
b628020
use the self from base mixin and update test name
yhmtsai Oct 31, 2023
1e79ccb
Fix return value in CUDA memory order functions
Nov 3, 2023
942f9e1
add reference near-symmetric symbolic LU
upsj Oct 30, 2023
42df230
add OpenMP tests
upsj Oct 30, 2023
540c762
add CUDA/HIP near-symmetric symbolic LU
upsj Oct 31, 2023
502d6d6
add near-symmetric symbolic LU to interface
upsj Oct 31, 2023
4f778ee
rename matching name and type
upsj Nov 2, 2023
9abffd3
review updates
upsj Nov 4, 2023
3bee41d
work around rocThrust bug
upsj Nov 4, 2023
791695f
handle deprecation warnings uniformly
upsj Oct 28, 2023
1aaf9cb
Remove Rcm deprecation warning
Nov 5, 2023
a80f5d7
Format files
ginkgo-bot Nov 5, 2023
7a6f751
Add cuda batch bicgstab kernels
pratikvn Oct 26, 2023
190e063
Add hip bicgstab solver kernels
pratikvn Oct 26, 2023
37d6292
Add dpcpp kernels
pratikvn Oct 27, 2023
ce537d1
Fix dpcpp kernel issues
pratikvn Oct 28, 2023
94a5233
add mvec single rhs specializations
pratikvn Oct 29, 2023
5e66404
minor dpcpp fixes
pratikvn Oct 29, 2023
160e854
Review updates
pratikvn Oct 29, 2023
5db8662
Fix sycl group and subgroup sizes
pratikvn Oct 29, 2023
683f7c9
Format files
ginkgo-bot Oct 29, 2023
5484be7
Review updates
pratikvn Oct 30, 2023
63588d8
Use synchronize for error handling
pratikvn Nov 1, 2023
fe1d1ad
Format files
ginkgo-bot Nov 1, 2023
1dcc6a7
Add scoped cuda shmem config
pratikvn Nov 1, 2023
4e13a72
move max_shmem query to internal
pratikvn Nov 1, 2023
1df892b
Update size_type in tests
pratikvn Nov 2, 2023
16800e0
Update contributors.txt
pratikvn Nov 2, 2023
b3dfe31
review updates
pratikvn Nov 2, 2023
8ec4922
Format files
ginkgo-bot Nov 2, 2023
690c4ea
dpcpp group size and doc fixes
pratikvn Nov 2, 2023
d8684e9
use global_and_local barrier
pratikvn Nov 3, 2023
4e9c4ec
Fix Intel2020 apply call issue
pratikvn Nov 3, 2023
368cf6b
Fix diag_dominance and tol issue
pratikvn Nov 3, 2023
e0d016e
Fix some include issues
pratikvn Nov 4, 2023
f1d661d
Review updates
pratikvn Nov 4, 2023
bf23675
use fence_space::global_and_local
pratikvn Nov 4, 2023
00febd5
Use updated deferred factory macros.
pratikvn Nov 5, 2023
39b6f5b
Review updates
pratikvn Nov 5, 2023
c2d959a
Format files
ginkgo-bot Nov 5, 2023
994d353
Add first MC64 kernels and test examples
Feb 22, 2022
21bb17a
First working implementation of the permutation part of MC64
Feb 25, 2022
cda6f7c
Add computation of scaling coefficients
Mar 4, 2022
ef2146f
tune to match HSL performance
May 6, 2022
70580ab
Fix reference kernel tests to current version
Sep 9, 2022
72d2c2b
Add more tests
Sep 15, 2022
12619d7
Small fix after rebasing
Sep 16, 2022
9e909de
Format files
ginkgo-bot Sep 16, 2022
951bcc1
work on reference kernel tests
Sep 16, 2022
f163e67
fix typo
Sep 16, 2022
e8438bd
Address review comments
Feb 13, 2023
7bd0a83
update Copyright statement
Feb 13, 2023
ab287ca
Fix rebasing error
Feb 13, 2023
7ddbc8c
make MC64 core functionality
upsj Aug 22, 2023
10c14cd
review updates
upsj Nov 2, 2023
e9ac4bf
optimize addressable PQ for MC64
upsj Nov 2, 2023
db10ce6
fix test
upsj Nov 2, 2023
482764d
fix libstdc++ build issues
upsj Nov 2, 2023
19f103b
review updates
upsj Nov 3, 2023
02dc852
Format files
ginkgo-bot Nov 3, 2023
a04bd8c
fix linking errors
upsj Nov 4, 2023
de65877
review updates
upsj Nov 4, 2023
32ddaf2
handle empty inputs
upsj Nov 6, 2023
546a9bd
disable MSVC debug build
upsj Nov 6, 2023
6aaef34
add MSVC release shared
upsj Nov 6, 2023
cdb1bbf
test mc64 float arrays only approximately
upsj Nov 6, 2023
a73c666
fix link, clarify variables in mc64_kernels test
upsj Nov 6, 2023
96dc859
fix format error in master
tcojean Nov 6, 2023
a59d72b
Change the benchmark tests stderr to include (master)
tcojean Nov 6, 2023
1175703
Add initial 1.7.0 changelog
tcojean Nov 6, 2023
a7d7097
Changelog updates
tcojean Nov 7, 2023
4104e92
Changelog: recap previous deprecations
tcojean Nov 7, 2023
109052f
Remove lend from batch documentation
tcojean Nov 8, 2023
e03110e
Changelog: update the verion requirement and ordering
tcojean Nov 10, 2023
6cee27c
typo: fix OneAPI -> oneAPI
tcojean Nov 10, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
115 changes: 115 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,121 @@ git log --first-parent

Please visit our wiki [Changelog](https://github.com/ginkgo-project/ginkgo/wiki/Changelog) for unreleased changes.

## Version 1.7.0

The Ginkgo team is proud to announce the new Ginkgo minor release 1.7.0. This release brings new features such as:
- Complete GPU-resident sparse direct solvers feature set and interfaces,
- Improved Cholesky factorization performance,
- A new MC64 reordering,
- Batched iterative solver support with the BiCGSTAB solver with batched Dense and ELL matrix types,
- MPI support for the SYCL backend,
- Improved ParILU(T)/ParIC(T) preconditioner convergence,
and more!

If you face an issue, please first check our [known issues page](https://github.com/ginkgo-project/ginkgo/wiki/Known-Issues) and the [open issues list](https://github.com/ginkgo-project/ginkgo/issues) and if you do not find a solution, feel free to [open a new issue](https://github.com/ginkgo-project/ginkgo/issues/new/choose) or ask a question using the [github discussions](https://github.com/ginkgo-project/ginkgo/discussions).

Supported systems and requirements:
+ For all platforms, CMake 3.16+
+ C++14 compliant compiler
+ Linux and macOS
+ GCC: 5.5+
+ clang: 3.9+
+ Intel compiler: 2019+
+ Apple Clang: 14.0 is tested. Earlier versions might also work.
+ NVHPC: 22.7+
+ Cray Compiler: 14.0.1+
+ CUDA module: CMake 3.18+, and CUDA 10.1+ or NVHPC 22.7+
+ HIP module: ROCm 4.5+
+ DPC++ module: Intel OneAPI 2022.1+ with oneMKL and oneDPL. Set the CXX compiler to `dpcpp` or `icpx`.
tcojean marked this conversation as resolved.
Show resolved Hide resolved
+ MPI: standard version 3.1+, ideally GPU Aware, for best performance
+ Windows
+ MinGW: GCC 5.5+
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This might need to be re-checked.

+ Microsoft Visual Studio: VS 2019+
+ CUDA module: CUDA 10.1+, Microsoft Visual Studio
+ OpenMP module: MinGW.

### Version support changes

+ CUDA 9.2 is no longer supported and 10.0 is untested [#1382](https://github.com/ginkgo-project/ginkgo/pull/1382)
+ Ginkgo now requires CMake version 3.16 (and 3.18 for CUDA) [#1368](https://github.com/ginkgo-project/ginkgo/pull/1368)

### Interface changes

+ `const` Factory parameters can no longer be modified through `with_*` functions, as this breaks const-correctness [#1336](https://github.com/ginkgo-project/ginkgo/pull/1336) [#1439](https://github.com/ginkgo-project/ginkgo/pull/1439)

### New Deprecations

+ The `device_reset` parameter of CUDA and HIP executors no longer has an effect, and its `allocation_mode` parameters have been deprecated in favor of the `Allocator` interface. [#1315](https://github.com/ginkgo-project/ginkgo/pull/1315)
+ The CMake parameter `GINKGO_BUILD_DPCPP` has been deprecated in favor of `GINKGO_BUILD_SYCL`. [#1350](https://github.com/ginkgo-project/ginkgo/pull/1350)
+ The `gko::reorder::Rcm` interface has been deprecated in favor of `gko::experimental::reorder::Rcm` based on `Permutation`. [#1418](https://github.com/ginkgo-project/ginkgo/pull/1418)
+ The Permutation class' `permute_mask` functionality. [#1415](https://github.com/ginkgo-project/ginkgo/pull/1415)
+ Multiple functions with typos (`set_complex_subpsace()`, range functions such as `conj_operaton` etc). [#1348](https://github.com/ginkgo-project/ginkgo/pull/1348)

### Summary of previous deprecations
+ `gko::lend()` is not necessary anymore.
+ The classes `RelativeResidualNorm` and `AbsoluteResidualNorm` are deprecated in favor of `ResidualNorm`.
+ The class `AmgxPgm` is deprecated in favor of `Pgm`.
+ Default constructors for the CSR `load_balance` and `automatical` strategies
+ The PolymorphicObject's move-semantic `copy_from` variant
+ The templated `SolverBase` class.
+ The class `MachineTopology` is deprecated in favor of `machine_topology`.
+ Logger constructors and create functions with the `executor` parameter.
+ The virtual, protected, Dense functions `compute_norm1_impl`, `add_scaled_impl`, etc.
+ Logger events for solvers and criterion without the additional `implicit_tau_sq` parameter.
+ The global `gko::solver::default_krylov_dim`, use instead `gko::solver::gmres_default_krylov_dim`.

tcojean marked this conversation as resolved.
Show resolved Hide resolved
### Added features

+ Adds a batch::BatchLinOp class that forms a base class for batched linear operators such as batched matrix formats, solver and preconditioners [#1379](https://github.com/ginkgo-project/ginkgo/pull/1379)
+ Adds a batch::MultiVector class that enables operations such as dot, norm, scale on batched vectors [#1371](https://github.com/ginkgo-project/ginkgo/pull/1371)
+ Adds a batch::Dense matrix format that stores batched dense matrices and provides gemv operations for these dense matrices. [#1413](https://github.com/ginkgo-project/ginkgo/pull/1413)
+ Adds a batch::Ell matrix format that stores batched Ell matrices and provides spmv operations for these batched Ell matrices. [#1416](https://github.com/ginkgo-project/ginkgo/pull/1416) [#1437](https://github.com/ginkgo-project/ginkgo/pull/1437)
+ Add a batch::Bicgstab solver (class, core, and reference kernels) that enables iterative solution of batched linear systems [#1438](https://github.com/ginkgo-project/ginkgo/pull/1438).
+ Add device kernels (CUDA, HIP, and DPCPP) for batch::Bicgstab solver. [#1443](https://github.com/ginkgo-project/ginkgo/pull/1443).
+ New MC64 reordering algorithm which optimizes the diagonal product or sum of a matrix by permuting the rows, and computes additional scaling factors for equilibriation [#1120](https://github.com/ginkgo-project/ginkgo/pull/1120)
+ New interface for (non-symmetric) permutation and scaled permutation of Dense and Csr matrices [#1415](https://github.com/ginkgo-project/ginkgo/pull/1415)
+ LU and Cholesky Factorizations can now be separated into their factors [#1432](https://github.com/ginkgo-project/ginkgo/pull/1432)
+ New symbolic LU factorization algorithm that is optimized for matrices with an almost-symmetric sparsity pattern [#1445](https://github.com/ginkgo-project/ginkgo/pull/1445)
+ Sorting kernels for SparsityCsr on all backends [#1343](https://github.com/ginkgo-project/ginkgo/pull/1343)
+ Allow passing pre-generated local solver as factory parameter for the distributed Schwarz preconditioner [#1426](https://github.com/ginkgo-project/ginkgo/pull/1426)
+ Add DPCPP kernels for Partition [#1034](https://github.com/ginkgo-project/ginkgo/pull/1034), and CSR's `check_diagonal_entries` and `add_scaled_identity` functionality [#1436](https://github.com/ginkgo-project/ginkgo/pull/1436)
+ Adds a helper function to create a partition based on either local sizes, or local ranges [#1227](https://github.com/ginkgo-project/ginkgo/pull/1227)
+ Add function to compute arithmetic mean of dense and distributed vectors [#1275](https://github.com/ginkgo-project/ginkgo/pull/1275)
+ Adds `icpx` compiler supports [#1350](https://github.com/ginkgo-project/ginkgo/pull/1350)
+ All backends can be built simultaneously [#1333](https://github.com/ginkgo-project/ginkgo/pull/1333)
+ Emits a CMake warning in downstream projects that use different compilers than the installed Ginkgo [#1372](https://github.com/ginkgo-project/ginkgo/pull/1372)
+ Reordering algorithms in sparse_blas benchmark [#1354](https://github.com/ginkgo-project/ginkgo/pull/1354)
+ Benchmarks gained an `-allocator` parameter to specify device allocators [#1385](https://github.com/ginkgo-project/ginkgo/pull/1385)
+ Benchmarks gained an `-input_matrix` parameter that initializes the input JSON based on the filename [#1387](https://github.com/ginkgo-project/ginkgo/pull/1387)
+ Benchmark inputs can now be reordered as a preprocessing step [#1408](https://github.com/ginkgo-project/ginkgo/pull/1408)


### Improvements

+ Significantly improve Cholesky factorization performance [#1366](https://github.com/ginkgo-project/ginkgo/pull/1366)
+ Improve parallel build performance [#1378](https://github.com/ginkgo-project/ginkgo/pull/1378)
+ Allow constrained parallel test execution using CTest resources [#1373](https://github.com/ginkgo-project/ginkgo/pull/1373)
+ Use arithmetic type more inside mixed precision ELL [#1414](https://github.com/ginkgo-project/ginkgo/pull/1414)
+ Most factory parameters of factory type no longer need to be constructed explicitly via `.on(exec)` [#1336](https://github.com/ginkgo-project/ginkgo/pull/1336) [#1439](https://github.com/ginkgo-project/ginkgo/pull/1439)
+ Improve ParILU(T)/ParIC(T) convergence by using more appropriate atomic operations [#1434](https://github.com/ginkgo-project/ginkgo/pull/1434)

### Fixes

+ Fix an over-allocation for OpenMP reductions [#1369](https://github.com/ginkgo-project/ginkgo/pull/1369)
+ Fix DPCPP's common-kernel reduction for empty input sizes [#1362](https://github.com/ginkgo-project/ginkgo/pull/1362)
+ Fix several typos in the API and documentation [#1348](https://github.com/ginkgo-project/ginkgo/pull/1348)
+ Fix inconsistent `Threads` between generations [#1388](https://github.com/ginkgo-project/ginkgo/pull/1388)
+ Fix benchmark median condition [#1398](https://github.com/ginkgo-project/ginkgo/pull/1398)
+ Fix HIP 5.6.0 compilation [#1411](https://github.com/ginkgo-project/ginkgo/pull/1411)
+ Fix missing destruction of rand_generator from cuda/hip [#1417](https://github.com/ginkgo-project/ginkgo/pull/1417)
+ Fix PAPI logger destruction order [#1419](https://github.com/ginkgo-project/ginkgo/pull/1419)
+ Fix TAU logger compilation [#1422](https://github.com/ginkgo-project/ginkgo/pull/1422)
+ Fix relative criterion to not iterate if the residual is already zero [#1079](https://github.com/ginkgo-project/ginkgo/pull/1079)
+ Fix memory_order invocations with C++20 changes [#1402](https://github.com/ginkgo-project/ginkgo/pull/1402)
+ Fix `check_diagonal_entries_exist` report correctly when only missing diagonal value in the last rows. [#1440](https://github.com/ginkgo-project/ginkgo/pull/1440)
+ Fix checking OpenMPI version in cross-compilation settings [#1446](https://github.com/ginkgo-project/ginkgo/pull/1446)
+ Fix false-positive deprecation warnings in Ginkgo, especially for the old Rcm (it doesn't emit deprecation warnings anymore as a result but is still considered deprecated) [#1444](https://github.com/ginkgo-project/ginkgo/pull/1444)

## Version 1.6.0

The Ginkgo team is proud to announce the new Ginkgo minor release 1.6.0. This release brings new features such as:
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/blas.profile.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 0 warm iterations and 1 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/blas.simple.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 2 warm iterations and 10 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/conversion.all.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 2 warm iterations and 10 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/conversion.matrix.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 2 warm iterations and 10 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/conversion.profile.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 0 warm iterations and 1 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/conversion.simple.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 2 warm iterations and 10 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/distributed_solver.matrix.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 2 warm iterations and 1 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/distributed_solver.profile.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 0 warm iterations and 1 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/distributed_solver.simple.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 2 warm iterations and 1 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/matrix_statistics.matrix.stderr
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running test case <filename>
Matrix is of size (36, 36), 208
4 changes: 2 additions & 2 deletions benchmark/test/reference/matrix_statistics.simple.stderr
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running test case stencil(100, 7pt)
Matrix is of size (125, 125), 725
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 0 warm iterations and 1 running iterations
The random seed for right hand sides is 42
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 2 warm iterations and 10 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/preconditioner.matrix.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 2 warm iterations and 10 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/preconditioner.profile.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 0 warm iterations and 1 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/preconditioner.reordered.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 2 warm iterations and 10 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/preconditioner.simple.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 2 warm iterations and 10 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/solver.matrix.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 2 warm iterations and 1 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/solver.profile.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 0 warm iterations and 1 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/solver.reordered.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 2 warm iterations and 1 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/solver.simple.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 2 warm iterations and 1 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/sparse_blas.matrix.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 2 warm iterations and 10 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/sparse_blas.profile.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 0 warm iterations and 1 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/sparse_blas.reordered.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 2 warm iterations and 10 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/sparse_blas.simple.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 2 warm iterations and 10 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/spmv.matrix.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 2 warm iterations and 10 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/spmv.profile.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 0 warm iterations and 1 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/spmv.reordered.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 2 warm iterations and 10 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/spmv.simple.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 2 warm iterations and 10 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/spmv_distributed.profile.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 0 warm iterations and 1 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 2 additions & 2 deletions benchmark/test/reference/spmv_distributed.simple.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
This is Ginkgo 1.7.0 (develop)
running with core module 1.7.0 (develop)
This is Ginkgo 1.7.0 (master)
running with core module 1.7.0 (master)
Running on reference(0)
Running with 2 warm iterations and 10 running iterations
The random seed for right hand sides is 42
Expand Down
4 changes: 3 additions & 1 deletion core/distributed/vector.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,12 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
******************************<GINKGO LICENSE>*******************************/

#include <ginkgo/core/distributed/partition.hpp>
#include <ginkgo/core/distributed/vector.hpp>


#include <ginkgo/core/distributed/partition.hpp>


#include "core/distributed/vector_kernels.hpp"
#include "core/matrix/dense_kernels.hpp"

Expand Down
2 changes: 1 addition & 1 deletion include/ginkgo/core/base/batch_lin_op.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ class BatchLinOp : public EnableAbstractPolymorphicObject<BatchLinOp> {
* // create a batch linear operator which represents the solver
* auto batch_cg = batch_cg_factory->generate(A);
* // solve the system
* batch_cg->apply(gko::lend(batch_b), gko::lend(batch_x));
* batch_cg->apply(batch_b, batch_x);
* ```
*
* @ingroup BatchLinOp
Expand Down
Loading