\doxysection{gko::\+batch::\+preconditioner::\+Jacobi\texorpdfstring{$<$}{<} Value\+Type, Index\+Type \texorpdfstring{$>$}{>}::\+parameters\+\_\+type Struct Reference}
\hypertarget{structgko_1_1batch_1_1preconditioner_1_1Jacobi_1_1parameters__type}{}\label{structgko_1_1batch_1_1preconditioner_1_1Jacobi_1_1parameters__type}\index{gko::batch::preconditioner::Jacobi$<$ ValueType, IndexType $>$::parameters\_type@{gko::batch::preconditioner::Jacobi$<$ ValueType, IndexType $>$::parameters\_type}}


Inheritance diagram for gko::\+batch::\+preconditioner::\+Jacobi\texorpdfstring{$<$}{<} Value\+Type, Index\+Type \texorpdfstring{$>$}{>}::\+parameters\+\_\+type:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=253pt]{structgko_1_1batch_1_1preconditioner_1_1Jacobi_1_1parameters__type__inherit__graph}
\end{center}
\end{figure}


Collaboration diagram for gko::\+batch::\+preconditioner::\+Jacobi\texorpdfstring{$<$}{<} Value\+Type, Index\+Type \texorpdfstring{$>$}{>}::\+parameters\+\_\+type:\+
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{structgko_1_1batch_1_1preconditioner_1_1Jacobi_1_1parameters__type__coll__graph}
\end{center}
\end{figure}
\doxysubsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{structgko_1_1batch_1_1preconditioner_1_1Jacobi_1_1parameters__type_a02bdae2e7fc9db909c3a237388830a86}\label{structgko_1_1batch_1_1preconditioner_1_1Jacobi_1_1parameters__type_a02bdae2e7fc9db909c3a237388830a86} 
{\footnotesize template$<$typename... Args$>$ }\\auto {\bfseries with\+\_\+max\+\_\+block\+\_\+size} (Args \&\&... \+\_\+value) -\/$>$ std::\+decay\+\_\+t$<$ decltype(\texorpdfstring{$\ast$}{*}(this-\/$>$self()))$>$ \&
\item 
\Hypertarget{structgko_1_1batch_1_1preconditioner_1_1Jacobi_1_1parameters__type_a41da80c823caf68d21114fe3fee6267b}\label{structgko_1_1batch_1_1preconditioner_1_1Jacobi_1_1parameters__type_a41da80c823caf68d21114fe3fee6267b} 
{\footnotesize template$<$typename... Args$>$ }\\auto {\bfseries with\+\_\+block\+\_\+pointers} (Args \&\&... \+\_\+value) -\/$>$ std::\+decay\+\_\+t$<$ decltype(\texorpdfstring{$\ast$}{*}(this-\/$>$self()))$>$ \&
\end{DoxyCompactItemize}
\doxysubsection*{Public Member Functions inherited from \doxymbox{\hyperlink{classgko_1_1enable__parameters__type}{gko::\+enable\+\_\+parameters\+\_\+type$<$ parameters\+\_\+type, Factory $>$}}}
\begin{DoxyCompactItemize}
\item 
parameters\+\_\+type \& {\bfseries with\+\_\+loggers} (Args \&\&... \+\_\+value)
\begin{DoxyCompactList}\small\item\em Provides the loggers to be added to the factory and its generated objects in a fluent interface. \end{DoxyCompactList}\item 
std::\+unique\+\_\+ptr$<$ Factory $>$ \doxymbox{\hyperlink{classgko_1_1enable__parameters__type_a65a5adc4eb7078475d26e7991efae64d}{on}} (std::\+shared\+\_\+ptr$<$ const \doxymbox{\hyperlink{classgko_1_1Executor}{Executor}} $>$ exec) const
\begin{DoxyCompactList}\small\item\em Creates a new factory on the specified executor. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\doxymbox{\hyperlink{namespacegko_a7cf056fa904140b50658e0637fba428c}{uint32}} \doxymbox{\hyperlink{structgko_1_1batch_1_1preconditioner_1_1Jacobi_1_1parameters__type_a06ada09498ccd4f438aa5107d66d83e9}{max\+\_\+block\+\_\+size}} \{8u\}
\begin{DoxyCompactList}\small\item\em Maximal size of diagonal blocks. \end{DoxyCompactList}\item 
\doxymbox{\hyperlink{classgko_1_1array}{gko::\+array}}$<$ index\+\_\+type $>$ \doxymbox{\hyperlink{structgko_1_1batch_1_1preconditioner_1_1Jacobi_1_1parameters__type_afd91913f62dc55b7173d41f6d6144961}{block\+\_\+pointers}} \{nullptr\}
\begin{DoxyCompactList}\small\item\em Starting (row /\+ column) indexes of individual blocks, for a single batch item. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsubsection*{Additional Inherited Members}
\doxysubsection*{Public Types inherited from \doxymbox{\hyperlink{classgko_1_1enable__parameters__type}{gko::\+enable\+\_\+parameters\+\_\+type$<$ parameters\+\_\+type, Factory $>$}}}
\begin{DoxyCompactItemize}
\item 
using {\bfseries factory}
\end{DoxyCompactItemize}


\label{doc-variable-members}
\Hypertarget{structgko_1_1batch_1_1preconditioner_1_1Jacobi_1_1parameters__type_doc-variable-members}
\doxysubsection{Member Data Documentation}
\Hypertarget{structgko_1_1batch_1_1preconditioner_1_1Jacobi_1_1parameters__type_afd91913f62dc55b7173d41f6d6144961}\index{gko::batch::preconditioner::Jacobi$<$ ValueType, IndexType $>$::parameters\_type@{gko::batch::preconditioner::Jacobi$<$ ValueType, IndexType $>$::parameters\_type}!block\_pointers@{block\_pointers}}
\index{block\_pointers@{block\_pointers}!gko::batch::preconditioner::Jacobi$<$ ValueType, IndexType $>$::parameters\_type@{gko::batch::preconditioner::Jacobi$<$ ValueType, IndexType $>$::parameters\_type}}
\doxysubsubsection{\texorpdfstring{block\_pointers}{block\_pointers}}
{\footnotesize\ttfamily \label{structgko_1_1batch_1_1preconditioner_1_1Jacobi_1_1parameters__type_afd91913f62dc55b7173d41f6d6144961} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
\doxymbox{\hyperlink{classgko_1_1array}{gko::\+array}}$<$index\+\_\+type$>$ \doxymbox{\hyperlink{classgko_1_1batch_1_1preconditioner_1_1Jacobi}{gko::\+batch::\+preconditioner::\+\+Jacobi}}$<$ Value\+Type, Index\+Type $>$::\+parameters\+\_\+type::\+block\+\_\+pointers \{nullptr\}}



Starting (row /\+ column) indexes of individual blocks, for a single batch item. 

An index past the last block has to be supplied as the last value. I.\+e. the size of the array has to be the number of blocks plus 1, where the first value is 0, and the last value is the number of rows /\+ columns of the matrix.

\begin{DoxyNote}{Note}
Even if not set explicitly, this parameter will be set to automatically detected values once the preconditioner is generated. 

If the parameter is set automatically, the size of the array does not correlate to the number of blocks, and is implementation defined. To obtain the number of blocks {\ttfamily n} use \doxylink{classgko_1_1batch_1_1preconditioner_1_1Jacobi_a4d5fe04bfd88e13bbfcac393595707c7}{Jacobi::\+get\+\_\+num\+\_\+blocks()}. The starting indexes of the blocks are stored in the first {\ttfamily n+1} values of this array. 

If the block-\/diagonal structure can be determined from the problem characteristics, it may be beneficial to pass this information specifically via this parameter, as the autodetection procedure is only a rough approximation of the true block structure. 

The maximum block size set by the max\+\_\+block\+\_\+size parameter has to be respected when setting this parameter. Failure to do so will lead to undefined behavior. 
\end{DoxyNote}
\Hypertarget{structgko_1_1batch_1_1preconditioner_1_1Jacobi_1_1parameters__type_a06ada09498ccd4f438aa5107d66d83e9}\index{gko::batch::preconditioner::Jacobi$<$ ValueType, IndexType $>$::parameters\_type@{gko::batch::preconditioner::Jacobi$<$ ValueType, IndexType $>$::parameters\_type}!max\_block\_size@{max\_block\_size}}
\index{max\_block\_size@{max\_block\_size}!gko::batch::preconditioner::Jacobi$<$ ValueType, IndexType $>$::parameters\_type@{gko::batch::preconditioner::Jacobi$<$ ValueType, IndexType $>$::parameters\_type}}
\doxysubsubsection{\texorpdfstring{max\_block\_size}{max\_block\_size}}
{\footnotesize\ttfamily \label{structgko_1_1batch_1_1preconditioner_1_1Jacobi_1_1parameters__type_a06ada09498ccd4f438aa5107d66d83e9} 
template$<$typename Value\+Type = default\+\_\+precision, typename Index\+Type = int32$>$ \\
\doxymbox{\hyperlink{namespacegko_a7cf056fa904140b50658e0637fba428c}{uint32}} \doxymbox{\hyperlink{classgko_1_1batch_1_1preconditioner_1_1Jacobi}{gko::\+batch::\+preconditioner::\+\+Jacobi}}$<$ Value\+Type, Index\+Type $>$::\+parameters\+\_\+type::\+max\+\_\+block\+\_\+size \{8u\}}



Maximal size of diagonal blocks. 

\begin{DoxyNote}{Note}
This value has to be between 1 and 32 (NVIDIA)/\+64 (AMD). For efficiency, when the max\+\_\+block\+\_\+size is set to 1, specialized kernels are used and the additional objects (block\+\_\+ptrs etc) are set to null values.

Unlike the regular block \doxylink{classgko_1_1batch_1_1preconditioner_1_1Jacobi}{Jacobi} preconditioner, for the batched preconditioner, smaller blocks are more efficient, as the matrices themselves are considerably smaller. 
\end{DoxyNote}


The documentation for this struct was generated from the following file:\+\begin{DoxyCompactItemize}
\item 
ginkgo/\+core/\+preconditioner/\+batch\+\_\+jacobi.\+hpp\end{DoxyCompactItemize}
