From 51b83402fb1c248a2a500e48fce7579e6857396c Mon Sep 17 00:00:00 2001 From: sfilippone Date: Fri, 4 Apr 2025 15:51:56 +0200 Subject: [PATCH] Rename kernel test and add number of threads --- test/kernel/{pdgenspmv.f90 => pdgenspmv.F90} | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) rename test/kernel/{pdgenspmv.f90 => pdgenspmv.F90} (98%) diff --git a/test/kernel/pdgenspmv.f90 b/test/kernel/pdgenspmv.F90 similarity index 98% rename from test/kernel/pdgenspmv.f90 rename to test/kernel/pdgenspmv.F90 index b7204edd..736c1eee 100644 --- a/test/kernel/pdgenspmv.f90 +++ b/test/kernel/pdgenspmv.F90 @@ -191,7 +191,7 @@ contains integer(psb_ipk_) :: npx,npy,npz, iamx,iamy,iamz,mynx,myny,mynz integer(psb_ipk_), allocatable :: bndx(:),bndy(:),bndz(:) ! Process grid - integer(psb_ipk_) :: np, iam + integer(psb_ipk_) :: np, iam, nth integer(psb_ipk_) :: icoeff integer(psb_lpk_), allocatable :: irow(:),icol(:),myidx(:) real(psb_dpk_), allocatable :: val(:) @@ -550,6 +550,9 @@ program pdgenspmv use psb_base_mod use psb_util_mod use psb_d_pde3d_mod +#if defined(PSB_OPENMP) + use omp_lib +#endif implicit none @@ -571,7 +574,7 @@ program pdgenspmv real(psb_dpk_), allocatable :: tst(:) ! blacs parameters type(psb_ctxt_type) :: ctxt - integer(psb_ipk_) :: iam, np + integer(psb_ipk_) :: iam, np, nth ! solver parameters integer(psb_ipk_) :: iter, itmax,itrace, istopc, irst, nr, ipart @@ -589,6 +592,15 @@ program pdgenspmv call psb_init(ctxt) call psb_info(ctxt,iam,np) +#if defined(PSB_OPENMP) + !$OMP parallel shared(nth) + !$OMP master + nth = omp_get_num_threads() + !$OMP end master + !$OMP end parallel +#else + nth = 1 +#endif if (iam < 0) then ! This should not happen, but just in case @@ -667,7 +679,9 @@ program pdgenspmv flops = 2.d0*times*annz tflops=flops write(psb_out_unit,'("Matrix: ell1 ",i0)') idim - write(psb_out_unit,'("Test on : ",i20," processors")') np + write(psb_out_unit,'("Test on : ",i20," processes ")') np + write(psb_out_unit,'("Test on : ",i20," threads ")') nth + write(psb_out_unit,'("Total number of tasks : ",i20 )') nth*np write(psb_out_unit,'("Size of matrix : ",i20," ")') nr write(psb_out_unit,'("Number of nonzeros : ",i20," ")') annz write(psb_out_unit,'("Memory occupation : ",i20," ")') amatsize