Extend exact block inversion to HIP via batched solvers (#913)
This PR adds HIP support to exact block inversion in MGR via rocSOLVER's batched routines.
This commit is contained in:
parent
bd1073ad70
commit
f7850206cd
@ -690,8 +690,20 @@ hypre_ParCSRMatrixExtractBlockDiagDevice( hypre_ParCSRMatrix *A,
|
|||||||
pivots,
|
pivots,
|
||||||
infos,
|
infos,
|
||||||
num_blocks));
|
num_blocks));
|
||||||
|
#elif defined(HYPRE_USING_ROCSOLVER)
|
||||||
|
HYPRE_ROCSOLVER_CALL(rocsolver_dgetrf_batched(hypre_HandleCublasHandle(hypre_handle()),
|
||||||
|
blk_size,
|
||||||
|
blk_size,
|
||||||
|
tmpdiag_aop,
|
||||||
|
blk_size,
|
||||||
|
pivots,
|
||||||
|
blk_size,
|
||||||
|
infos,
|
||||||
|
num_blocks));
|
||||||
|
|
||||||
#else
|
#else
|
||||||
hypre_error_w_msg(HYPRE_ERROR_GENERIC, "Block inversion not available!");
|
hypre_error_w_msg(HYPRE_ERROR_GENERIC, "Block inversion not available!");
|
||||||
|
return hypre_error_flag;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined (HYPRE_DEBUG)
|
#if defined (HYPRE_DEBUG)
|
||||||
@ -725,8 +737,18 @@ hypre_ParCSRMatrixExtractBlockDiagDevice( hypre_ParCSRMatrix *A,
|
|||||||
blk_size,
|
blk_size,
|
||||||
infos,
|
infos,
|
||||||
num_blocks));
|
num_blocks));
|
||||||
|
#elif defined(HYPRE_USING_ROCSOLVER)
|
||||||
|
HYPRE_ROCSOLVER_CALL(rocsolver_dgetri_batched(hypre_HandleCublasHandle(hypre_handle()),
|
||||||
|
blk_size,
|
||||||
|
tmpdiag_aop,
|
||||||
|
blk_size,
|
||||||
|
pivots,
|
||||||
|
blk_size,
|
||||||
|
infos,
|
||||||
|
num_blocks));
|
||||||
#else
|
#else
|
||||||
hypre_error_w_msg(HYPRE_ERROR_GENERIC, "Block inversion not available!");
|
hypre_error_w_msg(HYPRE_ERROR_GENERIC, "Block inversion not available!");
|
||||||
|
return hypre_error_flag;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Free memory */
|
/* Free memory */
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user