Matrix Library
A simple Matrix operation library to perform Matrix Multiplication and find the transpose of a Matrix.
|
A Cpp configuration file to find the best leaf size for Stressan's Algorithm and generate a "configure.txt" file. This file evaluates the execution time of the MATOPS::BigMatrix<Data1>::matmul() function as function of different LEAF_SIZE values. This flag is always run with the SET_LEAF_SIZE flag. This flag enables the matrix.h file to run in configuration mode. Thus enabling configure_lib.cpp to vary LEAF_SIZE variable of matrx.h and find the most optimal LEAF_SIZE value. For a given LEAF_SIZE value this program calls MATOPS::BigMatrix<Data1>::matmul() N_epoch (>2) no. of times and finds out the average execution time of MATOPS::BigMatrix<Data1>::matmul() for that particular LEAF_SIZE. Use the following command to run the configure_lib.cpp file. More...
Functions | |
int | main (int argc, char **argv) |
A Cpp configuration file to find the best leaf size for Stressan's Algorithm and generate a "configure.txt" file. This file evaluates the execution time of the MATOPS::BigMatrix<Data1>::matmul() function as function of different LEAF_SIZE values. This flag is always run with the SET_LEAF_SIZE flag. This flag enables the matrix.h file to run in configuration mode. Thus enabling configure_lib.cpp to vary LEAF_SIZE variable of matrx.h and find the most optimal LEAF_SIZE value. For a given LEAF_SIZE value this program calls MATOPS::BigMatrix<Data1>::matmul() N_epoch (>2) no. of times and finds out the average execution time of MATOPS::BigMatrix<Data1>::matmul() for that particular LEAF_SIZE. Use the following command to run the configure_lib.cpp file.
The program begins with LEAF_SIZE = 8, calls MATOPS::BigMatrix<Data1>::matmul() N_epoch times and calculates the average execution time of matmul over all the calls and stores it in a varaible min_time. It continues doing the same for LEAF_SIZE=16, 32,64 ..... as min_time keeps reducing. As soon as the value of min_time starts increasing we break out of the inifinite while loop and store the LEAF_SIZE value that gave the least min_time in a configure.txt file. This file is later used by matmul to multiply big matrices.
int main | ( | int | argc, |
char ** | argv | ||
) |