hpcg_kernel(1)
π hpcg_kernel π β the NAME section, bestie
so this page is for hpcg_kernel β the high performance conjugate gradient kernel benchmark β¨ (it lives in section 1 of the Utility Commands manual, in case you were wondering π«Ά)
π SYNOPSIS π
hpcg_kernel matrix_type solution_filename rhistory_filename [options]
π DESCRIPTION π
okay so here's the vibe: this program solves the linear equation Ax = b using an additive Schwarz, symmetric Gauss-Seidel preconditioned conjugate gradient solver. the coefficient matrix A of size lmn comes from a discretized three dimensional Poisson's equation, using the twenty-seven point central difference scheme β iconic, honestly. the coefficient matrix gets stored in the storage format you pick with matrix_type, and the solver is whatever you pick with options. π
it drops the solution into solution_filename in the extended Matrix Market format, and the residual history into rhistory_filename in the PLAIN format (peep the Appendix of the Lis User Guide for that one). the right-hand side vector is set such that the values of the elements of the solution are 1. and the values l, m and n? those are the numbers of grid points in each dimension. no cap. π
β¨ OVERRIDE OPTIONS β¨
the following options are supported, bestie β take notes π
-ilinear solver β pick your linear solver. here's the whole menu:-i {cg|1}β CG-i {bicg|2}β BiCG-i {cgs|3}β CGS-i {bicgstab|4}β BiCGSTAB-i {bicgstabl|5}β BiCGSTAB(l)-ell[2]β the degree l
-i {gpbicg|6}β GPBiCG-i {tfqmr|7}β TFQMR-i {orthomin|8}β Orthomin(m)-restart[40]β the restart value m
-i {gmres|9}β GMRES(m)-restart[40]β the restart value m
-i {jacobi|10}β Jacobi-i {gs|11}β Gauss-Seidel-i {sor|12}β SOR-omega[1.9]β the relaxation coefficient omega, and it's gotta be0<omega<2
-i {bicgsafe|13}β BiCGSafe-i {cr|14}β CR-i {bicr|15}β BiCR-i {crs|16}β CRS-i {bicrstab|17}β BiCRSTAB-i {gpbicr|18}β GPBiCR-i {bicrsafe|19}β BiCRSafe-i {fgmres|20}β FGMRES(m)-restart[40]β the restart value m
-i {idrs|21}β IDR(s)-irestart[2]β the restart value s
-i {idr1|22}β IDR(1)-i {minres|23}β MINRES-i {COCG|24}β COCG-i {COCR|25}β COCR
-ppreconditioner β and now the preconditioner, the other main character:-p {none|0}β None-p {jacobi|1}β Jacobi-p {ilu|2}β ILU(k)-ilu_fill[0]β the fill level k
-p {ssor|3}β SSOR-ssor_omega[1.0]β the relaxation coefficient omega, still gotta be0<omega<2
-p {hybrid|4}β Hybrid-hybrid_i[sor]β the linear solver-hybrid_maxiter[25]β the maximum number of the iterations-hybrid_tol[1.0e-3]β the convergence criterion-hybrid_omega[1.5]β the relaxation coefficient omega of the SOR (0<omega<2)-hybrid_ell[2]β the degree l of the BiCGSTAB(l)-hybrid_restart[40]β the restart values of the GMRES and Orthomin
-p {is|5}β I+S-is_alpha[1.0]β the parameter alpha of I+alpha*S(m)-is_m[3]β the parameter m of I+alpha*S(m)
-p {sainv|6}β SAINV-sainv_drop[0.05]β the drop criterion
-p {saamg|7}β SA-AMG-saamg_unsym[false]β select the unsymmetric version (heads up: the matrix structure must be symmetric π)-saamg_theta[0.05|0.12]β the drop criterion
-p {iluc|8}β Crout ILU-iluc_drop[0.05]β the drop criterion-iluc_rate[5.0]β the ration of maximum fill-in
-p {ilut|9}β ILUT-ilut_drop[0.05]β the drop criterion-ilut_rate[5.0]β the ration of maximum fill-in
-adds trueβ Additive Schwarz-adds_iter[1]β the number of the iteration
π«Ά Other Options π«Ά
-maxiter[1000]β the maximum number of the iterations-tol[1.0e-12]β the convergence criterion-print[0]β the display of the residual history-print {none|0}β None-print {mem|1}β Save the residual history-print {out|2}β Display the residual history-print {all|3}β Save the residual history and output it to the standard output
-scale[0]β the scaling-scale {none|0}β No scaling-scale {jacobi|1}β The Jacobi scaling-scale {symm_diag|2}β The diagonal scaling
-initx_zeros[true]β the behavior of the initial vectorx_0-initx_zero {false|0}β Given values-initx_zero {true|1}β All values are set to 0
-omp_num_threads[t]β the number of the threads (t represents the maximum number of the threads)-storage[0]β the matrix storage format-storage_block[2]β the block size of the BSR and BSC formats-f[0]β the precision of the linear solver-f {double|0}β Double precision-f {quad|1}β Double-double (quadruple) precision
See Lis User Guide for full description. π (fr fr, go read it if you want the whole lore)
π EXIT STATUS π
the following exit values are returned:
0β the process is normally terminated π₯³unspecifiedβ an error occurred π
π SEE ALSO π
lis(3), lsolve(1), esolve(1), hpcg_spmvtest(1), spmvtest1(1), spmvtest2(1), spmvtest2b(1), spmvtest3(1), spmvtest3b(1), spmvtest4(1), spmvtest5(1)
and that's the whole page, bestie π this lil' Man Page came out on 14 Sep 2017, filed under hpcg_kernel(1) β go slay some sparse linear systems, you got this β¨ππ¦
π¦ where this page comes from
- fedora 43: lis-bin 2.0.21-13.fc41 Β· BSD
- fedora 43: lis-bin 2.1.11-1.fc43 Β· LicenseRef-Callaway-BSD
- fedora 44: lis-bin 2.0.21-13.fc41 Β· BSD
- fedora 44: lis-bin 2.1.11-1.fc44 Β· LicenseRef-Callaway-BSD
- nixos 26.05: lis 2.1.10
- nixpkgs unstable: lis 2.1.16
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms