You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
psblas3/test/spmm/spmm.f90

74 lines
1.6 KiB
Fortran

program main
use psb_spmm_test
use psb_base_mod
implicit none
! matrix stats variables
integer(psb_ipk_) :: rows, cols
! MPI variables
integer(psb_ipk_) :: my_rank, np
! parameters array
character(len=64) :: x(4),y(4)
real(psb_ipk_) :: alpha(3), beta(3)
! cycle indexes variables
integer(psb_ipk_) :: i,j,k,h,l
! Communicator variable
type(psb_ctxt_type) :: ctxt
! Initialize parameters
x(1) = "vectors/x1.mtx"
x(2) = "vectors/x2.mtx"
x(3) = "vectors/x3.mtx"
x(4) = "vectors/x4.mtx"
y(1) = "vectors/y1.mtx"
y(2) = "vectors/y2.mtx"
y(3) = "vectors/y3.mtx"
y(4) = "vectors/y4.mtx"
alpha(1) = sone
alpha(2) = -sone
alpha(3) = szero
beta(1) = sone
beta(2) = -sone
beta(3) = szero
call psb_init(ctxt)
call psb_info(ctxt,my_rank,np)
if(my_rank == psb_root_) then
write(psb_out_unit,*) 'Welcome to PSBLAS version: ',psb_version_string_
write(psb_out_unit,*) 'This is the psb_spmm_test sample program'
call read_matrix_market_size("matrix/1138_bus.mtx", rows, cols)
call generate_vectors(rows,cols)
end if
call psb_barrier(ctxt)
!! 1138_bus matrix (sparse)
do i=1,4
do j=1,4
do k=1,3
do h=1,3
call psb_spmm_kernel(mtx_file="matrix/1138_bus.mtx",x_file=x(i), y_file=y(j), &
& alpha = alpha(k), beta = beta(h), ctxt = ctxt)
end do
end do
end do
end do
call psb_exit(ctxt)
return
end program main