move AIR to UVM (#411)
This PR is a temporary fix for N(eumann)-AIR on GPUs。
This commit is contained in:
parent
27d6b2bd72
commit
3c4272700c
@ -2640,6 +2640,7 @@ hypre_BoomerAMGSetup( void *amg_vdata,
|
||||
{
|
||||
AP = hypre_ParCSRMatMat(A_array[level], P_array[level]);
|
||||
A_H = hypre_ParCSRMatMat(R_array[level], AP);
|
||||
hypre_CSRMatrixReorder(hypre_ParCSRMatrixDiag(A_H));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@ -4039,15 +4039,15 @@ hypre_BoomerAMGBuildInterpOnePnt( hypre_ParCSRMatrix *A,
|
||||
nnz_offd = cnt_offd;
|
||||
|
||||
/*------------- allocate arrays */
|
||||
P_diag_i = hypre_CTAlloc(HYPRE_Int, n_fine+1,HYPRE_MEMORY_HOST);
|
||||
P_diag_j = hypre_CTAlloc(HYPRE_Int, nnz_diag,HYPRE_MEMORY_HOST);
|
||||
P_diag_data = hypre_CTAlloc(HYPRE_Real, nnz_diag,HYPRE_MEMORY_HOST);
|
||||
P_diag_i = hypre_CTAlloc(HYPRE_Int, n_fine+1,HYPRE_MEMORY_DEVICE);
|
||||
P_diag_j = hypre_CTAlloc(HYPRE_Int, nnz_diag,HYPRE_MEMORY_DEVICE);
|
||||
P_diag_data = hypre_CTAlloc(HYPRE_Real, nnz_diag,HYPRE_MEMORY_DEVICE);
|
||||
|
||||
/* not in ``if num_procs > 1'',
|
||||
* allocation needed even for empty CSR */
|
||||
P_offd_i = hypre_CTAlloc(HYPRE_Int, n_fine+1,HYPRE_MEMORY_HOST);
|
||||
P_offd_j = hypre_CTAlloc(HYPRE_Int, nnz_offd,HYPRE_MEMORY_HOST);
|
||||
P_offd_data = hypre_CTAlloc(HYPRE_Real, nnz_offd,HYPRE_MEMORY_HOST);
|
||||
P_offd_i = hypre_CTAlloc(HYPRE_Int, n_fine+1,HYPRE_MEMORY_DEVICE);
|
||||
P_offd_j = hypre_CTAlloc(HYPRE_Int, nnz_offd,HYPRE_MEMORY_DEVICE);
|
||||
P_offd_data = hypre_CTAlloc(HYPRE_Real, nnz_offd,HYPRE_MEMORY_DEVICE);
|
||||
|
||||
/* redundant */
|
||||
P_diag_i[0] = 0;
|
||||
|
||||
@ -1915,15 +1915,15 @@ hypre_BoomerAMGBuildRestrNeumannAIR( hypre_ParCSRMatrix *A,
|
||||
nnz_offd = hypre_CSRMatrixNumNonzeros(Z_offd);
|
||||
|
||||
/*------------- allocate arrays */
|
||||
R_diag_i = hypre_CTAlloc(HYPRE_Int, n_cpts+1, HYPRE_MEMORY_HOST);
|
||||
R_diag_j = hypre_CTAlloc(HYPRE_Int, nnz_diag, HYPRE_MEMORY_HOST);
|
||||
R_diag_a = hypre_CTAlloc(HYPRE_Complex, nnz_diag, HYPRE_MEMORY_HOST);
|
||||
R_diag_i = hypre_CTAlloc(HYPRE_Int, n_cpts+1, HYPRE_MEMORY_DEVICE);
|
||||
R_diag_j = hypre_CTAlloc(HYPRE_Int, nnz_diag, HYPRE_MEMORY_DEVICE);
|
||||
R_diag_a = hypre_CTAlloc(HYPRE_Complex, nnz_diag, HYPRE_MEMORY_DEVICE);
|
||||
|
||||
/* not in ``if num_procs > 1'',
|
||||
* allocation needed even for empty CSR */
|
||||
R_offd_i = hypre_CTAlloc(HYPRE_Int, n_cpts+1, HYPRE_MEMORY_HOST);
|
||||
R_offd_j = hypre_CTAlloc(HYPRE_Int, nnz_offd, HYPRE_MEMORY_HOST);
|
||||
R_offd_a = hypre_CTAlloc(HYPRE_Complex, nnz_offd, HYPRE_MEMORY_HOST);
|
||||
R_offd_i = hypre_CTAlloc(HYPRE_Int, n_cpts+1, HYPRE_MEMORY_DEVICE);
|
||||
R_offd_j = hypre_CTAlloc(HYPRE_Int, nnz_offd, HYPRE_MEMORY_DEVICE);
|
||||
R_offd_a = hypre_CTAlloc(HYPRE_Complex, nnz_offd, HYPRE_MEMORY_DEVICE);
|
||||
|
||||
/* redundant */
|
||||
R_diag_i[0] = 0;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user