From 3e679fccd3cebd42fa3afcdb18ced55d611c6139 Mon Sep 17 00:00:00 2001 From: Tatiana Dehoff Date: Mon, 23 Sep 2024 23:28:02 +0000 Subject: [PATCH 1/8] matgen: fix ris and orthog to account for 0-based indexing --- matgen/generate_matrix_ge.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/matgen/generate_matrix_ge.cc b/matgen/generate_matrix_ge.cc index 2afc4e890..66188f8d4 100644 --- a/matgen/generate_matrix_ge.cc +++ b/matgen/generate_matrix_ge.cc @@ -203,7 +203,7 @@ void generate_matrix( const scalar_t inner_const = pi/scalar_t(max_mn+1); entry_type orthog_entry = [ outer_const, inner_const ]( int64_t i, int64_t j) { - scalar_t a = scalar_t(i) * scalar_t(j) * inner_const; + scalar_t a = scalar_t(i+1) * scalar_t(j+1) * inner_const; return outer_const * sin(a); }; set( orthog_entry, A, opts ); @@ -228,7 +228,8 @@ void generate_matrix( case TestMatrixType::ris: { const int64_t max_mn = std::max(n, m); entry_type ris_entry = [max_mn]( int64_t i, int64_t j ) { - return 0.5 / ( max_mn - j - i + 1.5 ); + // n-(j + 1)-(i + 1)+1.5 = n-j-i-0.5 + return 0.5 / ( max_mn - j - i - 0.5); }; set( ris_entry, A, opts ); break; From 5fba23092e285c5c52dfe9d76f338046a5186057 Mon Sep 17 00:00:00 2001 From: tdehoff Date: Thu, 26 Sep 2024 01:29:27 +0000 Subject: [PATCH 2/8] matgen: added minij, hilb, frank, lehmer, lotkin, redheff, triw, tridiag, toeppen, pei, parter, moler, --- matgen/generate_matrix_ge.cc | 129 ++++++++++++++++++++++++++++++++ matgen/generate_matrix_utils.cc | 24 ++++++ matgen/generate_matrix_utils.hh | 12 +++ 3 files changed, 165 insertions(+) diff --git a/matgen/generate_matrix_ge.cc b/matgen/generate_matrix_ge.cc index 66188f8d4..f0dab1c77 100644 --- a/matgen/generate_matrix_ge.cc +++ b/matgen/generate_matrix_ge.cc @@ -290,6 +290,135 @@ void generate_matrix( generate_geevx( params, dist, cond, sigma_max, A, Sigma, seed, opts ); break; } + + case TestMatrixType::minij: { + entry_type minij_entry = []( int64_t i, int64_t j ) { + return std::min(i + 1, j + 1); + }; + set( minij_entry, A, opts ); + break; + } + + case TestMatrixType::hilb: { + entry_type hilb_entry = []( int64_t i, int64_t j ) { + return 1.0 / (i + j + 1); + }; + set( hilb_entry, A, opts ); + break; + } + + case TestMatrixType::frank: { + const int64_t max_mn = std::max(n, m); + entry_type frank_entry = [max_mn]( int64_t i, int64_t j ) { + if ((i - j) > 1) { + return int64_t( 0 ); + } + else if ((i - j) == 1) { + return max_mn - j - 1; + } + else { + return max_mn - j; + } + }; + set( frank_entry, A, opts ); + break; + } + + case TestMatrixType::lehmer: { + entry_type lehmer_entry = []( int64_t i, int64_t j ) { + return double (std::min(i, j) + 1) / (std::max(i, j) + 1); + }; + set( lehmer_entry, A, opts ); + break; + } + + case TestMatrixType::lotkin: { + entry_type lotkin_entry = []( int64_t i, int64_t j ) { + return (i == 0 ? 1.0 : (1.0 / (i + j + 1))); + }; + set( lotkin_entry, A, opts ); + break; + } + + case TestMatrixType::redheff: { + entry_type redheff_entry = []( int64_t i, int64_t j ) { + return ((j+1) % (i+1) == 0 || j == 0 ? 1 : 0); + }; + set( redheff_entry, A, opts ); + break; + } + + case TestMatrixType::triw: { + entry_type triw_entry = []( int64_t i, int64_t j ) { + if (i == j) { + return 1; + } + else if (i > j) { + return 0; + } + else { + return -1; + } + }; + set( triw_entry, A, opts ); + break; + } + + case TestMatrixType::pei: { + entry_type pei_entry = []( int64_t i, int64_t j ) { + return (i == j ? 2 : 1); + }; + set( pei_entry, A, opts); + break; + } + + case TestMatrixType::tridiag: { + entry_type tridiag_entry = []( int64_t i, int64_t j ) { + if (i == j) { + return 2; + } + else if (std::abs(i - j) == 1) { + return -1; + } + else { + return 0; + } + }; + set( tridiag_entry, A, opts ); + break; + } + + case TestMatrixType::toeppen: { + entry_type toeppen_entry = []( int64_t i, int64_t j ) { + if (std::abs(j - i) == 1) { + return int ((j - i) * 10); + } + else if (std::abs(i - j) == 2) { + return 1; + } + else { + return 0; + } + }; + set( toeppen_entry, A, opts ); + break; + } + + case TestMatrixType::parter: { + entry_type parter_entry = []( int64_t i, int64_t j ) { + return 1 / (i - j + 0.5); + }; + set( parter_entry, A, opts ); + break; + } + + case TestMatrixType::moler: { + entry_type moler_entry = []( int64_t i, int64_t j ) { + return (i == j ? i + 1 : std::min(i, j) - 1); + }; + set( moler_entry, A, opts ); + break; + } } // rand types have already been made diagonally dominant. diff --git a/matgen/generate_matrix_utils.cc b/matgen/generate_matrix_utils.cc index 88b6ec9e7..6ee3cf6ac 100644 --- a/matgen/generate_matrix_utils.cc +++ b/matgen/generate_matrix_utils.cc @@ -84,6 +84,18 @@ void generate_matrix_usage() "riemann | matrix entry i,j equal to i+1 if j+2 divides i+2 else -1\n" "ris | matrix entry i,j equal to 0.5/(n-i-j+1.5)\n" "zielkeNS | nonsymmetric matrix of Zielke\n" + "minij | matrix entry i,j equal to min(i,j)\n" + "hilb | matrix entry i,j equal to 1/(i+j-1)\n" + "frank | square upper Hessenberg matrix with determinant 1\n" + "lehmer | matrix entry i,j equal to i/j if j>=i else j/i \n" + "lotkin | Hilbert matrix with 1's in its first row" + "redheff | matrix entry i,j equal to 1 if j==1 or i divides j, else 0\n" + "triw | upper triangular matrix with 1's on the diagonal and -1's above the diagonal\n" + "pei | 2's on diagonal, rest 1's\n" + "tridiag | 2's on diagonal, -1's on sub- and superdiagonal, rest zero\n" + "toeppen | 1's on second subdiagonal and second superdiagonal, -10's on subdiagonal, 10's on superdiagonal, rest zero\n" + "parter | matrix entry i,j equal to 1/(i-j+0.5)\n" + "moler | matrix entry i,j equal to i on diagonal, rest min(i,j)\n" " | \n" "rand@ | matrix entries random uniform on (0, 1)\n" "rands@ | matrix entries random uniform on (-1, 1)\n" @@ -230,6 +242,18 @@ void decode_matrix( base == "syev" ) { type = TestMatrixType::heev; } else if (base == "geevx" ) { type = TestMatrixType::geevx; } else if (base == "geev" ) { type = TestMatrixType::geev; } + else if (base == "minij" ) { type = TestMatrixType::minij; } + else if (base == "hilb" ) { type = TestMatrixType::hilb; } + else if (base == "frank" ) { type = TestMatrixType::frank; } + else if (base == "lehmer" ) { type = TestMatrixType::lehmer; } + else if (base == "lotkin" ) { type = TestMatrixType::lotkin; } + else if (base == "redheff" ) { type = TestMatrixType::redheff; } + else if (base == "triw" ) { type = TestMatrixType::triw; } + else if (base == "tridiag" ) { type = TestMatrixType::tridiag; } + else if (base == "toeppen" ) { type = TestMatrixType::toeppen; } + else if (base == "pei" ) { type = TestMatrixType::pei; } + else if (base == "parter" ) { type = TestMatrixType::parter; } + else if (base == "moler" ) { type = TestMatrixType::moler; } else { snprintf( msg, sizeof( msg ), "in '%s': unknown matrix '%s'", kind.c_str(), base.c_str() ); diff --git a/matgen/generate_matrix_utils.hh b/matgen/generate_matrix_utils.hh index cdb1eb6df..520c04057 100644 --- a/matgen/generate_matrix_utils.hh +++ b/matgen/generate_matrix_utils.hh @@ -53,6 +53,18 @@ enum class TestMatrixType { heev, geev, geevx, + minij, + hilb, + frank, + lehmer, + lotkin, + redheff, + triw, + tridiag, + toeppen, + pei, + parter, + moler, }; enum class TestMatrixDist { From 4f394a444ebfd3bc54e6f7867a2d643bf218be82 Mon Sep 17 00:00:00 2001 From: tdehoff Date: Thu, 24 Oct 2024 22:06:07 +0000 Subject: [PATCH 3/8] Added matrix generators for cauchy, chow, clement, gcdmat, pei, parter, moler --- matgen/generate_matrix_ge.cc | 43 +++++++++++++++++++++++++++++++++ matgen/generate_matrix_utils.cc | 8 ++++++ matgen/generate_matrix_utils.hh | 4 +++ test/run_tests.py | 2 ++ test/test.cc | 2 ++ test/test.hh | 1 + 6 files changed, 60 insertions(+) diff --git a/matgen/generate_matrix_ge.cc b/matgen/generate_matrix_ge.cc index f0dab1c77..ab3762b41 100644 --- a/matgen/generate_matrix_ge.cc +++ b/matgen/generate_matrix_ge.cc @@ -24,6 +24,7 @@ #include #include #include +#include // std::gcd namespace slate { @@ -419,6 +420,48 @@ void generate_matrix( set( moler_entry, A, opts ); break; } + + case TestMatrixType::cauchy: { + entry_type cauchy_entry = []( int64_t i, int64_t j ) { + return 1.0 / ( i + j + 2); + }; + set( cauchy_entry, A, opts ); + break; + } + + case TestMatrixType::chow: { + entry_type chow_entry = []( int64_t i, int64_t j ) { + return ((i - j) < -1 ? 0 : 1); + }; + set( chow_entry, A, opts ); + break; + } + + case TestMatrixType::clement: { + const int64_t max_mn = std::max(n, m); + entry_type clement_entry = [max_mn]( int64_t i, int64_t j ) { + if ((i - j) == 1) { + return max_mn - j - 1; + } + else if ((i - j) == -1) { + return j; + } + else { + return (int64_t)0; + } + }; + set( clement_entry, A, opts ); + break; + } + + case TestMatrixType::gcdmat: { + entry_type gcdmat_entry = []( int64_t i, int64_t j ) { + return std::gcd(i + 1, j + 1); + }; + set( gcdmat_entry, A, opts ); + break; + } + } // rand types have already been made diagonally dominant. diff --git a/matgen/generate_matrix_utils.cc b/matgen/generate_matrix_utils.cc index 6ee3cf6ac..75bd4774d 100644 --- a/matgen/generate_matrix_utils.cc +++ b/matgen/generate_matrix_utils.cc @@ -96,6 +96,10 @@ void generate_matrix_usage() "toeppen | 1's on second subdiagonal and second superdiagonal, -10's on subdiagonal, 10's on superdiagonal, rest zero\n" "parter | matrix entry i,j equal to 1/(i-j+0.5)\n" "moler | matrix entry i,j equal to i on diagonal, rest min(i,j)\n" + "cauchy | matrix entry i,j equal to 1/(i + j)\n" + "chow | matrix with 1's on the diagonal, superdiagonal, and all elements below them, and 0's above the superdiagonal\n" + "clement | matrix with decreasing values [n-1 : 1] on subdiagonal, and increasing values [1 : n-1] on superdiagonal\n" + "gcdmat | matrix entry i,j equal to gcd(i,j)\n" " | \n" "rand@ | matrix entries random uniform on (0, 1)\n" "rands@ | matrix entries random uniform on (-1, 1)\n" @@ -254,6 +258,10 @@ void decode_matrix( else if (base == "pei" ) { type = TestMatrixType::pei; } else if (base == "parter" ) { type = TestMatrixType::parter; } else if (base == "moler" ) { type = TestMatrixType::moler; } + else if (base == "cauchy" ) { type = TestMatrixType::cauchy; } + else if (base == "chow" ) { type = TestMatrixType::chow; } + else if (base == "clement" ) { type = TestMatrixType::clement; } + else if (base == "gcdmat" ) { type = TestMatrixType::gcdmat; } else { snprintf( msg, sizeof( msg ), "in '%s': unknown matrix '%s'", kind.c_str(), base.c_str() ); diff --git a/matgen/generate_matrix_utils.hh b/matgen/generate_matrix_utils.hh index 520c04057..221ebe0e3 100644 --- a/matgen/generate_matrix_utils.hh +++ b/matgen/generate_matrix_utils.hh @@ -65,6 +65,10 @@ enum class TestMatrixType { pei, parter, moler, + cauchy, + chow, + clement, + gcdmat, }; enum class TestMatrixDist { diff --git a/test/run_tests.py b/test/run_tests.py index c7e92f4d1..6cc85fa3d 100755 --- a/test/run_tests.py +++ b/test/run_tests.py @@ -669,6 +669,8 @@ def filter_csv( values, csv ): [ 'scale_row_col', gen + dtype + mn + equed + nonuniform_nb + ge_matrix ], + [ 'matgen', gen + dtype + mn + ab + nonuniform_nb + ge_matrix ], + [ 'set', gen + dtype + mn + ab + nonuniform_nb + ge_matrix ], [ 'tzset', gen + dtype + mn + ab + nonuniform_nb + ge_matrix + uplo ], [ 'trset', gen + dtype + n + ab + nonuniform_nb + ge_matrix + uplo ], diff --git a/test/test.cc b/test/test.cc index e37ec7d55..54edd2961 100644 --- a/test/test.cc +++ b/test/test.cc @@ -322,6 +322,8 @@ std::vector< testsweeper::routines_t > routines = { { "scale_row_col", test_scale_row_col, Section::aux }, { "", nullptr, Section::newline }, + { "matgen", test_matgen, Section::aux_gen }, + { "set", test_set, Section::aux }, { "tzset", test_set, Section::aux }, { "trset", test_set, Section::aux }, diff --git a/test/test.hh b/test/test.hh index 708a9d51f..b2ba16c38 100644 --- a/test/test.hh +++ b/test/test.hh @@ -448,6 +448,7 @@ void test_copy (Params& params, bool run); void test_scale (Params& params, bool run); void test_scale_row_col(Params& params, bool run); void test_set (Params& params, bool run); +void test_matgen (Params& params, bool run); //------------------------------------------------------------------------------ inline double barrier_get_wtime(MPI_Comm comm) From e62172c3e832e0ff557fa159ec4f67ead4143405 Mon Sep 17 00:00:00 2001 From: tdehoff Date: Thu, 24 Oct 2024 22:08:19 +0000 Subject: [PATCH 4/8] Tests for matgen --- test/test_matgen.cc | 136 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 test/test_matgen.cc diff --git a/test/test_matgen.cc b/test/test_matgen.cc new file mode 100644 index 000000000..98aabcfab --- /dev/null +++ b/test/test_matgen.cc @@ -0,0 +1,136 @@ +// Copyright (c) 2017-2023, University of Tennessee. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// This program is free software: you can redistribute it and/or modify it under +// the terms of the BSD 3-Clause license. See the accompanying LICENSE file. + +#include "slate/slate.hh" +#include "test.hh" + +#include "scalapack_wrappers.hh" +#include "scalapack_copy.hh" +#include "print_matrix.hh" + +#include "matrix_utils.hh" +#include "test_utils.hh" + +#include +#include +#include +#include + +//------------------------------------------------------------------------------ +template +void test_matgen_work(Params& params, bool run) +{ + using scalar_t = typename matrix_type::value_type; + using real_t = blas::real_type; + using blas::real; + using blas::imag; + using slate::ceildiv; + + // get & mark input values + slate::Uplo uplo; + if (std::is_same< matrix_type, slate::Matrix >::value) + uplo = slate::Uplo::General; + else + uplo = params.uplo(); + slate::Op trans = params.trans(); + slate::Diag diag = slate::Diag::NonUnit; + scalar_t alpha = params.alpha.get(); + scalar_t beta = params.beta.get(); + int64_t m = params.dim.m(); + int64_t n; + if (std::is_same< matrix_type, slate::TriangularMatrix >::value + || std::is_same< matrix_type, slate::SymmetricMatrix >::value + || std::is_same< matrix_type, slate::HermitianMatrix >::value) { + n = m; // square + } + else { + n = params.dim.n(); + } + bool ref_only = params.ref() == 'o'; + bool ref = params.ref() == 'y' || ref_only; + bool check = params.check() == 'y' && ! ref_only; + bool trace = params.trace() == 'y'; + slate::Target target = params.target(); + params.matrix.mark(); + + mark_params_for_test_Matrix( params ); + + // mark non-standard output values + params.time(); + + if (! run) + return; + + // Check for common invalid combinations + if (is_invalid_parameters( params )) { + return; + } + + slate::Options const opts = { + {slate::Option::Target, target} + }; + + auto A_alloc = allocate_test_Matrix( check || ref, false, m, n, params ); + + auto& Afull = A_alloc.A; + auto& Aref_full = A_alloc.Aref; + auto& Aref_data = A_alloc.Aref_data; + + slate::generate_matrix( params.matrix, Afull ); + + if (check || ref) { + copy_matrix( Afull, Aref_full ); + } + + // Cast to desired matrix type. + matrix_type A = matrix_cast< matrix_type >( Afull, uplo, diag ); + + if (trans == slate::Op::Trans) + A = transpose( A ); + else if (trans == slate::Op::ConjTrans) + A = conj_transpose( A ); + + print_matrix( "Afull", Afull, params ); + print_matrix( "A", A, params ); +} + +// ----------------------------------------------------------------------------- +template +void test_matgen_dispatch(Params& params, bool run ) +{ + std::string routine = params.routine; + if (routine == "matgen") { + test_matgen_work< slate::Matrix >( params, run ); + } + else { + throw slate::Exception("unknown routine: " + routine); + } +} + +// ----------------------------------------------------------------------------- +void test_matgen(Params& params, bool run) +{ + switch (params.datatype()) { + case testsweeper::DataType::Single: + test_matgen_dispatch (params, run); + break; + + case testsweeper::DataType::Double: + test_matgen_dispatch (params, run); + break; + + case testsweeper::DataType::SingleComplex: + test_matgen_dispatch> (params, run); + break; + + case testsweeper::DataType::DoubleComplex: + test_matgen_dispatch> (params, run); + break; + + default: + throw std::runtime_error( "unknown datatype" ); + break; + } +} From df2893c0fc2ec2b51f14d6ac23c9cfea055dad1f Mon Sep 17 00:00:00 2001 From: Mark Gates Date: Sat, 26 Oct 2024 10:43:48 -0400 Subject: [PATCH 5/8] Add test_matgen to Makefile. Remove or comment out unused code. --- GNUmakefile | 1 + test/test_matgen.cc | 18 ++++++++---------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index 4d91bb120..96a878218 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -723,6 +723,7 @@ tester_src += \ test/test_her2k.cc \ test/test_herk.cc \ test/test_hesv.cc \ + test/test_matgen.cc \ test/test_norm.cc \ test/test_pbsv.cc \ test/test_pocondest.cc \ diff --git a/test/test_matgen.cc b/test/test_matgen.cc index 98aabcfab..523b0a285 100644 --- a/test/test_matgen.cc +++ b/test/test_matgen.cc @@ -23,10 +23,10 @@ template void test_matgen_work(Params& params, bool run) { using scalar_t = typename matrix_type::value_type; - using real_t = blas::real_type; - using blas::real; - using blas::imag; - using slate::ceildiv; + //using real_t = blas::real_type; + //using blas::real; + //using blas::imag; + //using slate::ceildiv; // get & mark input values slate::Uplo uplo; @@ -36,8 +36,6 @@ void test_matgen_work(Params& params, bool run) uplo = params.uplo(); slate::Op trans = params.trans(); slate::Diag diag = slate::Diag::NonUnit; - scalar_t alpha = params.alpha.get(); - scalar_t beta = params.beta.get(); int64_t m = params.dim.m(); int64_t n; if (std::is_same< matrix_type, slate::TriangularMatrix >::value @@ -51,7 +49,7 @@ void test_matgen_work(Params& params, bool run) bool ref_only = params.ref() == 'o'; bool ref = params.ref() == 'y' || ref_only; bool check = params.check() == 'y' && ! ref_only; - bool trace = params.trace() == 'y'; + //bool trace = params.trace() == 'y'; slate::Target target = params.target(); params.matrix.mark(); @@ -76,7 +74,7 @@ void test_matgen_work(Params& params, bool run) auto& Afull = A_alloc.A; auto& Aref_full = A_alloc.Aref; - auto& Aref_data = A_alloc.Aref_data; + //auto& Aref_data = A_alloc.Aref_data; slate::generate_matrix( params.matrix, Afull ); @@ -96,7 +94,7 @@ void test_matgen_work(Params& params, bool run) print_matrix( "A", A, params ); } -// ----------------------------------------------------------------------------- +//------------------------------------------------------------------------------ template void test_matgen_dispatch(Params& params, bool run ) { @@ -109,7 +107,7 @@ void test_matgen_dispatch(Params& params, bool run ) } } -// ----------------------------------------------------------------------------- +//------------------------------------------------------------------------------ void test_matgen(Params& params, bool run) { switch (params.datatype()) { From 96137b093192a55b334cae5178af342ad0fa9d6b Mon Sep 17 00:00:00 2001 From: Mark Gates Date: Sat, 26 Oct 2024 11:47:08 -0400 Subject: [PATCH 6/8] test matgen with 20x20 matrix, nb 4 --- test/run_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/run_tests.py b/test/run_tests.py index 6cc85fa3d..abaaa2502 100755 --- a/test/run_tests.py +++ b/test/run_tests.py @@ -669,7 +669,7 @@ def filter_csv( values, csv ): [ 'scale_row_col', gen + dtype + mn + equed + nonuniform_nb + ge_matrix ], - [ 'matgen', gen + dtype + mn + ab + nonuniform_nb + ge_matrix ], + [ 'matgen', gen_no_nb + dtype + ' --dim 20 --nb 4 --verbose 4' + ge_matrix ], [ 'set', gen + dtype + mn + ab + nonuniform_nb + ge_matrix ], [ 'tzset', gen + dtype + mn + ab + nonuniform_nb + ge_matrix + uplo ], From cd519764c7595c85e60054a912b7bab77aa5f7ed Mon Sep 17 00:00:00 2001 From: tdehoff1 Date: Sun, 27 Oct 2024 20:11:41 -0400 Subject: [PATCH 7/8] Added ref for the matching matrices --- test/ref/cauchy.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/chow.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/circul.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/clement.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/fiedler.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/frank.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/gcdmat.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/hilb.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/identity.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/jordan.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/jordanT.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/kms.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/lehmer.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/lotkin.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/minij.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/moler.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/ones.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/orthog.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/parter.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/pei.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/redheff.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/ris.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/toeppen.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/tridiag.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/triw.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/ref/zeros.txt | 38 ++++++++++++++++++++++++++++++++++++++ test/test_matgen.cc | 8 +------- 27 files changed, 989 insertions(+), 7 deletions(-) create mode 100644 test/ref/cauchy.txt create mode 100644 test/ref/chow.txt create mode 100644 test/ref/circul.txt create mode 100644 test/ref/clement.txt create mode 100644 test/ref/fiedler.txt create mode 100644 test/ref/frank.txt create mode 100644 test/ref/gcdmat.txt create mode 100644 test/ref/hilb.txt create mode 100644 test/ref/identity.txt create mode 100644 test/ref/jordan.txt create mode 100644 test/ref/jordanT.txt create mode 100644 test/ref/kms.txt create mode 100644 test/ref/lehmer.txt create mode 100644 test/ref/lotkin.txt create mode 100644 test/ref/minij.txt create mode 100644 test/ref/moler.txt create mode 100644 test/ref/ones.txt create mode 100644 test/ref/orthog.txt create mode 100644 test/ref/parter.txt create mode 100644 test/ref/pei.txt create mode 100644 test/ref/redheff.txt create mode 100644 test/ref/ris.txt create mode 100644 test/ref/toeppen.txt create mode 100644 test/ref/tridiag.txt create mode 100644 test/ref/triw.txt create mode 100644 test/ref/zeros.txt diff --git a/test/ref/cauchy.txt b/test/ref/cauchy.txt new file mode 100644 index 000000000..f6bfbbce4 --- /dev/null +++ b/test/ref/cauchy.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --dim 20 --matrix cauchy --verbose 4 matgen +% 2024-10-27 11:17:59, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 0.5000 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 + 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 + 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 + 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 + + 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 + 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 + 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 + 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 + + 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 + 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 + 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 + 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 + + 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 + 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 0.0294 + 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 0.0294 0.0286 + 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 0.0294 0.0286 0.0278 + + 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 0.0294 0.0286 0.0278 0.0270 + 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 0.0294 0.0286 0.0278 0.0270 0.0263 + 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 0.0294 0.0286 0.0278 0.0270 0.0263 0.0256 + 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 0.0294 0.0286 0.0278 0.0270 0.0263 0.0256 0.0250 +]; + d host task col row 1 notrans 20 20 4 1 1 NA NA no check + +% Matrix kinds: +% 1: cauchy, cond unknown + +% All tests passed: matgen diff --git a/test/ref/chow.txt b/test/ref/chow.txt new file mode 100644 index 000000000..594d97d74 --- /dev/null +++ b/test/ref/chow.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix chow matgen +% 2024-10-24 18:30:03, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 1. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 1. 1. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 1. 1. 1. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + 1. 1. 1. 1. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 1. 1. 1. 1. 1. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 1. 1. 1. 1. 1. 1. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 0. 0. 0. 0. 0. 0. 0. + + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 0. 0. 0. 0. 0. 0. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 0. 0. 0. 0. 0. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 0. 0. 0. 0. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 0. 0. 0. + + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 0. 0. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 0. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: chow, cond unknown + +% All tests passed: matgen diff --git a/test/ref/circul.txt b/test/ref/circul.txt new file mode 100644 index 000000000..9f74d3a56 --- /dev/null +++ b/test/ref/circul.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix circul matgen +% 2024-10-24 18:21:28, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. + 20. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 19. 20. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. + 18. 19. 20. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. + + 17. 18. 19. 20. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. + 16. 17. 18. 19. 20. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. + 15. 16. 17. 18. 19. 20. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. + 14. 15. 16. 17. 18. 19. 20. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. + + 13. 14. 15. 16. 17. 18. 19. 20. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. + 12. 13. 14. 15. 16. 17. 18. 19. 20. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. + 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. + 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 1. 2. 3. 4. 5. 6. 7. 8. 9. + + 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 1. 2. 3. 4. 5. 6. 7. 8. + 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 1. 2. 3. 4. 5. 6. 7. + 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 1. 2. 3. 4. 5. 6. + 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 1. 2. 3. 4. 5. + + 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 1. 2. 3. 4. + 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 1. 2. 3. + 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 1. 2. + 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 1. +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: circul, cond unknown + +% All tests passed: matgen diff --git a/test/ref/clement.txt b/test/ref/clement.txt new file mode 100644 index 000000000..dae956146 --- /dev/null +++ b/test/ref/clement.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix clement matgen +% 2024-10-24 18:30:14, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 19. 0. 2. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 18. 0. 3. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 17. 0. 4. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + 0. 0. 0. 16. 0. 5. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 15. 0. 6. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 14. 0. 7. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 13. 0. 8. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + 0. 0. 0. 0. 0. 0. 0. 12. 0. 9. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 11. 0. 10. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 10. 0. 11. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 9. 0. 12. 0. 0. 0. 0. 0. 0. 0. + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 8. 0. 13. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 7. 0. 14. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 6. 0. 15. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 5. 0. 16. 0. 0. 0. + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 4. 0. 17. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 3. 0. 18. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 2. 0. 19. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: clement, cond unknown + +% All tests passed: matgen diff --git a/test/ref/fiedler.txt b/test/ref/fiedler.txt new file mode 100644 index 000000000..a06a1f8e2 --- /dev/null +++ b/test/ref/fiedler.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix fiedler matgen +% 2024-10-24 18:21:46, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. + 1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. + 2. 1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. + 3. 2. 1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. + + 4. 3. 2. 1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. + 5. 4. 3. 2. 1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. + 6. 5. 4. 3. 2. 1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. + 7. 6. 5. 4. 3. 2. 1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. + + 8. 7. 6. 5. 4. 3. 2. 1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. + 9. 8. 7. 6. 5. 4. 3. 2. 1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. + 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. + 11. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. 0. 1. 2. 3. 4. 5. 6. 7. 8. + + 12. 11. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. 0. 1. 2. 3. 4. 5. 6. 7. + 13. 12. 11. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. 0. 1. 2. 3. 4. 5. 6. + 14. 13. 12. 11. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. 0. 1. 2. 3. 4. 5. + 15. 14. 13. 12. 11. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. 0. 1. 2. 3. 4. + + 16. 15. 14. 13. 12. 11. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. 0. 1. 2. 3. + 17. 16. 15. 14. 13. 12. 11. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. 0. 1. 2. + 18. 17. 16. 15. 14. 13. 12. 11. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. 0. 1. + 19. 18. 17. 16. 15. 14. 13. 12. 11. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. 0. +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: fiedler, cond unknown + +% All tests passed: matgen diff --git a/test/ref/frank.txt b/test/ref/frank.txt new file mode 100644 index 000000000..fbe3c19d4 --- /dev/null +++ b/test/ref/frank.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix frank matgen +% 2024-10-24 18:24:16, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 20. 19. 18. 17. 16. 15. 14. 13. 12. 11. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. + 19. 19. 18. 17. 16. 15. 14. 13. 12. 11. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. + 0. 18. 18. 17. 16. 15. 14. 13. 12. 11. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. + 0. 0. 17. 17. 16. 15. 14. 13. 12. 11. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. + + 0. 0. 0. 16. 16. 15. 14. 13. 12. 11. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. + 0. 0. 0. 0. 15. 15. 14. 13. 12. 11. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. + 0. 0. 0. 0. 0. 14. 14. 13. 12. 11. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. + 0. 0. 0. 0. 0. 0. 13. 13. 12. 11. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. + + 0. 0. 0. 0. 0. 0. 0. 12. 12. 11. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. + 0. 0. 0. 0. 0. 0. 0. 0. 11. 11. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 10. 10. 9. 8. 7. 6. 5. 4. 3. 2. 1. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 9. 9. 8. 7. 6. 5. 4. 3. 2. 1. + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 8. 8. 7. 6. 5. 4. 3. 2. 1. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 7. 7. 6. 5. 4. 3. 2. 1. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 6. 6. 5. 4. 3. 2. 1. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 5. 5. 4. 3. 2. 1. + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 4. 4. 3. 2. 1. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 3. 3. 2. 1. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 2. 2. 1. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: frank, cond unknown + +% All tests passed: matgen diff --git a/test/ref/gcdmat.txt b/test/ref/gcdmat.txt new file mode 100644 index 000000000..77cb4d40b --- /dev/null +++ b/test/ref/gcdmat.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix gcdmat matgen +% 2024-10-24 18:30:27, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 2. 1. 2. 1. 2. 1. 2. 1. 2. 1. 2. 1. 2. 1. 2. 1. 2. 1. 2. + 1. 1. 3. 1. 1. 3. 1. 1. 3. 1. 1. 3. 1. 1. 3. 1. 1. 3. 1. 1. + 1. 2. 1. 4. 1. 2. 1. 4. 1. 2. 1. 4. 1. 2. 1. 4. 1. 2. 1. 4. + + 1. 1. 1. 1. 5. 1. 1. 1. 1. 5. 1. 1. 1. 1. 5. 1. 1. 1. 1. 5. + 1. 2. 3. 2. 1. 6. 1. 2. 3. 2. 1. 6. 1. 2. 3. 2. 1. 6. 1. 2. + 1. 1. 1. 1. 1. 1. 7. 1. 1. 1. 1. 1. 1. 7. 1. 1. 1. 1. 1. 1. + 1. 2. 1. 4. 1. 2. 1. 8. 1. 2. 1. 4. 1. 2. 1. 8. 1. 2. 1. 4. + + 1. 1. 3. 1. 1. 3. 1. 1. 9. 1. 1. 3. 1. 1. 3. 1. 1. 9. 1. 1. + 1. 2. 1. 2. 5. 2. 1. 2. 1. 10. 1. 2. 1. 2. 5. 2. 1. 2. 1. 10. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 11. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 2. 3. 4. 1. 6. 1. 4. 3. 2. 1. 12. 1. 2. 3. 4. 1. 6. 1. 4. + + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 13. 1. 1. 1. 1. 1. 1. 1. + 1. 2. 1. 2. 1. 2. 7. 2. 1. 2. 1. 2. 1. 14. 1. 2. 1. 2. 1. 2. + 1. 1. 3. 1. 5. 3. 1. 1. 3. 5. 1. 3. 1. 1. 15. 1. 1. 3. 1. 5. + 1. 2. 1. 4. 1. 2. 1. 8. 1. 2. 1. 4. 1. 2. 1. 16. 1. 2. 1. 4. + + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 17. 1. 1. 1. + 1. 2. 3. 2. 1. 6. 1. 2. 9. 2. 1. 6. 1. 2. 3. 2. 1. 18. 1. 2. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 19. 1. + 1. 2. 1. 4. 5. 2. 1. 4. 1. 10. 1. 4. 1. 2. 5. 4. 1. 2. 1. 20. +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: gcdmat, cond unknown + +% All tests passed: matgen diff --git a/test/ref/hilb.txt b/test/ref/hilb.txt new file mode 100644 index 000000000..53af99a2f --- /dev/null +++ b/test/ref/hilb.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix hilb matgen +% 2024-10-24 18:24:05, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 1. 0.5000 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 + 0.5000 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 + 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 + 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 + + 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 + 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 + 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 + 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 + + 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 + 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 + 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 + 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 + + 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 + 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 + 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 0.0294 + 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 0.0294 0.0286 + + 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 0.0294 0.0286 0.0278 + 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 0.0294 0.0286 0.0278 0.0270 + 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 0.0294 0.0286 0.0278 0.0270 0.0263 + 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 0.0294 0.0286 0.0278 0.0270 0.0263 0.0256 +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: hilb, cond unknown + +% All tests passed: matgen diff --git a/test/ref/identity.txt b/test/ref/identity.txt new file mode 100644 index 000000000..021ba492e --- /dev/null +++ b/test/ref/identity.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix identity matgen +% 2024-10-24 18:19:47, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: identity, cond = 1 + +% All tests passed: matgen diff --git a/test/ref/jordan.txt b/test/ref/jordan.txt new file mode 100644 index 000000000..2be721775 --- /dev/null +++ b/test/ref/jordan.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix jordan matgen +% 2024-10-24 18:20:23, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: jordan, cond unknown + +% All tests passed: matgen diff --git a/test/ref/jordanT.txt b/test/ref/jordanT.txt new file mode 100644 index 000000000..045c4c403 --- /dev/null +++ b/test/ref/jordanT.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix jordanT matgen +% 2024-10-24 18:20:52, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. 0. + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: jordanT, cond unknown + +% All tests passed: matgen diff --git a/test/ref/kms.txt b/test/ref/kms.txt new file mode 100644 index 000000000..d5e96743b --- /dev/null +++ b/test/ref/kms.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix kms matgen +% 2024-10-24 18:22:14, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 1. 0.5000 0.2500 0.1250 0.0625 0.0312 0.0156 0.007812 0.003906 0.001953 0.0009766 0.0004883 0.0002441 0.0001221 6.104e-05 3.052e-05 1.526e-05 7.629e-06 3.815e-06 1.907e-06 + 0.5000 1. 0.5000 0.2500 0.1250 0.0625 0.0312 0.0156 0.007812 0.003906 0.001953 0.0009766 0.0004883 0.0002441 0.0001221 6.104e-05 3.052e-05 1.526e-05 7.629e-06 3.815e-06 + 0.2500 0.5000 1. 0.5000 0.2500 0.1250 0.0625 0.0312 0.0156 0.007812 0.003906 0.001953 0.0009766 0.0004883 0.0002441 0.0001221 6.104e-05 3.052e-05 1.526e-05 7.629e-06 + 0.1250 0.2500 0.5000 1. 0.5000 0.2500 0.1250 0.0625 0.0312 0.0156 0.007812 0.003906 0.001953 0.0009766 0.0004883 0.0002441 0.0001221 6.104e-05 3.052e-05 1.526e-05 + + 0.0625 0.1250 0.2500 0.5000 1. 0.5000 0.2500 0.1250 0.0625 0.0312 0.0156 0.007812 0.003906 0.001953 0.0009766 0.0004883 0.0002441 0.0001221 6.104e-05 3.052e-05 + 0.0312 0.0625 0.1250 0.2500 0.5000 1. 0.5000 0.2500 0.1250 0.0625 0.0312 0.0156 0.007812 0.003906 0.001953 0.0009766 0.0004883 0.0002441 0.0001221 6.104e-05 + 0.0156 0.0312 0.0625 0.1250 0.2500 0.5000 1. 0.5000 0.2500 0.1250 0.0625 0.0312 0.0156 0.007812 0.003906 0.001953 0.0009766 0.0004883 0.0002441 0.0001221 + 0.007812 0.0156 0.0312 0.0625 0.1250 0.2500 0.5000 1. 0.5000 0.2500 0.1250 0.0625 0.0312 0.0156 0.007812 0.003906 0.001953 0.0009766 0.0004883 0.0002441 + + 0.003906 0.007812 0.0156 0.0312 0.0625 0.1250 0.2500 0.5000 1. 0.5000 0.2500 0.1250 0.0625 0.0312 0.0156 0.007812 0.003906 0.001953 0.0009766 0.0004883 + 0.001953 0.003906 0.007812 0.0156 0.0312 0.0625 0.1250 0.2500 0.5000 1. 0.5000 0.2500 0.1250 0.0625 0.0312 0.0156 0.007812 0.003906 0.001953 0.0009766 + 0.0009766 0.001953 0.003906 0.007812 0.0156 0.0312 0.0625 0.1250 0.2500 0.5000 1. 0.5000 0.2500 0.1250 0.0625 0.0312 0.0156 0.007812 0.003906 0.001953 + 0.0004883 0.0009766 0.001953 0.003906 0.007812 0.0156 0.0312 0.0625 0.1250 0.2500 0.5000 1. 0.5000 0.2500 0.1250 0.0625 0.0312 0.0156 0.007812 0.003906 + + 0.0002441 0.0004883 0.0009766 0.001953 0.003906 0.007812 0.0156 0.0312 0.0625 0.1250 0.2500 0.5000 1. 0.5000 0.2500 0.1250 0.0625 0.0312 0.0156 0.007812 + 0.0001221 0.0002441 0.0004883 0.0009766 0.001953 0.003906 0.007812 0.0156 0.0312 0.0625 0.1250 0.2500 0.5000 1. 0.5000 0.2500 0.1250 0.0625 0.0312 0.0156 + 6.104e-05 0.0001221 0.0002441 0.0004883 0.0009766 0.001953 0.003906 0.007812 0.0156 0.0312 0.0625 0.1250 0.2500 0.5000 1. 0.5000 0.2500 0.1250 0.0625 0.0312 + 3.052e-05 6.104e-05 0.0001221 0.0002441 0.0004883 0.0009766 0.001953 0.003906 0.007812 0.0156 0.0312 0.0625 0.1250 0.2500 0.5000 1. 0.5000 0.2500 0.1250 0.0625 + + 1.526e-05 3.052e-05 6.104e-05 0.0001221 0.0002441 0.0004883 0.0009766 0.001953 0.003906 0.007812 0.0156 0.0312 0.0625 0.1250 0.2500 0.5000 1. 0.5000 0.2500 0.1250 + 7.629e-06 1.526e-05 3.052e-05 6.104e-05 0.0001221 0.0002441 0.0004883 0.0009766 0.001953 0.003906 0.007812 0.0156 0.0312 0.0625 0.1250 0.2500 0.5000 1. 0.5000 0.2500 + 3.815e-06 7.629e-06 1.526e-05 3.052e-05 6.104e-05 0.0001221 0.0002441 0.0004883 0.0009766 0.001953 0.003906 0.007812 0.0156 0.0312 0.0625 0.1250 0.2500 0.5000 1. 0.5000 + 1.907e-06 3.815e-06 7.629e-06 1.526e-05 3.052e-05 6.104e-05 0.0001221 0.0002441 0.0004883 0.0009766 0.001953 0.003906 0.007812 0.0156 0.0312 0.0625 0.1250 0.2500 0.5000 1. +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: kms, cond unknown + +% All tests passed: matgen diff --git a/test/ref/lehmer.txt b/test/ref/lehmer.txt new file mode 100644 index 000000000..4f781e948 --- /dev/null +++ b/test/ref/lehmer.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix lehmer matgen +% 2024-10-24 18:24:31, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 1. 0.5000 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 + 0.5000 1. 0.6667 0.5000 0.4000 0.3333 0.2857 0.2500 0.2222 0.2000 0.1818 0.1667 0.1538 0.1429 0.1333 0.1250 0.1176 0.1111 0.1053 0.1000 + 0.3333 0.6667 1. 0.7500 0.6000 0.5000 0.4286 0.3750 0.3333 0.3000 0.2727 0.2500 0.2308 0.2143 0.2000 0.1875 0.1765 0.1667 0.1579 0.1500 + 0.2500 0.5000 0.7500 1. 0.8000 0.6667 0.5714 0.5000 0.4444 0.4000 0.3636 0.3333 0.3077 0.2857 0.2667 0.2500 0.2353 0.2222 0.2105 0.2000 + + 0.2000 0.4000 0.6000 0.8000 1. 0.8333 0.7143 0.6250 0.5556 0.5000 0.4545 0.4167 0.3846 0.3571 0.3333 0.3125 0.2941 0.2778 0.2632 0.2500 + 0.1667 0.3333 0.5000 0.6667 0.8333 1. 0.8571 0.7500 0.6667 0.6000 0.5455 0.5000 0.4615 0.4286 0.4000 0.3750 0.3529 0.3333 0.3158 0.3000 + 0.1429 0.2857 0.4286 0.5714 0.7143 0.8571 1. 0.8750 0.7778 0.7000 0.6364 0.5833 0.5385 0.5000 0.4667 0.4375 0.4118 0.3889 0.3684 0.3500 + 0.1250 0.2500 0.3750 0.5000 0.6250 0.7500 0.8750 1. 0.8889 0.8000 0.7273 0.6667 0.6154 0.5714 0.5333 0.5000 0.4706 0.4444 0.4211 0.4000 + + 0.1111 0.2222 0.3333 0.4444 0.5556 0.6667 0.7778 0.8889 1. 0.9000 0.8182 0.7500 0.6923 0.6429 0.6000 0.5625 0.5294 0.5000 0.4737 0.4500 + 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1. 0.9091 0.8333 0.7692 0.7143 0.6667 0.6250 0.5882 0.5556 0.5263 0.5000 + 0.0909 0.1818 0.2727 0.3636 0.4545 0.5455 0.6364 0.7273 0.8182 0.9091 1. 0.9167 0.8462 0.7857 0.7333 0.6875 0.6471 0.6111 0.5789 0.5500 + 0.0833 0.1667 0.2500 0.3333 0.4167 0.5000 0.5833 0.6667 0.7500 0.8333 0.9167 1. 0.9231 0.8571 0.8000 0.7500 0.7059 0.6667 0.6316 0.6000 + + 0.0769 0.1538 0.2308 0.3077 0.3846 0.4615 0.5385 0.6154 0.6923 0.7692 0.8462 0.9231 1. 0.9286 0.8667 0.8125 0.7647 0.7222 0.6842 0.6500 + 0.0714 0.1429 0.2143 0.2857 0.3571 0.4286 0.5000 0.5714 0.6429 0.7143 0.7857 0.8571 0.9286 1. 0.9333 0.8750 0.8235 0.7778 0.7368 0.7000 + 0.0667 0.1333 0.2000 0.2667 0.3333 0.4000 0.4667 0.5333 0.6000 0.6667 0.7333 0.8000 0.8667 0.9333 1. 0.9375 0.8824 0.8333 0.7895 0.7500 + 0.0625 0.1250 0.1875 0.2500 0.3125 0.3750 0.4375 0.5000 0.5625 0.6250 0.6875 0.7500 0.8125 0.8750 0.9375 1. 0.9412 0.8889 0.8421 0.8000 + + 0.0588 0.1176 0.1765 0.2353 0.2941 0.3529 0.4118 0.4706 0.5294 0.5882 0.6471 0.7059 0.7647 0.8235 0.8824 0.9412 1. 0.9444 0.8947 0.8500 + 0.0556 0.1111 0.1667 0.2222 0.2778 0.3333 0.3889 0.4444 0.5000 0.5556 0.6111 0.6667 0.7222 0.7778 0.8333 0.8889 0.9444 1. 0.9474 0.9000 + 0.0526 0.1053 0.1579 0.2105 0.2632 0.3158 0.3684 0.4211 0.4737 0.5263 0.5789 0.6316 0.6842 0.7368 0.7895 0.8421 0.8947 0.9474 1. 0.9500 + 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000 0.9500 1. +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: lehmer, cond unknown + +% All tests passed: matgen diff --git a/test/ref/lotkin.txt b/test/ref/lotkin.txt new file mode 100644 index 000000000..75b28fb23 --- /dev/null +++ b/test/ref/lotkin.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix lotkin matgen +% 2024-10-24 18:24:49, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 0.5000 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 + 0.3333 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 + 0.2500 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 + + 0.2000 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 + 0.1667 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 + 0.1429 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 + 0.1250 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 + + 0.1111 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 + 0.1000 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 + 0.0909 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 + 0.0833 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 + + 0.0769 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 + 0.0714 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 + 0.0667 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 0.0294 + 0.0625 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 0.0294 0.0286 + + 0.0588 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 0.0294 0.0286 0.0278 + 0.0556 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 0.0294 0.0286 0.0278 0.0270 + 0.0526 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 0.0294 0.0286 0.0278 0.0270 0.0263 + 0.0500 0.0476 0.0455 0.0435 0.0417 0.0400 0.0385 0.0370 0.0357 0.0345 0.0333 0.0323 0.0312 0.0303 0.0294 0.0286 0.0278 0.0270 0.0263 0.0256 +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: lotkin, cond unknown + +% All tests passed: matgen diff --git a/test/ref/minij.txt b/test/ref/minij.txt new file mode 100644 index 000000000..22c18caf1 --- /dev/null +++ b/test/ref/minij.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix minij matgen +% 2024-10-24 18:23:51, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. + 1. 2. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. + 1. 2. 3. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. + + 1. 2. 3. 4. 5. 5. 5. 5. 5. 5. 5. 5. 5. 5. 5. 5. 5. 5. 5. 5. + 1. 2. 3. 4. 5. 6. 6. 6. 6. 6. 6. 6. 6. 6. 6. 6. 6. 6. 6. 6. + 1. 2. 3. 4. 5. 6. 7. 7. 7. 7. 7. 7. 7. 7. 7. 7. 7. 7. 7. 7. + 1. 2. 3. 4. 5. 6. 7. 8. 8. 8. 8. 8. 8. 8. 8. 8. 8. 8. 8. 8. + + 1. 2. 3. 4. 5. 6. 7. 8. 9. 9. 9. 9. 9. 9. 9. 9. 9. 9. 9. 9. + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 10. 10. 10. 10. 10. 10. 10. 10. 10. 10. + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 11. 11. 11. 11. 11. 11. 11. 11. 11. + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 12. 12. 12. 12. 12. 12. 12. 12. + + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 13. 13. 13. 13. 13. 13. 13. + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 14. 14. 14. 14. 14. 14. + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 15. 15. 15. 15. 15. + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 16. 16. 16. 16. + + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 17. 17. 17. + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 18. 18. + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 19. + 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: minij, cond unknown + +% All tests passed: matgen diff --git a/test/ref/moler.txt b/test/ref/moler.txt new file mode 100644 index 000000000..892040bc5 --- /dev/null +++ b/test/ref/moler.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix moler matgen +% 2024-10-24 18:26:29, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. + -1. 2. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + -1. 0. 3. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + -1. 0. 1. 4. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. 2. + + -1. 0. 1. 2. 5. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. + -1. 0. 1. 2. 3. 6. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. 4. + -1. 0. 1. 2. 3. 4. 7. 5. 5. 5. 5. 5. 5. 5. 5. 5. 5. 5. 5. 5. + -1. 0. 1. 2. 3. 4. 5. 8. 6. 6. 6. 6. 6. 6. 6. 6. 6. 6. 6. 6. + + -1. 0. 1. 2. 3. 4. 5. 6. 9. 7. 7. 7. 7. 7. 7. 7. 7. 7. 7. 7. + -1. 0. 1. 2. 3. 4. 5. 6. 7. 10. 8. 8. 8. 8. 8. 8. 8. 8. 8. 8. + -1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 11. 9. 9. 9. 9. 9. 9. 9. 9. 9. + -1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 12. 10. 10. 10. 10. 10. 10. 10. 10. + + -1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 13. 11. 11. 11. 11. 11. 11. 11. + -1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 14. 12. 12. 12. 12. 12. 12. + -1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 15. 13. 13. 13. 13. 13. + -1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 16. 14. 14. 14. 14. + + -1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 17. 15. 15. 15. + -1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 18. 16. 16. + -1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 19. 17. + -1. 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 20. +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: moler, cond unknown + +% All tests passed: matgen diff --git a/test/ref/ones.txt b/test/ref/ones.txt new file mode 100644 index 000000000..7edd2e8ab --- /dev/null +++ b/test/ref/ones.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix ones matgen +% 2024-10-24 18:19:30, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: ones, cond = inf + +% All tests passed: matgen diff --git a/test/ref/orthog.txt b/test/ref/orthog.txt new file mode 100644 index 000000000..b7d626657 --- /dev/null +++ b/test/ref/orthog.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix orthog matgen +% 2024-10-24 18:22:33, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 0.0460 0.0910 0.1339 0.1738 0.2099 0.2413 0.2673 0.2873 0.3009 0.3077 0.3077 0.3009 0.2873 0.2673 0.2413 0.2099 0.1738 0.1339 0.0910 0.0460 + 0.0910 0.1738 0.2413 0.2873 0.3077 0.3009 0.2673 0.2099 0.1339 0.0460 -0.0460 -0.1339 -0.2099 -0.2673 -0.3009 -0.3077 -0.2873 -0.2413 -0.1738 -0.0910 + 0.1339 0.2413 0.3009 0.3009 0.2413 0.1339 3.779e-17 -0.1339 -0.2413 -0.3009 -0.3009 -0.2413 -0.1339 -7.559e-17 0.1339 0.2413 0.3009 0.3009 0.2413 0.1339 + 0.1738 0.2873 0.3009 0.2099 0.0460 -0.1339 -0.2673 -0.3077 -0.2413 -0.0910 0.0910 0.2413 0.3077 0.2673 0.1339 -0.0460 -0.2099 -0.3009 -0.2873 -0.1738 + + 0.2099 0.3077 0.2413 0.0460 -0.1738 -0.3009 -0.2673 -0.0910 0.1339 0.2873 0.2873 0.1339 -0.0910 -0.2673 -0.3009 -0.1738 0.0460 0.2413 0.3077 0.2099 + 0.2413 0.3009 0.1339 -0.1339 -0.3009 -0.2413 -7.559e-17 0.2413 0.3009 0.1339 -0.1339 -0.3009 -0.2413 -1.512e-16 0.2413 0.3009 0.1339 -0.1339 -0.3009 -0.2413 + 0.2673 0.2673 3.779e-17 -0.2673 -0.2673 -7.559e-17 0.2673 0.2673 1.134e-16 -0.2673 -0.2673 -1.512e-16 0.2673 0.2673 -3.592e-16 -0.2673 -0.2673 -2.268e-16 0.2673 0.2673 + 0.2873 0.2099 -0.1339 -0.3077 -0.0910 0.2413 0.2673 -0.0460 -0.3009 -0.1738 0.1738 0.3009 0.0460 -0.2673 -0.2413 0.0910 0.3077 0.1339 -0.2099 -0.2873 + + 0.3009 0.1339 -0.2413 -0.2413 0.1339 0.3009 1.134e-16 -0.3009 -0.1339 0.2413 0.2413 -0.1339 -0.3009 -2.268e-16 0.3009 0.1339 -0.2413 -0.2413 0.1339 0.3009 + 0.3077 0.0460 -0.3009 -0.0910 0.2873 0.1339 -0.2673 -0.1738 0.2413 0.2099 -0.2099 -0.2413 0.1738 0.2673 -0.1339 -0.2873 0.0910 0.3009 -0.0460 -0.3077 + 0.3077 -0.0460 -0.3009 0.0910 0.2873 -0.1339 -0.2673 0.1738 0.2413 -0.2099 -0.2099 0.2413 0.1738 -0.2673 -0.1339 0.2873 0.0910 -0.3009 -0.0460 0.3077 + 0.3009 -0.1339 -0.2413 0.2413 0.1339 -0.3009 -1.512e-16 0.3009 -0.1339 -0.2413 0.2413 0.1339 -0.3009 -3.023e-16 0.3009 -0.1339 -0.2413 0.2413 0.1339 -0.3009 + + 0.2873 -0.2099 -0.1339 0.3077 -0.0910 -0.2413 0.2673 0.0460 -0.3009 0.1738 0.1738 -0.3009 0.0460 0.2673 -0.2413 -0.0910 0.3077 -0.1339 -0.2099 0.2873 + 0.2673 -0.2673 -7.559e-17 0.2673 -0.2673 -1.512e-16 0.2673 -0.2673 -2.268e-16 0.2673 -0.2673 -3.023e-16 0.2673 -0.2673 7.185e-16 0.2673 -0.2673 -4.535e-16 0.2673 -0.2673 + 0.2413 -0.3009 0.1339 0.1339 -0.3009 0.2413 -3.592e-16 -0.2413 0.3009 -0.1339 -0.1339 0.3009 -0.2413 7.185e-16 0.2413 -0.3009 0.1339 0.1339 -0.3009 0.2413 + 0.2099 -0.3077 0.2413 -0.0460 -0.1738 0.3009 -0.2673 0.0910 0.1339 -0.2873 0.2873 -0.1339 -0.0910 0.2673 -0.3009 0.1738 0.0460 -0.2413 0.3077 -0.2099 + + 0.1738 -0.2873 0.3009 -0.2099 0.0460 0.1339 -0.2673 0.3077 -0.2413 0.0910 0.0910 -0.2413 0.3077 -0.2673 0.1339 0.0460 -0.2099 0.3009 -0.2873 0.1738 + 0.1339 -0.2413 0.3009 -0.3009 0.2413 -0.1339 -2.268e-16 0.1339 -0.2413 0.3009 -0.3009 0.2413 -0.1339 -4.535e-16 0.1339 -0.2413 0.3009 -0.3009 0.2413 -0.1339 + 0.0910 -0.1738 0.2413 -0.2873 0.3077 -0.3009 0.2673 -0.2099 0.1339 -0.0460 -0.0460 0.1339 -0.2099 0.2673 -0.3009 0.3077 -0.2873 0.2413 -0.1738 0.0910 + 0.0460 -0.0910 0.1339 -0.1738 0.2099 -0.2413 0.2673 -0.2873 0.3009 -0.3077 0.3077 -0.3009 0.2873 -0.2673 0.2413 -0.2099 0.1738 -0.1339 0.0910 -0.0460 +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: orthog, cond = 1 + +% All tests passed: matgen diff --git a/test/ref/parter.txt b/test/ref/parter.txt new file mode 100644 index 000000000..7cdfee964 --- /dev/null +++ b/test/ref/parter.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix parter matgen +% 2024-10-24 18:26:17, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 2. -2. -0.6667 -0.4000 -0.2857 -0.2222 -0.1818 -0.1538 -0.1333 -0.1176 -0.1053 -0.0952 -0.0870 -0.0800 -0.0741 -0.0690 -0.0645 -0.0606 -0.0571 -0.0541 + 0.6667 2. -2. -0.6667 -0.4000 -0.2857 -0.2222 -0.1818 -0.1538 -0.1333 -0.1176 -0.1053 -0.0952 -0.0870 -0.0800 -0.0741 -0.0690 -0.0645 -0.0606 -0.0571 + 0.4000 0.6667 2. -2. -0.6667 -0.4000 -0.2857 -0.2222 -0.1818 -0.1538 -0.1333 -0.1176 -0.1053 -0.0952 -0.0870 -0.0800 -0.0741 -0.0690 -0.0645 -0.0606 + 0.2857 0.4000 0.6667 2. -2. -0.6667 -0.4000 -0.2857 -0.2222 -0.1818 -0.1538 -0.1333 -0.1176 -0.1053 -0.0952 -0.0870 -0.0800 -0.0741 -0.0690 -0.0645 + + 0.2222 0.2857 0.4000 0.6667 2. -2. -0.6667 -0.4000 -0.2857 -0.2222 -0.1818 -0.1538 -0.1333 -0.1176 -0.1053 -0.0952 -0.0870 -0.0800 -0.0741 -0.0690 + 0.1818 0.2222 0.2857 0.4000 0.6667 2. -2. -0.6667 -0.4000 -0.2857 -0.2222 -0.1818 -0.1538 -0.1333 -0.1176 -0.1053 -0.0952 -0.0870 -0.0800 -0.0741 + 0.1538 0.1818 0.2222 0.2857 0.4000 0.6667 2. -2. -0.6667 -0.4000 -0.2857 -0.2222 -0.1818 -0.1538 -0.1333 -0.1176 -0.1053 -0.0952 -0.0870 -0.0800 + 0.1333 0.1538 0.1818 0.2222 0.2857 0.4000 0.6667 2. -2. -0.6667 -0.4000 -0.2857 -0.2222 -0.1818 -0.1538 -0.1333 -0.1176 -0.1053 -0.0952 -0.0870 + + 0.1176 0.1333 0.1538 0.1818 0.2222 0.2857 0.4000 0.6667 2. -2. -0.6667 -0.4000 -0.2857 -0.2222 -0.1818 -0.1538 -0.1333 -0.1176 -0.1053 -0.0952 + 0.1053 0.1176 0.1333 0.1538 0.1818 0.2222 0.2857 0.4000 0.6667 2. -2. -0.6667 -0.4000 -0.2857 -0.2222 -0.1818 -0.1538 -0.1333 -0.1176 -0.1053 + 0.0952 0.1053 0.1176 0.1333 0.1538 0.1818 0.2222 0.2857 0.4000 0.6667 2. -2. -0.6667 -0.4000 -0.2857 -0.2222 -0.1818 -0.1538 -0.1333 -0.1176 + 0.0870 0.0952 0.1053 0.1176 0.1333 0.1538 0.1818 0.2222 0.2857 0.4000 0.6667 2. -2. -0.6667 -0.4000 -0.2857 -0.2222 -0.1818 -0.1538 -0.1333 + + 0.0800 0.0870 0.0952 0.1053 0.1176 0.1333 0.1538 0.1818 0.2222 0.2857 0.4000 0.6667 2. -2. -0.6667 -0.4000 -0.2857 -0.2222 -0.1818 -0.1538 + 0.0741 0.0800 0.0870 0.0952 0.1053 0.1176 0.1333 0.1538 0.1818 0.2222 0.2857 0.4000 0.6667 2. -2. -0.6667 -0.4000 -0.2857 -0.2222 -0.1818 + 0.0690 0.0741 0.0800 0.0870 0.0952 0.1053 0.1176 0.1333 0.1538 0.1818 0.2222 0.2857 0.4000 0.6667 2. -2. -0.6667 -0.4000 -0.2857 -0.2222 + 0.0645 0.0690 0.0741 0.0800 0.0870 0.0952 0.1053 0.1176 0.1333 0.1538 0.1818 0.2222 0.2857 0.4000 0.6667 2. -2. -0.6667 -0.4000 -0.2857 + + 0.0606 0.0645 0.0690 0.0741 0.0800 0.0870 0.0952 0.1053 0.1176 0.1333 0.1538 0.1818 0.2222 0.2857 0.4000 0.6667 2. -2. -0.6667 -0.4000 + 0.0571 0.0606 0.0645 0.0690 0.0741 0.0800 0.0870 0.0952 0.1053 0.1176 0.1333 0.1538 0.1818 0.2222 0.2857 0.4000 0.6667 2. -2. -0.6667 + 0.0541 0.0571 0.0606 0.0645 0.0690 0.0741 0.0800 0.0870 0.0952 0.1053 0.1176 0.1333 0.1538 0.1818 0.2222 0.2857 0.4000 0.6667 2. -2. + 0.0513 0.0541 0.0571 0.0606 0.0645 0.0690 0.0741 0.0800 0.0870 0.0952 0.1053 0.1176 0.1333 0.1538 0.1818 0.2222 0.2857 0.4000 0.6667 2. +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: parter, cond unknown + +% All tests passed: matgen diff --git a/test/ref/pei.txt b/test/ref/pei.txt new file mode 100644 index 000000000..87a6d3b99 --- /dev/null +++ b/test/ref/pei.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix pei matgen +% 2024-10-24 18:25:30, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 2. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 2. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 2. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 2. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + + 1. 1. 1. 1. 2. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 2. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 2. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 2. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + + 1. 1. 1. 1. 1. 1. 1. 1. 2. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 2. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 2. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 2. 1. 1. 1. 1. 1. 1. 1. 1. + + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 2. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 2. 1. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 2. 1. 1. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 2. 1. 1. 1. 1. + + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 2. 1. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 2. 1. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 2. 1. + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 2. +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: pei, cond unknown + +% All tests passed: matgen diff --git a/test/ref/redheff.txt b/test/ref/redheff.txt new file mode 100644 index 000000000..57499b37f --- /dev/null +++ b/test/ref/redheff.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix redheff matgen +% 2024-10-24 18:25:07, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. + 1. 1. 0. 1. 0. 1. 0. 1. 0. 1. 0. 1. 0. 1. 0. 1. 0. 1. 0. 1. + 1. 0. 1. 0. 0. 1. 0. 0. 1. 0. 0. 1. 0. 0. 1. 0. 0. 1. 0. 0. + 1. 0. 0. 1. 0. 0. 0. 1. 0. 0. 0. 1. 0. 0. 0. 1. 0. 0. 0. 1. + + 1. 0. 0. 0. 1. 0. 0. 0. 0. 1. 0. 0. 0. 0. 1. 0. 0. 0. 0. 1. + 1. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 1. 0. 0. + 1. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. + 1. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. + + 1. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. + 1. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. + 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. + + 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. + 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. + 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. + 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. + + 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. + 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. + 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. + 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: redheff, cond unknown + +% All tests passed: matgen diff --git a/test/ref/ris.txt b/test/ref/ris.txt new file mode 100644 index 000000000..d8a84a2b7 --- /dev/null +++ b/test/ref/ris.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix ris matgen +% 2024-10-24 18:23:14, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 0.0256 0.0270 0.0286 0.0303 0.0323 0.0345 0.0370 0.0400 0.0435 0.0476 0.0526 0.0588 0.0667 0.0769 0.0909 0.1111 0.1429 0.2000 0.3333 1. + 0.0270 0.0286 0.0303 0.0323 0.0345 0.0370 0.0400 0.0435 0.0476 0.0526 0.0588 0.0667 0.0769 0.0909 0.1111 0.1429 0.2000 0.3333 1. -1. + 0.0286 0.0303 0.0323 0.0345 0.0370 0.0400 0.0435 0.0476 0.0526 0.0588 0.0667 0.0769 0.0909 0.1111 0.1429 0.2000 0.3333 1. -1. -0.3333 + 0.0303 0.0323 0.0345 0.0370 0.0400 0.0435 0.0476 0.0526 0.0588 0.0667 0.0769 0.0909 0.1111 0.1429 0.2000 0.3333 1. -1. -0.3333 -0.2000 + + 0.0323 0.0345 0.0370 0.0400 0.0435 0.0476 0.0526 0.0588 0.0667 0.0769 0.0909 0.1111 0.1429 0.2000 0.3333 1. -1. -0.3333 -0.2000 -0.1429 + 0.0345 0.0370 0.0400 0.0435 0.0476 0.0526 0.0588 0.0667 0.0769 0.0909 0.1111 0.1429 0.2000 0.3333 1. -1. -0.3333 -0.2000 -0.1429 -0.1111 + 0.0370 0.0400 0.0435 0.0476 0.0526 0.0588 0.0667 0.0769 0.0909 0.1111 0.1429 0.2000 0.3333 1. -1. -0.3333 -0.2000 -0.1429 -0.1111 -0.0909 + 0.0400 0.0435 0.0476 0.0526 0.0588 0.0667 0.0769 0.0909 0.1111 0.1429 0.2000 0.3333 1. -1. -0.3333 -0.2000 -0.1429 -0.1111 -0.0909 -0.0769 + + 0.0435 0.0476 0.0526 0.0588 0.0667 0.0769 0.0909 0.1111 0.1429 0.2000 0.3333 1. -1. -0.3333 -0.2000 -0.1429 -0.1111 -0.0909 -0.0769 -0.0667 + 0.0476 0.0526 0.0588 0.0667 0.0769 0.0909 0.1111 0.1429 0.2000 0.3333 1. -1. -0.3333 -0.2000 -0.1429 -0.1111 -0.0909 -0.0769 -0.0667 -0.0588 + 0.0526 0.0588 0.0667 0.0769 0.0909 0.1111 0.1429 0.2000 0.3333 1. -1. -0.3333 -0.2000 -0.1429 -0.1111 -0.0909 -0.0769 -0.0667 -0.0588 -0.0526 + 0.0588 0.0667 0.0769 0.0909 0.1111 0.1429 0.2000 0.3333 1. -1. -0.3333 -0.2000 -0.1429 -0.1111 -0.0909 -0.0769 -0.0667 -0.0588 -0.0526 -0.0476 + + 0.0667 0.0769 0.0909 0.1111 0.1429 0.2000 0.3333 1. -1. -0.3333 -0.2000 -0.1429 -0.1111 -0.0909 -0.0769 -0.0667 -0.0588 -0.0526 -0.0476 -0.0435 + 0.0769 0.0909 0.1111 0.1429 0.2000 0.3333 1. -1. -0.3333 -0.2000 -0.1429 -0.1111 -0.0909 -0.0769 -0.0667 -0.0588 -0.0526 -0.0476 -0.0435 -0.0400 + 0.0909 0.1111 0.1429 0.2000 0.3333 1. -1. -0.3333 -0.2000 -0.1429 -0.1111 -0.0909 -0.0769 -0.0667 -0.0588 -0.0526 -0.0476 -0.0435 -0.0400 -0.0370 + 0.1111 0.1429 0.2000 0.3333 1. -1. -0.3333 -0.2000 -0.1429 -0.1111 -0.0909 -0.0769 -0.0667 -0.0588 -0.0526 -0.0476 -0.0435 -0.0400 -0.0370 -0.0345 + + 0.1429 0.2000 0.3333 1. -1. -0.3333 -0.2000 -0.1429 -0.1111 -0.0909 -0.0769 -0.0667 -0.0588 -0.0526 -0.0476 -0.0435 -0.0400 -0.0370 -0.0345 -0.0323 + 0.2000 0.3333 1. -1. -0.3333 -0.2000 -0.1429 -0.1111 -0.0909 -0.0769 -0.0667 -0.0588 -0.0526 -0.0476 -0.0435 -0.0400 -0.0370 -0.0345 -0.0323 -0.0303 + 0.3333 1. -1. -0.3333 -0.2000 -0.1429 -0.1111 -0.0909 -0.0769 -0.0667 -0.0588 -0.0526 -0.0476 -0.0435 -0.0400 -0.0370 -0.0345 -0.0323 -0.0303 -0.0286 + 1. -1. -0.3333 -0.2000 -0.1429 -0.1111 -0.0909 -0.0769 -0.0667 -0.0588 -0.0526 -0.0476 -0.0435 -0.0400 -0.0370 -0.0345 -0.0323 -0.0303 -0.0286 -0.0270 +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: ris, cond unknown + +% All tests passed: matgen diff --git a/test/ref/toeppen.txt b/test/ref/toeppen.txt new file mode 100644 index 000000000..373a38f30 --- /dev/null +++ b/test/ref/toeppen.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix toeppen matgen +% 2024-10-24 18:26:06, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 0. 10. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + -10. 0. 10. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 1. -10. 0. 10. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 1. -10. 0. 10. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + 0. 0. 1. -10. 0. 10. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 1. -10. 0. 10. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 1. -10. 0. 10. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 1. -10. 0. 10. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + 0. 0. 0. 0. 0. 0. 1. -10. 0. 10. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 1. -10. 0. 10. 1. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 1. -10. 0. 10. 1. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -10. 0. 10. 1. 0. 0. 0. 0. 0. 0. + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -10. 0. 10. 1. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -10. 0. 10. 1. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -10. 0. 10. 1. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -10. 0. 10. 1. 0. 0. + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -10. 0. 10. 1. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -10. 0. 10. 1. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -10. 0. 10. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -10. 0. +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: toeppen, cond unknown + +% All tests passed: matgen diff --git a/test/ref/tridiag.txt b/test/ref/tridiag.txt new file mode 100644 index 000000000..88235a01b --- /dev/null +++ b/test/ref/tridiag.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix tridiag matgen +% 2024-10-24 18:25:42, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 2. -1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + -1. 2. -1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. -1. 2. -1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. -1. 2. -1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + 0. 0. 0. -1. 2. -1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. -1. 2. -1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. -1. 2. -1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. -1. 2. -1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + 0. 0. 0. 0. 0. 0. 0. -1. 2. -1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. -1. 2. -1. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. 2. -1. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. 2. -1. 0. 0. 0. 0. 0. 0. 0. + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. 2. -1. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. 2. -1. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. 2. -1. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. 2. -1. 0. 0. 0. + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. 2. -1. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. 2. -1. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. 2. -1. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. -1. 2. +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: tridiag, cond unknown + +% All tests passed: matgen diff --git a/test/ref/triw.txt b/test/ref/triw.txt new file mode 100644 index 000000000..def6fd2e5 --- /dev/null +++ b/test/ref/triw.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix triw matgen +% 2024-10-24 18:25:20, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. + 0. 1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. + 0. 0. 1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. + 0. 0. 0. 1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. + + 0. 0. 0. 0. 1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. + 0. 0. 0. 0. 0. 1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. + 0. 0. 0. 0. 0. 0. 1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. + 0. 0. 0. 0. 0. 0. 0. 1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. + + 0. 0. 0. 0. 0. 0. 0. 0. 1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -1. -1. -1. -1. -1. -1. -1. -1. -1. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -1. -1. -1. -1. -1. -1. -1. -1. + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -1. -1. -1. -1. -1. -1. -1. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -1. -1. -1. -1. -1. -1. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -1. -1. -1. -1. -1. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -1. -1. -1. -1. + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -1. -1. -1. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -1. -1. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. -1. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: triw, cond unknown + +% All tests passed: matgen diff --git a/test/ref/zeros.txt b/test/ref/zeros.txt new file mode 100644 index 000000000..aad39fbf6 --- /dev/null +++ b/test/ref/zeros.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id e62172c3 +% input: ./tester --nb 4 --verbose 4 --dim 20 --matrix zeros matgen +% 2024-10-24 18:18:38, 1 MPI ranks, CPU-only MPI, 22 OpenMP threads per MPI rank + +type origin target go do A trans m n nb alpha beta p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. +]; + d host task col row 1 notrans 20 20 4 3.1+1.4i 2.7+1.7i 1 1 NA NA no check + +% Matrix kinds: +% 1: zeros, cond = inf + +% All tests passed: matgen diff --git a/test/test_matgen.cc b/test/test_matgen.cc index 523b0a285..d805338d9 100644 --- a/test/test_matgen.cc +++ b/test/test_matgen.cc @@ -23,10 +23,6 @@ template void test_matgen_work(Params& params, bool run) { using scalar_t = typename matrix_type::value_type; - //using real_t = blas::real_type; - //using blas::real; - //using blas::imag; - //using slate::ceildiv; // get & mark input values slate::Uplo uplo; @@ -49,7 +45,6 @@ void test_matgen_work(Params& params, bool run) bool ref_only = params.ref() == 'o'; bool ref = params.ref() == 'y' || ref_only; bool check = params.check() == 'y' && ! ref_only; - //bool trace = params.trace() == 'y'; slate::Target target = params.target(); params.matrix.mark(); @@ -74,7 +69,6 @@ void test_matgen_work(Params& params, bool run) auto& Afull = A_alloc.A; auto& Aref_full = A_alloc.Aref; - //auto& Aref_data = A_alloc.Aref_data; slate::generate_matrix( params.matrix, Afull ); @@ -90,7 +84,7 @@ void test_matgen_work(Params& params, bool run) else if (trans == slate::Op::ConjTrans) A = conj_transpose( A ); - print_matrix( "Afull", Afull, params ); + //print_matrix( "Afull", Afull, params ); print_matrix( "A", A, params ); } From 8963a42de8103f28b5b03309631fcf3a5ff6aab2 Mon Sep 17 00:00:00 2001 From: Mark Gates Date: Mon, 28 Oct 2024 22:38:44 -0400 Subject: [PATCH 8/8] Add ref for matrix ij --- test/ref/ij.txt | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 test/ref/ij.txt diff --git a/test/ref/ij.txt b/test/ref/ij.txt new file mode 100644 index 000000000..0fc2e744a --- /dev/null +++ b/test/ref/ij.txt @@ -0,0 +1,38 @@ +% SLATE version 2024.05.31, id cd519764 +% input: ./tester --dim 20 --nb 4 --matrix ij --verbose 4 matgen +% 2024-10-28 22:37:03, 4 MPI ranks, CPU-only MPI, 4 OpenMP threads per MPI rank + +type origin target go do A trans m n nb p q error time (s) status +% A: Matrix 20-by-20, 5-by-5 tiles, tileSize 4-by-4 +A = [ + 0. 0.0100 0.0200 0.0300 0.0400 0.0500 0.0600 0.0700 0.0800 0.0900 0.1000 0.1100 0.1200 0.1300 0.1400 0.1500 0.1600 0.1700 0.1800 0.1900 + 1. 1.0100 1.0200 1.0300 1.0400 1.0500 1.0600 1.0700 1.0800 1.0900 1.1000 1.1100 1.1200 1.1300 1.1400 1.1500 1.1600 1.1700 1.1800 1.1900 + 2. 2.0100 2.0200 2.0300 2.0400 2.0500 2.0600 2.0700 2.0800 2.0900 2.1000 2.1100 2.1200 2.1300 2.1400 2.1500 2.1600 2.1700 2.1800 2.1900 + 3. 3.0100 3.0200 3.0300 3.0400 3.0500 3.0600 3.0700 3.0800 3.0900 3.1000 3.1100 3.1200 3.1300 3.1400 3.1500 3.1600 3.1700 3.1800 3.1900 + + 4. 4.0100 4.0200 4.0300 4.0400 4.0500 4.0600 4.0700 4.0800 4.0900 4.1000 4.1100 4.1200 4.1300 4.1400 4.1500 4.1600 4.1700 4.1800 4.1900 + 5. 5.0100 5.0200 5.0300 5.0400 5.0500 5.0600 5.0700 5.0800 5.0900 5.1000 5.1100 5.1200 5.1300 5.1400 5.1500 5.1600 5.1700 5.1800 5.1900 + 6. 6.0100 6.0200 6.0300 6.0400 6.0500 6.0600 6.0700 6.0800 6.0900 6.1000 6.1100 6.1200 6.1300 6.1400 6.1500 6.1600 6.1700 6.1800 6.1900 + 7. 7.0100 7.0200 7.0300 7.0400 7.0500 7.0600 7.0700 7.0800 7.0900 7.1000 7.1100 7.1200 7.1300 7.1400 7.1500 7.1600 7.1700 7.1800 7.1900 + + 8. 8.0100 8.0200 8.0300 8.0400 8.0500 8.0600 8.0700 8.0800 8.0900 8.1000 8.1100 8.1200 8.1300 8.1400 8.1500 8.1600 8.1700 8.1800 8.1900 + 9. 9.0100 9.0200 9.0300 9.0400 9.0500 9.0600 9.0700 9.0800 9.0900 9.1000 9.1100 9.1200 9.1300 9.1400 9.1500 9.1600 9.1700 9.1800 9.1900 + 10. 10.0100 10.0200 10.0300 10.0400 10.0500 10.0600 10.0700 10.0800 10.0900 10.1000 10.1100 10.1200 10.1300 10.1400 10.1500 10.1600 10.1700 10.1800 10.1900 + 11. 11.0100 11.0200 11.0300 11.0400 11.0500 11.0600 11.0700 11.0800 11.0900 11.1000 11.1100 11.1200 11.1300 11.1400 11.1500 11.1600 11.1700 11.1800 11.1900 + + 12. 12.0100 12.0200 12.0300 12.0400 12.0500 12.0600 12.0700 12.0800 12.0900 12.1000 12.1100 12.1200 12.1300 12.1400 12.1500 12.1600 12.1700 12.1800 12.1900 + 13. 13.0100 13.0200 13.0300 13.0400 13.0500 13.0600 13.0700 13.0800 13.0900 13.1000 13.1100 13.1200 13.1300 13.1400 13.1500 13.1600 13.1700 13.1800 13.1900 + 14. 14.0100 14.0200 14.0300 14.0400 14.0500 14.0600 14.0700 14.0800 14.0900 14.1000 14.1100 14.1200 14.1300 14.1400 14.1500 14.1600 14.1700 14.1800 14.1900 + 15. 15.0100 15.0200 15.0300 15.0400 15.0500 15.0600 15.0700 15.0800 15.0900 15.1000 15.1100 15.1200 15.1300 15.1400 15.1500 15.1600 15.1700 15.1800 15.1900 + + 16. 16.0100 16.0200 16.0300 16.0400 16.0500 16.0600 16.0700 16.0800 16.0900 16.1000 16.1100 16.1200 16.1300 16.1400 16.1500 16.1600 16.1700 16.1800 16.1900 + 17. 17.0100 17.0200 17.0300 17.0400 17.0500 17.0600 17.0700 17.0800 17.0900 17.1000 17.1100 17.1200 17.1300 17.1400 17.1500 17.1600 17.1700 17.1800 17.1900 + 18. 18.0100 18.0200 18.0300 18.0400 18.0500 18.0600 18.0700 18.0800 18.0900 18.1000 18.1100 18.1200 18.1300 18.1400 18.1500 18.1600 18.1700 18.1800 18.1900 + 19. 19.0100 19.0200 19.0300 19.0400 19.0500 19.0600 19.0700 19.0800 19.0900 19.1000 19.1100 19.1200 19.1300 19.1400 19.1500 19.1600 19.1700 19.1800 19.1900 +]; + d host task col row 1 notrans 20 20 4 2 2 NA NA no check + +% Matrix kinds: +% 1: ij, cond unknown + +% All tests passed: matgen