From ce4cad2f7f0403b2f341472fab482d11bac3cedf Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Thu, 27 Mar 2025 17:29:02 +0100 Subject: [PATCH 1/5] Defined timings in spins, but switched off --- base/tools/psb_cspins.F90 | 29 +++++++++++++++++++++++++++-- base/tools/psb_dspins.F90 | 29 +++++++++++++++++++++++++++-- base/tools/psb_sspins.F90 | 29 +++++++++++++++++++++++++++-- base/tools/psb_zspins.F90 | 29 +++++++++++++++++++++++++++-- 4 files changed, 108 insertions(+), 8 deletions(-) diff --git a/base/tools/psb_cspins.F90 b/base/tools/psb_cspins.F90 index e57a98d4..6ed5c629 100644 --- a/base/tools/psb_cspins.F90 +++ b/base/tools/psb_cspins.F90 @@ -78,6 +78,9 @@ subroutine psb_cspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) integer(psb_lpk_), allocatable :: lila(:),ljla(:) complex(psb_spk_), allocatable :: lval(:) character(len=20) :: name + logical, parameter :: do_timings=.false. + integer(psb_ipk_), save :: ins_phase1=-1, ins_phase2=-1, ins_phase3=-1, ins_phase4=-1 + integer(psb_ipk_), save :: ins_phase11=-1, ins_phase12=-1 info = psb_success_ name = 'psb_cspins' @@ -120,6 +123,19 @@ subroutine psb_cspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) else local_ = .false. endif + if ((do_timings).and.(ins_phase1==-1)) & + & ins_phase1 = psb_get_timer_idx("SPINS: and send ") + if ((do_timings).and.(ins_phase2==-1)) & + & ins_phase2 = psb_get_timer_idx("SPINS: and cmp ad") + if ((do_timings).and.(ins_phase3==-1)) & + & ins_phase3 = psb_get_timer_idx("SPINS: and rcv") + if ((do_timings).and.(ins_phase4==-1)) & + & ins_phase4 = psb_get_timer_idx("SPINS: and cmp and") + if ((do_timings).and.(ins_phase11==-1)) & + & ins_phase11 = psb_get_timer_idx("SPINS: noand exch ") + if ((do_timings).and.(ins_phase12==-1)) & + & ins_phase12 = psb_get_timer_idx("SPINS: noand cmp") + if (desc_a%is_bld()) then @@ -240,6 +256,7 @@ subroutine psb_cspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) end if end block #else + if (do_timings) call psb_tic(ins_phase1) !write(0,*) me,' Before g2l ',psb_errstatus_fatal() call desc_a%indxmap%g2l(ia(1:nz),ila(1:nz),info,owned=.true.) @@ -248,6 +265,8 @@ subroutine psb_cspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) & a_err='g2l',i_err=(/info/)) goto 9999 end if + if (do_timings) call psb_toc(ins_phase1) + if (do_timings) call psb_tic(ins_phase2) if (info == 0) call desc_a%indxmap%g2l_ins(ja(1:nz),jla(1:nz),info,& & mask=(ila(1:nz)>0)) @@ -260,15 +279,20 @@ subroutine psb_cspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) end if nrow = desc_a%get_local_rows() ncol = desc_a%get_local_cols() + if (do_timings) call psb_toc(ins_phase2) + !write(0,*) me,' Before csput',psb_errstatus_fatal() if (a%is_bld()) then + if (do_timings) call psb_tic(ins_phase3) call a%csput(nz,ila,jla,val,ione,nrow,ione,ncol,info) if (info /= psb_success_) then info=psb_err_from_subroutine_ call psb_errpush(info,name,a_err='a%csput') goto 9999 end if - + if (do_timings) call psb_toc(ins_phase3) + if (do_timings) call psb_tic(ins_phase4) + if (a%is_remote_build()) then nnl = count(ila(1:nz)<0) if (nnl > 0) then @@ -287,7 +311,8 @@ subroutine psb_cspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) & 1_psb_lpk_,desc_a%get_global_rows(),info) end if end if - + if (do_timings) call psb_toc(ins_phase4) + else info = psb_err_invalid_a_and_cd_state_ call psb_errpush(info,name) diff --git a/base/tools/psb_dspins.F90 b/base/tools/psb_dspins.F90 index c7e05fc9..a9cbbe4b 100644 --- a/base/tools/psb_dspins.F90 +++ b/base/tools/psb_dspins.F90 @@ -78,6 +78,9 @@ subroutine psb_dspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) integer(psb_lpk_), allocatable :: lila(:),ljla(:) real(psb_dpk_), allocatable :: lval(:) character(len=20) :: name + logical, parameter :: do_timings=.false. + integer(psb_ipk_), save :: ins_phase1=-1, ins_phase2=-1, ins_phase3=-1, ins_phase4=-1 + integer(psb_ipk_), save :: ins_phase11=-1, ins_phase12=-1 info = psb_success_ name = 'psb_dspins' @@ -120,6 +123,19 @@ subroutine psb_dspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) else local_ = .false. endif + if ((do_timings).and.(ins_phase1==-1)) & + & ins_phase1 = psb_get_timer_idx("SPINS: and send ") + if ((do_timings).and.(ins_phase2==-1)) & + & ins_phase2 = psb_get_timer_idx("SPINS: and cmp ad") + if ((do_timings).and.(ins_phase3==-1)) & + & ins_phase3 = psb_get_timer_idx("SPINS: and rcv") + if ((do_timings).and.(ins_phase4==-1)) & + & ins_phase4 = psb_get_timer_idx("SPINS: and cmp and") + if ((do_timings).and.(ins_phase11==-1)) & + & ins_phase11 = psb_get_timer_idx("SPINS: noand exch ") + if ((do_timings).and.(ins_phase12==-1)) & + & ins_phase12 = psb_get_timer_idx("SPINS: noand cmp") + if (desc_a%is_bld()) then @@ -240,6 +256,7 @@ subroutine psb_dspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) end if end block #else + if (do_timings) call psb_tic(ins_phase1) !write(0,*) me,' Before g2l ',psb_errstatus_fatal() call desc_a%indxmap%g2l(ia(1:nz),ila(1:nz),info,owned=.true.) @@ -248,6 +265,8 @@ subroutine psb_dspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) & a_err='g2l',i_err=(/info/)) goto 9999 end if + if (do_timings) call psb_toc(ins_phase1) + if (do_timings) call psb_tic(ins_phase2) if (info == 0) call desc_a%indxmap%g2l_ins(ja(1:nz),jla(1:nz),info,& & mask=(ila(1:nz)>0)) @@ -260,15 +279,20 @@ subroutine psb_dspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) end if nrow = desc_a%get_local_rows() ncol = desc_a%get_local_cols() + if (do_timings) call psb_toc(ins_phase2) + !write(0,*) me,' Before csput',psb_errstatus_fatal() if (a%is_bld()) then + if (do_timings) call psb_tic(ins_phase3) call a%csput(nz,ila,jla,val,ione,nrow,ione,ncol,info) if (info /= psb_success_) then info=psb_err_from_subroutine_ call psb_errpush(info,name,a_err='a%csput') goto 9999 end if - + if (do_timings) call psb_toc(ins_phase3) + if (do_timings) call psb_tic(ins_phase4) + if (a%is_remote_build()) then nnl = count(ila(1:nz)<0) if (nnl > 0) then @@ -287,7 +311,8 @@ subroutine psb_dspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) & 1_psb_lpk_,desc_a%get_global_rows(),info) end if end if - + if (do_timings) call psb_toc(ins_phase4) + else info = psb_err_invalid_a_and_cd_state_ call psb_errpush(info,name) diff --git a/base/tools/psb_sspins.F90 b/base/tools/psb_sspins.F90 index 57a29d37..377c6e23 100644 --- a/base/tools/psb_sspins.F90 +++ b/base/tools/psb_sspins.F90 @@ -78,6 +78,9 @@ subroutine psb_sspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) integer(psb_lpk_), allocatable :: lila(:),ljla(:) real(psb_spk_), allocatable :: lval(:) character(len=20) :: name + logical, parameter :: do_timings=.false. + integer(psb_ipk_), save :: ins_phase1=-1, ins_phase2=-1, ins_phase3=-1, ins_phase4=-1 + integer(psb_ipk_), save :: ins_phase11=-1, ins_phase12=-1 info = psb_success_ name = 'psb_sspins' @@ -120,6 +123,19 @@ subroutine psb_sspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) else local_ = .false. endif + if ((do_timings).and.(ins_phase1==-1)) & + & ins_phase1 = psb_get_timer_idx("SPINS: and send ") + if ((do_timings).and.(ins_phase2==-1)) & + & ins_phase2 = psb_get_timer_idx("SPINS: and cmp ad") + if ((do_timings).and.(ins_phase3==-1)) & + & ins_phase3 = psb_get_timer_idx("SPINS: and rcv") + if ((do_timings).and.(ins_phase4==-1)) & + & ins_phase4 = psb_get_timer_idx("SPINS: and cmp and") + if ((do_timings).and.(ins_phase11==-1)) & + & ins_phase11 = psb_get_timer_idx("SPINS: noand exch ") + if ((do_timings).and.(ins_phase12==-1)) & + & ins_phase12 = psb_get_timer_idx("SPINS: noand cmp") + if (desc_a%is_bld()) then @@ -240,6 +256,7 @@ subroutine psb_sspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) end if end block #else + if (do_timings) call psb_tic(ins_phase1) !write(0,*) me,' Before g2l ',psb_errstatus_fatal() call desc_a%indxmap%g2l(ia(1:nz),ila(1:nz),info,owned=.true.) @@ -248,6 +265,8 @@ subroutine psb_sspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) & a_err='g2l',i_err=(/info/)) goto 9999 end if + if (do_timings) call psb_toc(ins_phase1) + if (do_timings) call psb_tic(ins_phase2) if (info == 0) call desc_a%indxmap%g2l_ins(ja(1:nz),jla(1:nz),info,& & mask=(ila(1:nz)>0)) @@ -260,15 +279,20 @@ subroutine psb_sspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) end if nrow = desc_a%get_local_rows() ncol = desc_a%get_local_cols() + if (do_timings) call psb_toc(ins_phase2) + !write(0,*) me,' Before csput',psb_errstatus_fatal() if (a%is_bld()) then + if (do_timings) call psb_tic(ins_phase3) call a%csput(nz,ila,jla,val,ione,nrow,ione,ncol,info) if (info /= psb_success_) then info=psb_err_from_subroutine_ call psb_errpush(info,name,a_err='a%csput') goto 9999 end if - + if (do_timings) call psb_toc(ins_phase3) + if (do_timings) call psb_tic(ins_phase4) + if (a%is_remote_build()) then nnl = count(ila(1:nz)<0) if (nnl > 0) then @@ -287,7 +311,8 @@ subroutine psb_sspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) & 1_psb_lpk_,desc_a%get_global_rows(),info) end if end if - + if (do_timings) call psb_toc(ins_phase4) + else info = psb_err_invalid_a_and_cd_state_ call psb_errpush(info,name) diff --git a/base/tools/psb_zspins.F90 b/base/tools/psb_zspins.F90 index 43191bbe..f5181030 100644 --- a/base/tools/psb_zspins.F90 +++ b/base/tools/psb_zspins.F90 @@ -78,6 +78,9 @@ subroutine psb_zspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) integer(psb_lpk_), allocatable :: lila(:),ljla(:) complex(psb_dpk_), allocatable :: lval(:) character(len=20) :: name + logical, parameter :: do_timings=.false. + integer(psb_ipk_), save :: ins_phase1=-1, ins_phase2=-1, ins_phase3=-1, ins_phase4=-1 + integer(psb_ipk_), save :: ins_phase11=-1, ins_phase12=-1 info = psb_success_ name = 'psb_zspins' @@ -120,6 +123,19 @@ subroutine psb_zspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) else local_ = .false. endif + if ((do_timings).and.(ins_phase1==-1)) & + & ins_phase1 = psb_get_timer_idx("SPINS: and send ") + if ((do_timings).and.(ins_phase2==-1)) & + & ins_phase2 = psb_get_timer_idx("SPINS: and cmp ad") + if ((do_timings).and.(ins_phase3==-1)) & + & ins_phase3 = psb_get_timer_idx("SPINS: and rcv") + if ((do_timings).and.(ins_phase4==-1)) & + & ins_phase4 = psb_get_timer_idx("SPINS: and cmp and") + if ((do_timings).and.(ins_phase11==-1)) & + & ins_phase11 = psb_get_timer_idx("SPINS: noand exch ") + if ((do_timings).and.(ins_phase12==-1)) & + & ins_phase12 = psb_get_timer_idx("SPINS: noand cmp") + if (desc_a%is_bld()) then @@ -240,6 +256,7 @@ subroutine psb_zspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) end if end block #else + if (do_timings) call psb_tic(ins_phase1) !write(0,*) me,' Before g2l ',psb_errstatus_fatal() call desc_a%indxmap%g2l(ia(1:nz),ila(1:nz),info,owned=.true.) @@ -248,6 +265,8 @@ subroutine psb_zspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) & a_err='g2l',i_err=(/info/)) goto 9999 end if + if (do_timings) call psb_toc(ins_phase1) + if (do_timings) call psb_tic(ins_phase2) if (info == 0) call desc_a%indxmap%g2l_ins(ja(1:nz),jla(1:nz),info,& & mask=(ila(1:nz)>0)) @@ -260,15 +279,20 @@ subroutine psb_zspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) end if nrow = desc_a%get_local_rows() ncol = desc_a%get_local_cols() + if (do_timings) call psb_toc(ins_phase2) + !write(0,*) me,' Before csput',psb_errstatus_fatal() if (a%is_bld()) then + if (do_timings) call psb_tic(ins_phase3) call a%csput(nz,ila,jla,val,ione,nrow,ione,ncol,info) if (info /= psb_success_) then info=psb_err_from_subroutine_ call psb_errpush(info,name,a_err='a%csput') goto 9999 end if - + if (do_timings) call psb_toc(ins_phase3) + if (do_timings) call psb_tic(ins_phase4) + if (a%is_remote_build()) then nnl = count(ila(1:nz)<0) if (nnl > 0) then @@ -287,7 +311,8 @@ subroutine psb_zspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) & 1_psb_lpk_,desc_a%get_global_rows(),info) end if end if - + if (do_timings) call psb_toc(ins_phase4) + else info = psb_err_invalid_a_and_cd_state_ call psb_errpush(info,name) From 24e4b76241df09e934ed791d2a167e2e1d9ebf55 Mon Sep 17 00:00:00 2001 From: sfilippone Date: Mon, 31 Mar 2025 10:39:54 +0200 Subject: [PATCH 2/5] Fix cuda subdir makefile --- cuda/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/cuda/Makefile b/cuda/Makefile index 1a595bc7..b47e58ce 100755 --- a/cuda/Makefile +++ b/cuda/Makefile @@ -51,6 +51,7 @@ lib: objs ilib cudalib spgpulib $(AR) $(LIBNAME) $(OBJS) /bin/cp -p $(LIBNAME) $(LIBDIR) +$(COBJS): spgpuinc objs: spgpuinc $(OBJS) iobjs cudaobjs spgpuobjs /bin/cp -p *$(.mod) $(MODDIR) From 448312d27f37f759b2207e93a1375d4c62064bdb Mon Sep 17 00:00:00 2001 From: sfilippone Date: Tue, 1 Apr 2025 11:09:34 +0200 Subject: [PATCH 3/5] Switch off timings in spins --- base/tools/psb_cspins.F90 | 29 ++--------------------------- base/tools/psb_dspins.F90 | 29 ++--------------------------- base/tools/psb_sspins.F90 | 29 ++--------------------------- base/tools/psb_zspins.F90 | 29 ++--------------------------- 4 files changed, 8 insertions(+), 108 deletions(-) diff --git a/base/tools/psb_cspins.F90 b/base/tools/psb_cspins.F90 index 6ed5c629..e57a98d4 100644 --- a/base/tools/psb_cspins.F90 +++ b/base/tools/psb_cspins.F90 @@ -78,9 +78,6 @@ subroutine psb_cspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) integer(psb_lpk_), allocatable :: lila(:),ljla(:) complex(psb_spk_), allocatable :: lval(:) character(len=20) :: name - logical, parameter :: do_timings=.false. - integer(psb_ipk_), save :: ins_phase1=-1, ins_phase2=-1, ins_phase3=-1, ins_phase4=-1 - integer(psb_ipk_), save :: ins_phase11=-1, ins_phase12=-1 info = psb_success_ name = 'psb_cspins' @@ -123,19 +120,6 @@ subroutine psb_cspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) else local_ = .false. endif - if ((do_timings).and.(ins_phase1==-1)) & - & ins_phase1 = psb_get_timer_idx("SPINS: and send ") - if ((do_timings).and.(ins_phase2==-1)) & - & ins_phase2 = psb_get_timer_idx("SPINS: and cmp ad") - if ((do_timings).and.(ins_phase3==-1)) & - & ins_phase3 = psb_get_timer_idx("SPINS: and rcv") - if ((do_timings).and.(ins_phase4==-1)) & - & ins_phase4 = psb_get_timer_idx("SPINS: and cmp and") - if ((do_timings).and.(ins_phase11==-1)) & - & ins_phase11 = psb_get_timer_idx("SPINS: noand exch ") - if ((do_timings).and.(ins_phase12==-1)) & - & ins_phase12 = psb_get_timer_idx("SPINS: noand cmp") - if (desc_a%is_bld()) then @@ -256,7 +240,6 @@ subroutine psb_cspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) end if end block #else - if (do_timings) call psb_tic(ins_phase1) !write(0,*) me,' Before g2l ',psb_errstatus_fatal() call desc_a%indxmap%g2l(ia(1:nz),ila(1:nz),info,owned=.true.) @@ -265,8 +248,6 @@ subroutine psb_cspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) & a_err='g2l',i_err=(/info/)) goto 9999 end if - if (do_timings) call psb_toc(ins_phase1) - if (do_timings) call psb_tic(ins_phase2) if (info == 0) call desc_a%indxmap%g2l_ins(ja(1:nz),jla(1:nz),info,& & mask=(ila(1:nz)>0)) @@ -279,20 +260,15 @@ subroutine psb_cspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) end if nrow = desc_a%get_local_rows() ncol = desc_a%get_local_cols() - if (do_timings) call psb_toc(ins_phase2) - !write(0,*) me,' Before csput',psb_errstatus_fatal() if (a%is_bld()) then - if (do_timings) call psb_tic(ins_phase3) call a%csput(nz,ila,jla,val,ione,nrow,ione,ncol,info) if (info /= psb_success_) then info=psb_err_from_subroutine_ call psb_errpush(info,name,a_err='a%csput') goto 9999 end if - if (do_timings) call psb_toc(ins_phase3) - if (do_timings) call psb_tic(ins_phase4) - + if (a%is_remote_build()) then nnl = count(ila(1:nz)<0) if (nnl > 0) then @@ -311,8 +287,7 @@ subroutine psb_cspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) & 1_psb_lpk_,desc_a%get_global_rows(),info) end if end if - if (do_timings) call psb_toc(ins_phase4) - + else info = psb_err_invalid_a_and_cd_state_ call psb_errpush(info,name) diff --git a/base/tools/psb_dspins.F90 b/base/tools/psb_dspins.F90 index a9cbbe4b..c7e05fc9 100644 --- a/base/tools/psb_dspins.F90 +++ b/base/tools/psb_dspins.F90 @@ -78,9 +78,6 @@ subroutine psb_dspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) integer(psb_lpk_), allocatable :: lila(:),ljla(:) real(psb_dpk_), allocatable :: lval(:) character(len=20) :: name - logical, parameter :: do_timings=.false. - integer(psb_ipk_), save :: ins_phase1=-1, ins_phase2=-1, ins_phase3=-1, ins_phase4=-1 - integer(psb_ipk_), save :: ins_phase11=-1, ins_phase12=-1 info = psb_success_ name = 'psb_dspins' @@ -123,19 +120,6 @@ subroutine psb_dspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) else local_ = .false. endif - if ((do_timings).and.(ins_phase1==-1)) & - & ins_phase1 = psb_get_timer_idx("SPINS: and send ") - if ((do_timings).and.(ins_phase2==-1)) & - & ins_phase2 = psb_get_timer_idx("SPINS: and cmp ad") - if ((do_timings).and.(ins_phase3==-1)) & - & ins_phase3 = psb_get_timer_idx("SPINS: and rcv") - if ((do_timings).and.(ins_phase4==-1)) & - & ins_phase4 = psb_get_timer_idx("SPINS: and cmp and") - if ((do_timings).and.(ins_phase11==-1)) & - & ins_phase11 = psb_get_timer_idx("SPINS: noand exch ") - if ((do_timings).and.(ins_phase12==-1)) & - & ins_phase12 = psb_get_timer_idx("SPINS: noand cmp") - if (desc_a%is_bld()) then @@ -256,7 +240,6 @@ subroutine psb_dspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) end if end block #else - if (do_timings) call psb_tic(ins_phase1) !write(0,*) me,' Before g2l ',psb_errstatus_fatal() call desc_a%indxmap%g2l(ia(1:nz),ila(1:nz),info,owned=.true.) @@ -265,8 +248,6 @@ subroutine psb_dspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) & a_err='g2l',i_err=(/info/)) goto 9999 end if - if (do_timings) call psb_toc(ins_phase1) - if (do_timings) call psb_tic(ins_phase2) if (info == 0) call desc_a%indxmap%g2l_ins(ja(1:nz),jla(1:nz),info,& & mask=(ila(1:nz)>0)) @@ -279,20 +260,15 @@ subroutine psb_dspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) end if nrow = desc_a%get_local_rows() ncol = desc_a%get_local_cols() - if (do_timings) call psb_toc(ins_phase2) - !write(0,*) me,' Before csput',psb_errstatus_fatal() if (a%is_bld()) then - if (do_timings) call psb_tic(ins_phase3) call a%csput(nz,ila,jla,val,ione,nrow,ione,ncol,info) if (info /= psb_success_) then info=psb_err_from_subroutine_ call psb_errpush(info,name,a_err='a%csput') goto 9999 end if - if (do_timings) call psb_toc(ins_phase3) - if (do_timings) call psb_tic(ins_phase4) - + if (a%is_remote_build()) then nnl = count(ila(1:nz)<0) if (nnl > 0) then @@ -311,8 +287,7 @@ subroutine psb_dspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) & 1_psb_lpk_,desc_a%get_global_rows(),info) end if end if - if (do_timings) call psb_toc(ins_phase4) - + else info = psb_err_invalid_a_and_cd_state_ call psb_errpush(info,name) diff --git a/base/tools/psb_sspins.F90 b/base/tools/psb_sspins.F90 index 377c6e23..57a29d37 100644 --- a/base/tools/psb_sspins.F90 +++ b/base/tools/psb_sspins.F90 @@ -78,9 +78,6 @@ subroutine psb_sspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) integer(psb_lpk_), allocatable :: lila(:),ljla(:) real(psb_spk_), allocatable :: lval(:) character(len=20) :: name - logical, parameter :: do_timings=.false. - integer(psb_ipk_), save :: ins_phase1=-1, ins_phase2=-1, ins_phase3=-1, ins_phase4=-1 - integer(psb_ipk_), save :: ins_phase11=-1, ins_phase12=-1 info = psb_success_ name = 'psb_sspins' @@ -123,19 +120,6 @@ subroutine psb_sspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) else local_ = .false. endif - if ((do_timings).and.(ins_phase1==-1)) & - & ins_phase1 = psb_get_timer_idx("SPINS: and send ") - if ((do_timings).and.(ins_phase2==-1)) & - & ins_phase2 = psb_get_timer_idx("SPINS: and cmp ad") - if ((do_timings).and.(ins_phase3==-1)) & - & ins_phase3 = psb_get_timer_idx("SPINS: and rcv") - if ((do_timings).and.(ins_phase4==-1)) & - & ins_phase4 = psb_get_timer_idx("SPINS: and cmp and") - if ((do_timings).and.(ins_phase11==-1)) & - & ins_phase11 = psb_get_timer_idx("SPINS: noand exch ") - if ((do_timings).and.(ins_phase12==-1)) & - & ins_phase12 = psb_get_timer_idx("SPINS: noand cmp") - if (desc_a%is_bld()) then @@ -256,7 +240,6 @@ subroutine psb_sspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) end if end block #else - if (do_timings) call psb_tic(ins_phase1) !write(0,*) me,' Before g2l ',psb_errstatus_fatal() call desc_a%indxmap%g2l(ia(1:nz),ila(1:nz),info,owned=.true.) @@ -265,8 +248,6 @@ subroutine psb_sspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) & a_err='g2l',i_err=(/info/)) goto 9999 end if - if (do_timings) call psb_toc(ins_phase1) - if (do_timings) call psb_tic(ins_phase2) if (info == 0) call desc_a%indxmap%g2l_ins(ja(1:nz),jla(1:nz),info,& & mask=(ila(1:nz)>0)) @@ -279,20 +260,15 @@ subroutine psb_sspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) end if nrow = desc_a%get_local_rows() ncol = desc_a%get_local_cols() - if (do_timings) call psb_toc(ins_phase2) - !write(0,*) me,' Before csput',psb_errstatus_fatal() if (a%is_bld()) then - if (do_timings) call psb_tic(ins_phase3) call a%csput(nz,ila,jla,val,ione,nrow,ione,ncol,info) if (info /= psb_success_) then info=psb_err_from_subroutine_ call psb_errpush(info,name,a_err='a%csput') goto 9999 end if - if (do_timings) call psb_toc(ins_phase3) - if (do_timings) call psb_tic(ins_phase4) - + if (a%is_remote_build()) then nnl = count(ila(1:nz)<0) if (nnl > 0) then @@ -311,8 +287,7 @@ subroutine psb_sspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) & 1_psb_lpk_,desc_a%get_global_rows(),info) end if end if - if (do_timings) call psb_toc(ins_phase4) - + else info = psb_err_invalid_a_and_cd_state_ call psb_errpush(info,name) diff --git a/base/tools/psb_zspins.F90 b/base/tools/psb_zspins.F90 index f5181030..43191bbe 100644 --- a/base/tools/psb_zspins.F90 +++ b/base/tools/psb_zspins.F90 @@ -78,9 +78,6 @@ subroutine psb_zspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) integer(psb_lpk_), allocatable :: lila(:),ljla(:) complex(psb_dpk_), allocatable :: lval(:) character(len=20) :: name - logical, parameter :: do_timings=.false. - integer(psb_ipk_), save :: ins_phase1=-1, ins_phase2=-1, ins_phase3=-1, ins_phase4=-1 - integer(psb_ipk_), save :: ins_phase11=-1, ins_phase12=-1 info = psb_success_ name = 'psb_zspins' @@ -123,19 +120,6 @@ subroutine psb_zspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) else local_ = .false. endif - if ((do_timings).and.(ins_phase1==-1)) & - & ins_phase1 = psb_get_timer_idx("SPINS: and send ") - if ((do_timings).and.(ins_phase2==-1)) & - & ins_phase2 = psb_get_timer_idx("SPINS: and cmp ad") - if ((do_timings).and.(ins_phase3==-1)) & - & ins_phase3 = psb_get_timer_idx("SPINS: and rcv") - if ((do_timings).and.(ins_phase4==-1)) & - & ins_phase4 = psb_get_timer_idx("SPINS: and cmp and") - if ((do_timings).and.(ins_phase11==-1)) & - & ins_phase11 = psb_get_timer_idx("SPINS: noand exch ") - if ((do_timings).and.(ins_phase12==-1)) & - & ins_phase12 = psb_get_timer_idx("SPINS: noand cmp") - if (desc_a%is_bld()) then @@ -256,7 +240,6 @@ subroutine psb_zspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) end if end block #else - if (do_timings) call psb_tic(ins_phase1) !write(0,*) me,' Before g2l ',psb_errstatus_fatal() call desc_a%indxmap%g2l(ia(1:nz),ila(1:nz),info,owned=.true.) @@ -265,8 +248,6 @@ subroutine psb_zspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) & a_err='g2l',i_err=(/info/)) goto 9999 end if - if (do_timings) call psb_toc(ins_phase1) - if (do_timings) call psb_tic(ins_phase2) if (info == 0) call desc_a%indxmap%g2l_ins(ja(1:nz),jla(1:nz),info,& & mask=(ila(1:nz)>0)) @@ -279,20 +260,15 @@ subroutine psb_zspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) end if nrow = desc_a%get_local_rows() ncol = desc_a%get_local_cols() - if (do_timings) call psb_toc(ins_phase2) - !write(0,*) me,' Before csput',psb_errstatus_fatal() if (a%is_bld()) then - if (do_timings) call psb_tic(ins_phase3) call a%csput(nz,ila,jla,val,ione,nrow,ione,ncol,info) if (info /= psb_success_) then info=psb_err_from_subroutine_ call psb_errpush(info,name,a_err='a%csput') goto 9999 end if - if (do_timings) call psb_toc(ins_phase3) - if (do_timings) call psb_tic(ins_phase4) - + if (a%is_remote_build()) then nnl = count(ila(1:nz)<0) if (nnl > 0) then @@ -311,8 +287,7 @@ subroutine psb_zspins(nz,ia,ja,val,a,desc_a,info,rebuild,local) & 1_psb_lpk_,desc_a%get_global_rows(),info) end if end if - if (do_timings) call psb_toc(ins_phase4) - + else info = psb_err_invalid_a_and_cd_state_ call psb_errpush(info,name) From 110a66e7d0cee76db1884b6c3fc6b14159125b70 Mon Sep 17 00:00:00 2001 From: sfilippone Date: Tue, 1 Apr 2025 11:09:47 +0200 Subject: [PATCH 4/5] Switch off some debug write --- base/serial/impl/psb_c_coo_impl.F90 | 4 ++-- base/serial/impl/psb_d_coo_impl.F90 | 4 ++-- base/serial/impl/psb_s_coo_impl.F90 | 4 ++-- base/serial/impl/psb_z_coo_impl.F90 | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/base/serial/impl/psb_c_coo_impl.F90 b/base/serial/impl/psb_c_coo_impl.F90 index 1b162457..53ffcea9 100644 --- a/base/serial/impl/psb_c_coo_impl.F90 +++ b/base/serial/impl/psb_c_coo_impl.F90 @@ -2879,9 +2879,9 @@ subroutine psb_c_coo_csput_a(nz,ia,ja,val,a,imin,imax,jmin,jmax,info) if (info /= 0) write(0,*) name,' point 0:',info,isza,nza,nz ! Build phase. Must handle reallocations in a sensible way. if (isza < (nza+nz)) then - write(0,*) ' before reallocate in csput ',psb_errstatus_fatal(),info + !write(0,*) ' before reallocate in csput ',psb_errstatus_fatal(),info call a%reallocate(max(nza+nz,int(1.5*isza))) - write(0,*) ' after reallocate in csput ',psb_errstatus_fatal(),info + !write(0,*) ' after reallocate in csput ',psb_errstatus_fatal(),info endif isza = a%get_size() if (isza < (nza+nz)) then diff --git a/base/serial/impl/psb_d_coo_impl.F90 b/base/serial/impl/psb_d_coo_impl.F90 index 9a20164a..7a79847e 100644 --- a/base/serial/impl/psb_d_coo_impl.F90 +++ b/base/serial/impl/psb_d_coo_impl.F90 @@ -2879,9 +2879,9 @@ subroutine psb_d_coo_csput_a(nz,ia,ja,val,a,imin,imax,jmin,jmax,info) if (info /= 0) write(0,*) name,' point 0:',info,isza,nza,nz ! Build phase. Must handle reallocations in a sensible way. if (isza < (nza+nz)) then - write(0,*) ' before reallocate in csput ',psb_errstatus_fatal(),info + !write(0,*) ' before reallocate in csput ',psb_errstatus_fatal(),info call a%reallocate(max(nza+nz,int(1.5*isza))) - write(0,*) ' after reallocate in csput ',psb_errstatus_fatal(),info + !write(0,*) ' after reallocate in csput ',psb_errstatus_fatal(),info endif isza = a%get_size() if (isza < (nza+nz)) then diff --git a/base/serial/impl/psb_s_coo_impl.F90 b/base/serial/impl/psb_s_coo_impl.F90 index e944ce7c..b4e6a8df 100644 --- a/base/serial/impl/psb_s_coo_impl.F90 +++ b/base/serial/impl/psb_s_coo_impl.F90 @@ -2879,9 +2879,9 @@ subroutine psb_s_coo_csput_a(nz,ia,ja,val,a,imin,imax,jmin,jmax,info) if (info /= 0) write(0,*) name,' point 0:',info,isza,nza,nz ! Build phase. Must handle reallocations in a sensible way. if (isza < (nza+nz)) then - write(0,*) ' before reallocate in csput ',psb_errstatus_fatal(),info + !write(0,*) ' before reallocate in csput ',psb_errstatus_fatal(),info call a%reallocate(max(nza+nz,int(1.5*isza))) - write(0,*) ' after reallocate in csput ',psb_errstatus_fatal(),info + !write(0,*) ' after reallocate in csput ',psb_errstatus_fatal(),info endif isza = a%get_size() if (isza < (nza+nz)) then diff --git a/base/serial/impl/psb_z_coo_impl.F90 b/base/serial/impl/psb_z_coo_impl.F90 index f88dc92b..949d0384 100644 --- a/base/serial/impl/psb_z_coo_impl.F90 +++ b/base/serial/impl/psb_z_coo_impl.F90 @@ -2879,9 +2879,9 @@ subroutine psb_z_coo_csput_a(nz,ia,ja,val,a,imin,imax,jmin,jmax,info) if (info /= 0) write(0,*) name,' point 0:',info,isza,nza,nz ! Build phase. Must handle reallocations in a sensible way. if (isza < (nza+nz)) then - write(0,*) ' before reallocate in csput ',psb_errstatus_fatal(),info + !write(0,*) ' before reallocate in csput ',psb_errstatus_fatal(),info call a%reallocate(max(nza+nz,int(1.5*isza))) - write(0,*) ' after reallocate in csput ',psb_errstatus_fatal(),info + !write(0,*) ' after reallocate in csput ',psb_errstatus_fatal(),info endif isza = a%get_size() if (isza < (nza+nz)) then From 922f7dd2786174b4f3f00e7795d8cb10b3ce7d2c Mon Sep 17 00:00:00 2001 From: sfilippone Date: Tue, 8 Apr 2025 13:40:33 +0200 Subject: [PATCH 5/5] Tweak SIMD directives for CSR. --- base/serial/impl/psb_c_csr_impl.F90 | 24 ++++++++++++------------ base/serial/impl/psb_d_csr_impl.F90 | 24 ++++++++++++------------ base/serial/impl/psb_s_csr_impl.F90 | 24 ++++++++++++------------ base/serial/impl/psb_z_csr_impl.F90 | 24 ++++++++++++------------ 4 files changed, 48 insertions(+), 48 deletions(-) diff --git a/base/serial/impl/psb_c_csr_impl.F90 b/base/serial/impl/psb_c_csr_impl.F90 index 5a795583..0e040a7b 100644 --- a/base/serial/impl/psb_c_csr_impl.F90 +++ b/base/serial/impl/psb_c_csr_impl.F90 @@ -152,7 +152,7 @@ contains !$omp parallel do private(i,j, acc) schedule(static) do i=1,m acc = czero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -164,7 +164,7 @@ contains !$omp parallel do private(i,j, acc) do i=1,m acc = czero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -176,7 +176,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = czero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -192,7 +192,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = czero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -204,7 +204,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = czero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -216,7 +216,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = czero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -231,7 +231,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = czero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -243,7 +243,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = czero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -255,7 +255,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = czero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -270,7 +270,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = czero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -282,7 +282,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = czero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -294,7 +294,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = czero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo diff --git a/base/serial/impl/psb_d_csr_impl.F90 b/base/serial/impl/psb_d_csr_impl.F90 index af842c16..d6b6e9cb 100644 --- a/base/serial/impl/psb_d_csr_impl.F90 +++ b/base/serial/impl/psb_d_csr_impl.F90 @@ -152,7 +152,7 @@ contains !$omp parallel do private(i,j, acc) schedule(static) do i=1,m acc = dzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -164,7 +164,7 @@ contains !$omp parallel do private(i,j, acc) do i=1,m acc = dzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -176,7 +176,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = dzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -192,7 +192,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = dzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -204,7 +204,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = dzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -216,7 +216,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = dzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -231,7 +231,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = dzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -243,7 +243,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = dzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -255,7 +255,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = dzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -270,7 +270,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = dzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -282,7 +282,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = dzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -294,7 +294,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = dzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo diff --git a/base/serial/impl/psb_s_csr_impl.F90 b/base/serial/impl/psb_s_csr_impl.F90 index 01657071..49d168bb 100644 --- a/base/serial/impl/psb_s_csr_impl.F90 +++ b/base/serial/impl/psb_s_csr_impl.F90 @@ -152,7 +152,7 @@ contains !$omp parallel do private(i,j, acc) schedule(static) do i=1,m acc = szero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -164,7 +164,7 @@ contains !$omp parallel do private(i,j, acc) do i=1,m acc = szero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -176,7 +176,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = szero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -192,7 +192,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = szero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -204,7 +204,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = szero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -216,7 +216,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = szero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -231,7 +231,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = szero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -243,7 +243,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = szero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -255,7 +255,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = szero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -270,7 +270,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = szero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -282,7 +282,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = szero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -294,7 +294,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = szero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo diff --git a/base/serial/impl/psb_z_csr_impl.F90 b/base/serial/impl/psb_z_csr_impl.F90 index 947c8329..1fc387d8 100644 --- a/base/serial/impl/psb_z_csr_impl.F90 +++ b/base/serial/impl/psb_z_csr_impl.F90 @@ -152,7 +152,7 @@ contains !$omp parallel do private(i,j, acc) schedule(static) do i=1,m acc = zzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -164,7 +164,7 @@ contains !$omp parallel do private(i,j, acc) do i=1,m acc = zzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -176,7 +176,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = zzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -192,7 +192,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = zzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -204,7 +204,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = zzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -216,7 +216,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = zzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -231,7 +231,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = zzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -243,7 +243,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = zzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -255,7 +255,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = zzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -270,7 +270,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = zzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -282,7 +282,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = zzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo @@ -294,7 +294,7 @@ contains !$omp parallel do private(i,j,acc) do i=1,m acc = zzero - !$omp simd + !$omp simd reduction(+:acc) do j=irp(i), irp(i+1)-1 acc = acc + val(j) * x(ja(j)) enddo