Dcsrmv analysis (#458)
This PR (by @pbauman #430) is a hook to be able to call rocsparse_dcsrmv_analysis when using rocSPARSE on AMD GPUs. Co-authored-by: Paul T. Bauman <ptbauman@gmail.com>
This commit is contained in:
parent
16f9f3835c
commit
dd9f1ea31c
@ -20,8 +20,6 @@ hypre_CsrsvData*
|
||||
hypre_CsrsvDataCreate()
|
||||
{
|
||||
hypre_CsrsvData *data = hypre_CTAlloc(hypre_CsrsvData, 1, HYPRE_MEMORY_HOST);
|
||||
hypre_CsrsvDataBufferSize(data) = 0;
|
||||
hypre_CsrsvDataBuffer(data) = NULL;
|
||||
|
||||
return data;
|
||||
}
|
||||
@ -1991,3 +1989,20 @@ hypre_SortCSRRocsparse( HYPRE_Int n,
|
||||
}
|
||||
#endif // #if defined(HYPRE_USING_ROCSPARSE)
|
||||
|
||||
void hypre_CSRMatrixGpuSpMVAnalysis(hypre_CSRMatrix *matrix)
|
||||
{
|
||||
#if defined(HYPRE_USING_ROCSPARSE)
|
||||
|
||||
HYPRE_ROCSPARSE_CALL( rocsparse_dcsrmv_analysis(hypre_HandleCusparseHandle(hypre_handle()),
|
||||
rocsparse_operation_none,
|
||||
hypre_CSRMatrixNumRows(matrix),
|
||||
hypre_CSRMatrixNumCols(matrix),
|
||||
hypre_CSRMatrixNumNonzeros(matrix),
|
||||
hypre_CSRMatrixGPUMatDescr(matrix),
|
||||
hypre_CSRMatrixData(matrix),
|
||||
hypre_CSRMatrixI(matrix),
|
||||
hypre_CSRMatrixJ(matrix),
|
||||
hypre_CSRMatrixGPUMatInfo(matrix)) );
|
||||
|
||||
#endif // #if defined(HYPRE_USING_ROCSPARSE)
|
||||
}
|
||||
|
||||
@ -234,3 +234,4 @@ hypre_GpuMatData* hypre_CSRMatrixGetGPUMatData(hypre_CSRMatrix *matrix);
|
||||
#define hypre_CSRMatrixGPUMatDescr(matrix) ( hypre_GpuMatDataMatDecsr(hypre_CSRMatrixGetGPUMatData(matrix)) )
|
||||
#define hypre_CSRMatrixGPUMatInfo(matrix) ( hypre_GpuMatDataMatInfo (hypre_CSRMatrixGetGPUMatData(matrix)) )
|
||||
#endif
|
||||
void hypre_CSRMatrixGpuSpMVAnalysis(hypre_CSRMatrix *matrix);
|
||||
|
||||
@ -506,6 +506,7 @@ hypre_GpuMatData* hypre_CSRMatrixGetGPUMatData(hypre_CSRMatrix *matrix);
|
||||
#define hypre_CSRMatrixGPUMatDescr(matrix) ( hypre_GpuMatDataMatDecsr(hypre_CSRMatrixGetGPUMatData(matrix)) )
|
||||
#define hypre_CSRMatrixGPUMatInfo(matrix) ( hypre_GpuMatDataMatInfo (hypre_CSRMatrixGetGPUMatData(matrix)) )
|
||||
#endif
|
||||
void hypre_CSRMatrixGpuSpMVAnalysis(hypre_CSRMatrix *matrix);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@ -2265,6 +2265,8 @@ main( hypre_int argc,
|
||||
else if ( build_matrix_type == 4 )
|
||||
{
|
||||
BuildParLaplacian27pt(argc, argv, build_matrix_arg_index, &parcsr_A);
|
||||
|
||||
hypre_CSRMatrixGpuSpMVAnalysis(hypre_ParCSRMatrixDiag(parcsr_A));
|
||||
}
|
||||
else if ( build_matrix_type == 5 )
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user