Commit a3b33a5f authored by Tomáš Oberhuber's avatar Tomáš Oberhuber
Browse files

Merge branch 'matrices-revision' into 'develop'

Matrices revision

See merge request !46
parents 4b9c6207 fe5cc346
Loading
Loading
Loading
Loading
+23 −11
Original line number Diff line number Diff line
@@ -59,6 +59,18 @@ std::string getMatrixFormat( const Matrix& matrix )
    return format;
}

template< typename Matrix >
std::string getFormatShort( const Matrix& matrix )
{
    std::string mtrxFullType = getType( matrix );
    std::string mtrxType = mtrxFullType.substr( 0, mtrxFullType.find( "<" ) );
    std::string format = mtrxType.substr( mtrxType.find( ':' ) + 2 );
    format = format.substr( format.find(':') + 2);
    format = format.substr( 0, 3 );

    return format;
}

// Print information about the matrix.
template< typename Matrix >
void printMatrixInfo( const Matrix& matrix,
@@ -202,17 +214,6 @@ benchmarkSpMV( Benchmark& benchmark,
    // Copy the values
    resultHostVector2 = hostVector2;

    // Setup cuSPARSE MetaData, since it has the same header as CSR,
    //  and therefore will not get its own headers (rows, cols, speedup etc.) in log.
    //      * Not setting this up causes (among other undiscovered errors) the speedup from CPU to GPU on the input format to be overwritten.
    benchmark.setMetadataColumns( Benchmark::MetadataColumns({
          { "matrix name", convertToString( getMatrixFileName( inputFileName ) ) },
          { "non-zeros", convertToString( hostMatrix.getNumberOfNonzeroMatrixElements() ) },
          { "rows", convertToString( hostMatrix.getRows() ) },
          { "columns", convertToString( hostMatrix.getColumns() ) },
          { "matrix format", convertToString( "CSR-cuSPARSE" ) }
       } ));

#ifdef HAVE_CUDA
    benchmark.time< Devices::Cuda >( reset, "GPU", spmvCuda );

@@ -224,6 +225,17 @@ benchmarkSpMV( Benchmark& benchmark,

    resultDeviceVector2 = deviceVector2;
    
    // Setup cuSPARSE MetaData, since it has the same header as CSR,
    //  and therefore will not get its own headers (rows, cols, speedup etc.) in log.
    //      * Not setting this up causes (among other undiscovered errors) the speedup from CPU to GPU on the input format to be overwritten.
    benchmark.setMetadataColumns( Benchmark::MetadataColumns({
          { "matrix name", convertToString( getMatrixFileName( inputFileName ) ) },
          { "non-zeros", convertToString( hostMatrix.getNumberOfNonzeroMatrixElements() ) },
          { "rows", convertToString( hostMatrix.getRows() ) },
          { "columns", convertToString( hostMatrix.getColumns() ) },
          { "matrix format", convertToString( "CSR-cuSPARSE-" + getFormatShort( hostMatrix ) ) }
       } ));

    benchmark.time< Devices::Cuda >( reset, "GPU", spmvCusparse );

    HostVector resultcuSPARSEDeviceVector2;
+0 −1
Original line number Diff line number Diff line
@@ -232,7 +232,6 @@ http://www.cise.ufl.edu/research/sparse/MM/FIDAP/ex7.tar.gz \
http://www.cise.ufl.edu/research/sparse/MM/FIDAP/ex8.tar.gz \
http://www.cise.ufl.edu/research/sparse/MM/FIDAP/ex9.tar.gz \
http://www.cise.ufl.edu/research/sparse/MM/Freescale/circuit5M_dc.tar.gz \
http://www.cise.ufl.edu/research/sparse/MM/Freescale/circuit5M.tar.gz \
http://www.cise.ufl.edu/research/sparse/MM/Freescale/Freescale1.tar.gz \
http://www.cise.ufl.edu/research/sparse/MM/Freescale/memchip.tar.gz \
http://www.cise.ufl.edu/research/sparse/MM/Freescale/transient.tar.gz \