
Hierarchical Iterative Parallel Solver 
Home Overview Download Documentation  
DocumentationHow to run the hips test programIn TESTS/PARALLEL you should find an executable testHIPS.ex. The path of the matrix you want to try as well as some parameters must be set in the file Inputs which is in the same directory. Once you have set the parameters you want to test in Inputs; you can run HIPS like in this example (mpich with 16 processors) : mpirun np 16 ./testHIPS.ex <domsize>
where <domsize> is an integer that indicates which size of interior domain you would like to use.
The <domsize> parameter should be small enough to create at least one domain per processor,
otherwise the program will end with an error message.
This parameter is optional in the case you choose the ``ITERATIVE'' (full iterative) strategy in the Inputs parameter file (see next subsection for details).
Input parameters of the test programThe test program testHIPS.ex read the input parameters in the file ``Inputs''. Here is a description of the Inputs file :
Example of an ``Inputs'' file for the hybrid method :
../MATRICES/bcsstk16.rsa #0# Matrix name and driver 2 #1# 0=unsymmetric pattern, 1=symmetric pattern, 2=symmetric matrix in RSA 0 #2# RHS file name (0=make a rhs (sol = [1])) HYBRID #3# Method (HYBRID, ITERATIVE) 1e7 #4# Relative residual norm ALL #5# Fillin : Strictly=0, Locally=ALL 100 #6# GMRES maximum iteration 100 #7# GMRES restart 0.00 #8# Numerical threshold in ILUT for interior domain 0.001 #9# Numerical threshold in ILUT for the interface 0.001 #10# Numerical threshold for coupling between the interior level and Schur 5 #11# Verbose level [04] (the higher the more it prints informations) Important note for ``HYBRID'' method :
Example of an ``Inputs'' file for the full ITERATIVE method :
../MATRICES/bcsstk16.rsa #0# Matrix name and driver 2 #1# 0=unsymmetric pattern, 1=symmetric pattern, 2=symmetric matrix in RSA 0 #2# RHS file name (0=make a rhs (sol = [1])) ITERATIVE #3# Method (HYBRID, ITERATIVE) 1e7 #4# Relative residual norm ALL #5# Fillin : Strictly=0, Locally=ALL 100 #6# GMRES maximum iteration 100 #7# GMRES restart 0.001 #8# Numerical threshold in ILUT for interior domain 0.001 #9# Numerical threshold in ILUT for the interface 0.001 #10# Numerical threshold for coupling between the interior level and Schur 5 #11# Verbose level [04] (the higher the more it prints informations)Important note for ``ITERATIVE'' method :
Example to read an unsymmetric matrix in Harwell boeing format (RUA) : If you are sure that the matrix non zero pattern is symmetric you can set the parameter #1# to 1. If it is not the case (or you are not sure) set this parameter to 0 : it will symmetrize the matrix nonzero pattern. ../MATRICES/orsirr_1.rua #0# Matrix name and driver 0 #1# 0=unsymmetric pattern, 1=symmetric pattern, 2=symmetric matrix in RSA Example to read a symmetric complex matrix in matrix market format (require to compile the complex version of HIPS) : 3../MATRICES/young4c_.mtx #0# Matrix name and driver 2 #1# 0=unsymmetric pattern, 1=symmetric pattern, 2=symmetric matrix in RSA Example to use a right hand side member : you must write in a file the values of the right hand side in natural order that is to say the original numbering of the matrix in inputs ; the line of the file contains only one entry that is the value of the component of the rhs. ./rhs #2# RHS file name (0=make a rhs (sol = [1]))

