hbmatmult.c File Reference


Detailed Description

Comprehensive test of matrix-vector multiply for an arbitrary data structure transformation (specified by a OSKI-Lua program), where the matrix is read from a Harwell-Boeing file.

Like bcsr.c, also implicitly tests oski_ApplyMatTransforms().

#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <oski/common.h>
#include <oski/matrix.h>
#include <oski/matcreate.h>
#include <oski/tune.h>
#include "abort_prog.h"
#include "readhbpat.h"
#include "testvec.h"

Parameter test lists.

#define NUM_OP   3
#define NUM_NUM_VECS   2
#define NUM_ALPHA   3
#define NUM_BETA   3
#define NUM_USE_MINSTRIDE   2
#define NUM_ORIENT   2
static const oski_matop_t TL_op [NUM_OP]
static const oski_index_t TL_num_vecs [NUM_NUM_VECS] = { 1, 3 }
static const oski_value_t TL_alpha [NUM_ALPHA]
static const oski_value_t TL_beta [NUM_BETA]
static const int TL_use_minstride [NUM_USE_MINSTRIDE] = { 0, 1 }
static const oski_storage_t TL_orient [NUM_ORIENT]

Functions

static int TestInstance (const oski_matrix_t A0, const oski_matrix_t A1, oski_index_t m, oski_index_t n, oski_matop_t opA, oski_index_t num_vecs, oski_value_t alpha, const oski_vecview_t x, oski_value_t beta, oski_vecview_t y0, int test_num, int max_tests, int min_test, int max_test)
static int TestY (const oski_matrix_t A0, const oski_matrix_t A1, oski_index_t m, oski_index_t n, oski_matop_t opA, oski_index_t num_vecs, oski_value_t alpha, const oski_vecview_t x, oski_value_t beta, int test_num, int max_tests, int min_test, int max_test)
static int TestBeta (const oski_matrix_t A0, const oski_matrix_t A1, oski_index_t m, oski_index_t n, oski_matop_t opA, oski_index_t num_vecs, oski_value_t alpha, const oski_vecview_t x, int test_num, int max_tests, int min_test, int max_test)
static int TestX (const oski_matrix_t A0, const oski_matrix_t A1, oski_index_t m, oski_index_t n, oski_matop_t opA, oski_index_t num_vecs, oski_value_t alpha, int test_num, int max_tests, int min_test, int max_test)
static int TestAlpha (const oski_matrix_t A0, const oski_matrix_t A1, oski_index_t m, oski_index_t n, oski_matop_t opA, oski_index_t num_vecs, int test_num, int max_tests, int min_test, int max_test)
static int TestNumVecs (const oski_matrix_t A0, const oski_matrix_t A1, oski_index_t m, oski_index_t n, oski_matop_t opA, int test_num, int max_tests, int min_test, int max_test)
static int TestOp (const oski_matrix_t A0, const oski_matrix_t A1, oski_index_t m, oski_index_t n, int test_num, int max_tests, int min_test, int max_test)
static void check_MatMult (const oski_matrix_t A0, const oski_matrix_t A1, oski_index_t m, oski_index_t n, int min_test, int max_test)
int main (int argc, char *argv[])


Variable Documentation

const oski_value_t TL_alpha[NUM_ALPHA] [static]
 

Initial value:

 {
  MAKE_VAL_COMPLEX (1.0, 0.0),
  MAKE_VAL_COMPLEX (-1.0, 0.0),

}

const oski_value_t TL_beta[NUM_BETA] [static]
 

Initial value:

 {
  MAKE_VAL_COMPLEX (0.0, 0.0),
  MAKE_VAL_COMPLEX (1.0, 0.0),

}

const oski_matop_t TL_op[NUM_OP] [static]
 

Initial value:

const oski_storage_t TL_orient[NUM_ORIENT] [static]
 

Initial value:


Generated on Wed Sep 19 16:41:22 2007 for BeBOP Optimized Sparse Kernel Interface Library by  doxygen 1.4.6