Commit cbd0063f authored by MARAIT Gilles's avatar MARAIT Gilles

Hotfix for maphys~pastix

parent 11d74ed8
......@@ -432,7 +432,7 @@ Contains
Case (SDS_Ismumps) ; call XMPH_mumps_solve_RHS &
(sds%mumps, rhs, nrhs, ldrhs, info )
Case (SDS_IsPASTIX); call XMPH_pastix_solve_RHS(sds%pastix, rhs, &
Int(nrhs, kind=pastix_int_t), Int(ldrhs, kind=pastix_int_t), info )
nrhs, ldrhs, info )
Case default
info= SDS_IsUnavailable
write(6,*) "Error : in sparse_direct_solver_solve_RHS,", &
......@@ -696,10 +696,8 @@ Contains
Case (SDS_IsPASTIX);
Call XMPH_pastix_set_denseschur &
(sds%pastix, schurlist, Int(nschurlist, kind=pastix_int_t), &
schur, Int(nschur, kind=pastix_int_t), &
Int(ldschur, kind=pastix_int_t), info)
(sds%pastix, schurlist, nschurlist, &
schur, nschur, ldschur, info)
! none available
Case Default
......
......@@ -24,7 +24,6 @@ Module XMPH_sds_pastix_mod
#if HAVE_LIBPASTIX_6
use pastix_enums
use spmf
use pastixf
......@@ -432,11 +431,12 @@ Contains
!* Argument(s) *!
Type(XMPH_pastix_t), intent(inout) :: id_pastix
integer(kind=pastix_int_t), intent(in ) :: nrhs, ldrhs
integer , intent(in ) :: nrhs, ldrhs
XMPH_FLOAT, target , intent(inout) :: rhs(ldrhs*nrhs)
Integer , intent( out) :: info
#if HAVE_LIBPASTIX_6
integer(kind=pastix_int_t) :: p_nrhs
XMPH_FLOAT, allocatable, target, dimension(:) :: rhs_copy
Type(c_ptr) :: rhs_copy_ptr
Type(c_ptr) :: rhs_ptr
......@@ -460,14 +460,15 @@ Contains
info = 0
BLAS_SET_NUM_THREADS(1)
call pastix_task_solve( id_pastix%pastix_data, nrhs, rhs_ptr, id_pastix%spm%n, pinfo )
p_nrhs = Int(nrhs, kind=pastix_int_t)
call pastix_task_solve( id_pastix%pastix_data, p_nrhs, rhs_ptr, id_pastix%spm%n, pinfo )
Call mph_pastix_check_status(pinfo, __LINE__, info)
If(id_pastix%useschur .eqv. .false.) Then
n = id_pastix%spm%n
ldb = n
ldx = n
call pastix_task_refine( id_pastix%pastix_data, n, nrhs, rhs_ptr, ldb, rhs_copy_ptr, ldx, pinfo)
call pastix_task_refine( id_pastix%pastix_data, n, p_nrhs, rhs_ptr, ldb, rhs_copy_ptr, ldx, pinfo)
Call mph_pastix_check_status(pinfo, __LINE__, info)
End If
BLAS_SET_NUM_THREADS(id_pastix%iparm(IPARM_THREAD_NBR))
......@@ -539,10 +540,9 @@ Contains
!* Arguments *!
Type(XMPH_pastix_t), intent(inout) :: id_pastix
integer(kind=pastix_int_t), intent(in ) :: nschurlist
!integer(kind=pastix_int_t), intent(in ) :: schurlist(nschurlist)
Integer, intent(in ) :: schurlist(nschurlist)
integer(kind=pastix_int_t), intent(in ) :: nschur,ldschur
integer , intent(in ) :: nschurlist
integer , intent(in ) :: schurlist(nschurlist)
integer , intent(in ) :: nschur,ldschur
XMPH_FLOAT, pointer, intent(inout) :: schur(:)
integer , intent( out) :: info
#if MAPHYS_DEBUG
......@@ -577,7 +577,7 @@ Contains
Call MPH_dbg_set_file("schurlist.mtx")
Write(dbg_unit,*) nschurlist
Do i = 1, Int(nschurlist)
Do i = 1, nschurlist
Write(dbg_unit,*) schurlist(i)
End Do
......@@ -599,7 +599,7 @@ Contains
schurlist_ptr => null()
if (nschurlist > 0) schurlist_ptr => schurlist_copy(1)
call pastixSetSchurUnknownList(id_pastix%pastix_data, nschur, schurlist_ptr)
call pastixSetSchurUnknownList(id_pastix%pastix_data, Int(nschur, kind=pastix_int_t), schurlist_ptr)
id_pastix%nschur = nschur
id_pastix%ldschur = ldschur
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment