batched CG on CPU? #1948
-
|
Hi! Is |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 7 replies
-
|
Hi @lucascolley , the batched solvers on CPU backends are run either with With the batched methods, the low-level BLAS operations, and the per-linear system CG solver are shared between reference and OMP backends and implemented here: https://github.com/ginkgo-project/ginkgo/blob/develop/reference/solver/batch_cg_kernels.hpp As a user, you can solve as many systems in parallel as the number of OpenMP threads you spawn, and each system solve converges (terminates) independently, so you are encouraged to oversubscribe to maximize the occupancy. |
Beta Was this translation helpful? Give feedback.
Hi @lucascolley , the batched solvers on CPU backends are run either with
gko::ReferenceExecutororgko::OmpExecutor. The kernel for the OpenMP backend, for example is available here : https://github.com/ginkgo-project/ginkgo/blob/develop/omp/solver/batch_cg_kernels.cpp.With the batched methods, the low-level BLAS operations, and the per-linear system CG solver are shared between reference and OMP backends and implemented here: https://github.com/ginkgo-project/ginkgo/blob/develop/reference/solver/batch_cg_kernels.hpp
As a user, you can solve as many systems in parallel as the number of OpenMP threads you spawn, and each system solve converges (terminates) independently, so you are encou…