[UPDATE] Starting to add geaxpby test, to reach p-digit accuracy on computations

test_dev
Stack-1 11 months ago
parent aa91c924da
commit 931c999e90

@ -0,0 +1,21 @@
# Computational Routines Test
This is a directory containing all the tests done in order to analyze the correctness of the computational routines present in PSBLAS.
## Test Environment
These tests are developed using a linux environment, in particular Rocky Linux 9.5 (Blue Onyx).
The compiler used is:
- gnu 12.2.1
The necessary dependnces are:
- mpich 4.2.2
- psblas 3.9
In order to have the exact same environment used for testing compile PSBALS library using cuda 12.5.
## Routines
- psb_geaxby
- psb_spmm

@ -0,0 +1,41 @@
INSTALLDIR=../../..
INCDIR=$(INSTALLDIR)/include/
MODDIR=$(INSTALLDIR)/modules/
include $(INCDIR)/Make.inc.psblas
#
# Libraries used
#
LIBDIR = $(INSTALLDIR)/lib/
PSBLAS_LIB = -L$(LIBDIR) -lpsb_util -lpsb_base
LDLIBS = $(PSBLDLIBS)
FINCLUDES=$(FMFLAG)$(MODDIR) $(FMFLAG).
EXEDIR=./runs
GREEN=\033[0;32m
RED=\033[0;31m
BLUE=\033[0;34m
YELLOW=\033[33m
END_COLOUR=\033[0m
all: runsd psb_geaxpby_test
@printf "$(GREEN)[INFO]\tCompilation success!$(END_COLOUR)\n"
runsd:
@(if test ! -d runs ; then mkdir runs; fi)
@printf "$(BLUE)[INFO]\tBuild directory $(EXEDIR) correctly initialized$(END_COLOUR)\n"
psb_geaxpby_test:
@$(FLINK) $(LOPT) psb_geaxpby_test.f90 geaxpby.f90 -o psb_geaxpby_test -I$(MODDIR) -I. $(PSBLAS_LIB) $(LDLIBS)
@mv psb_geaxpby_test $(EXEDIR)
@printf "$(BLUE)[INFO]\tTesting files generated correctly$(END_COLOUR)\n"
clean:
@rm -f $(OBJS)\
*$(.mod) $(EXEDIR)/psb_geaxpby_test
.PHONY: all runsd clean

@ -0,0 +1,2 @@
# Introduction
This is a directory developed by Luca Pepè Sciarria and Simone Staccone froma Tor Vergata University to start to create some unit tests for PSBLAS 3.9, in particular for ```psb_geaxpby``` routine.

@ -0,0 +1,31 @@
program main
use psb_geaxpby_test
use psb_base_mod
implicit none
! MPI variables
integer(psb_ipk_) :: my_rank, np
! Communicator variable
type(psb_ctxt_type) :: ctxt
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_geaxpby_test sample program'
end if
call psb_barrier(ctxt)
call psb_exit(ctxt)
return
end program main

@ -0,0 +1,54 @@
!> Test program for y = alpha * x + betha * y psb_geaxbpy routine
!! Check the README.md to see all details about the tests.
!!
!! Authors: Luca Pepé Sciarria, Staccone Simone (Tor Vergata University)
!!
!! Type: Synchronous.
!!
!! ROUTINE PARAMETERS
!! alpha Description: the scalar α.
!! Scope: global
!! Type: required
!! Intent: in
!! Specified as: a number of the data type indicated in Table 1.
!!
!! x Description: the local portion of global dense matrix x.
!! Scope: local
!! Type: required
!! Intent: in
!! Specified as: a rank one or two array or an object of type psb T vect type
!! containing numbers of type specified in Table 1. The rank of x must be
!! the same of y.
!!
!! beta Description: the scalar β.
!! Scope: global
!! Type: required
!! Intent: in.
!! Specified as: a number of the data type indicated in Table 1.
!!
!! y Description: the local portion of the global dense matrix y.
!! Scope: local
!! Type: required
!! Intent: inout
!! Specified as: a rank one or two array or an object of type psb T vect type
!! containing numbers of the type indicated in Table 1. The rank of y must
!! be the same of x.
!!
!! desc_a Description: contains data structures for communications.
!! Scope: local
!! Type: required
!! Intent: in
!! Specified as: an object of type psb desc type.
!!
!! info Description: Error code.
!! Scope: local
!! Type: required
!! Intent: out.
!! Specified as: An integer value; 0 means no error has been detected.
!!
module psb_geaxpby_test
contains
subroutine psb_spmm_kernel()
end subroutine
end module psb_geaxpby_test

@ -1,4 +1,4 @@
INSTALLDIR=../..
INSTALLDIR=../../..
INCDIR=$(INSTALLDIR)/include/
MODDIR=$(INSTALLDIR)/modules/
include $(INCDIR)/Make.inc.psblas
@ -30,7 +30,7 @@ runsd:
psb_spmm_test:
@$(FLINK) $(LOPT) psb_spmm_test.f90 spmm.f90 -o psb_spmm_test -I../../modules/ -I. $(PSBLAS_LIB) $(LDLIBS)
@$(FLINK) $(LOPT) psb_spmm_test.f90 spmm.f90 -o psb_spmm_test -I$(MODDIR) -I. $(PSBLAS_LIB) $(LDLIBS)
@mv psb_spmm_test $(EXEDIR)
@printf "$(BLUE)[INFO]\tTesting files generated correctly$(END_COLOUR)\n"

@ -1,4 +1,4 @@
!> Test program for y = AX spsb_pmm routine
!> Test program for y = AX psb_spmm routine
!! Check the README.md to see all details about the tests.
!!
!! Author: Luca Pepé Sciarria, Staccone Simone (Tor Vergata University)
@ -137,8 +137,6 @@ module psb_spmm_test
output_file_name = output_file_name // "_b3.mtx"
end if
! Save result to output file
call mm_array_write(y,"Result vector",info,filename=output_file_name)

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save