First step in fix for coo_impl on OpenMP

repack-csga
sfilippone 8 months ago
parent d01b8145c6
commit a613e963db

@ -4205,7 +4205,7 @@ subroutine psb_c_fix_coo_inner(nr,nc,nzin,dupl,ia,ja,val,nzout,info,idir)
! 'iaux' has to allow the threads to have an exclusive group ! 'iaux' has to allow the threads to have an exclusive group
! of indices as work space. Since each thread handles one ! of indices as work space. Since each thread handles one
! row/column at the time, we allocate this way. ! row/column at the time, we allocate this way.
allocate(iaux(MAX((nc+2),(nr+2))*maxthreads),stat=info) allocate(iaux(MAX((nc+2),(nr+2))),stat=info)
if (info /= psb_success_) then if (info /= psb_success_) then
info = psb_err_alloc_dealloc_ info = psb_err_alloc_dealloc_
call psb_errpush(info,name) call psb_errpush(info,name)

@ -4205,7 +4205,7 @@ subroutine psb_d_fix_coo_inner(nr,nc,nzin,dupl,ia,ja,val,nzout,info,idir)
! 'iaux' has to allow the threads to have an exclusive group ! 'iaux' has to allow the threads to have an exclusive group
! of indices as work space. Since each thread handles one ! of indices as work space. Since each thread handles one
! row/column at the time, we allocate this way. ! row/column at the time, we allocate this way.
allocate(iaux(MAX((nc+2),(nr+2))*maxthreads),stat=info) allocate(iaux(MAX((nc+2),(nr+2))),stat=info)
if (info /= psb_success_) then if (info /= psb_success_) then
info = psb_err_alloc_dealloc_ info = psb_err_alloc_dealloc_
call psb_errpush(info,name) call psb_errpush(info,name)

@ -4205,7 +4205,7 @@ subroutine psb_s_fix_coo_inner(nr,nc,nzin,dupl,ia,ja,val,nzout,info,idir)
! 'iaux' has to allow the threads to have an exclusive group ! 'iaux' has to allow the threads to have an exclusive group
! of indices as work space. Since each thread handles one ! of indices as work space. Since each thread handles one
! row/column at the time, we allocate this way. ! row/column at the time, we allocate this way.
allocate(iaux(MAX((nc+2),(nr+2))*maxthreads),stat=info) allocate(iaux(MAX((nc+2),(nr+2))),stat=info)
if (info /= psb_success_) then if (info /= psb_success_) then
info = psb_err_alloc_dealloc_ info = psb_err_alloc_dealloc_
call psb_errpush(info,name) call psb_errpush(info,name)

@ -4205,7 +4205,7 @@ subroutine psb_z_fix_coo_inner(nr,nc,nzin,dupl,ia,ja,val,nzout,info,idir)
! 'iaux' has to allow the threads to have an exclusive group ! 'iaux' has to allow the threads to have an exclusive group
! of indices as work space. Since each thread handles one ! of indices as work space. Since each thread handles one
! row/column at the time, we allocate this way. ! row/column at the time, we allocate this way.
allocate(iaux(MAX((nc+2),(nr+2))*maxthreads),stat=info) allocate(iaux(MAX((nc+2),(nr+2))),stat=info)
if (info /= psb_success_) then if (info /= psb_success_) then
info = psb_err_alloc_dealloc_ info = psb_err_alloc_dealloc_
call psb_errpush(info,name) call psb_errpush(info,name)

Loading…
Cancel
Save