From 619fc9b40a73656a96d973315e72c11e47fd2cb8 Mon Sep 17 00:00:00 2001 From: Lukas Cejka <lukas.ostatek@gmail.com> Date: Sun, 2 Dec 2018 00:00:13 +0100 Subject: [PATCH] Commented out tests that are not needed to solve issues with CUDA illegal memory access. --- src/UnitTests/Matrices/SparseMatrixTest.h | 102 +++++++++--------- .../Matrices/SparseMatrixTest_impl.h | 40 +++++-- 2 files changed, 85 insertions(+), 57 deletions(-) diff --git a/src/UnitTests/Matrices/SparseMatrixTest.h b/src/UnitTests/Matrices/SparseMatrixTest.h index 5985c8f643..a84b87f3b0 100644 --- a/src/UnitTests/Matrices/SparseMatrixTest.h +++ b/src/UnitTests/Matrices/SparseMatrixTest.h @@ -329,19 +329,19 @@ protected: // types for which MatrixTest is instantiated using ChEllpackMatrixTypes = ::testing::Types < - TNL::Matrices::ChunkedEllpack< int, TNL::Devices::Host, short >, - TNL::Matrices::ChunkedEllpack< long, TNL::Devices::Host, short >, - TNL::Matrices::ChunkedEllpack< float, TNL::Devices::Host, short >, - TNL::Matrices::ChunkedEllpack< double, TNL::Devices::Host, short >, - TNL::Matrices::ChunkedEllpack< int, TNL::Devices::Host, int >, - TNL::Matrices::ChunkedEllpack< long, TNL::Devices::Host, int >, - TNL::Matrices::ChunkedEllpack< float, TNL::Devices::Host, int >, - TNL::Matrices::ChunkedEllpack< double, TNL::Devices::Host, int >, - TNL::Matrices::ChunkedEllpack< int, TNL::Devices::Host, long >, - TNL::Matrices::ChunkedEllpack< long, TNL::Devices::Host, long >, - TNL::Matrices::ChunkedEllpack< float, TNL::Devices::Host, long >, - TNL::Matrices::ChunkedEllpack< double, TNL::Devices::Host, long >, -#ifdef HAVE_CUDA +// TNL::Matrices::ChunkedEllpack< int, TNL::Devices::Host, short >, +// TNL::Matrices::ChunkedEllpack< long, TNL::Devices::Host, short >, +// TNL::Matrices::ChunkedEllpack< float, TNL::Devices::Host, short >, +// TNL::Matrices::ChunkedEllpack< double, TNL::Devices::Host, short >, +// TNL::Matrices::ChunkedEllpack< int, TNL::Devices::Host, int >, +// TNL::Matrices::ChunkedEllpack< long, TNL::Devices::Host, int >, +// TNL::Matrices::ChunkedEllpack< float, TNL::Devices::Host, int >, +// TNL::Matrices::ChunkedEllpack< double, TNL::Devices::Host, int >, +// TNL::Matrices::ChunkedEllpack< int, TNL::Devices::Host, long >, +// TNL::Matrices::ChunkedEllpack< long, TNL::Devices::Host, long >, +// TNL::Matrices::ChunkedEllpack< float, TNL::Devices::Host, long >, +// TNL::Matrices::ChunkedEllpack< double, TNL::Devices::Host, long >//, +#ifdef FAKE //HAVE_CUDA TNL::Matrices::ChunkedEllpack< int, TNL::Devices::Cuda, short >, TNL::Matrices::ChunkedEllpack< long, TNL::Devices::Cuda, short >, TNL::Matrices::ChunkedEllpack< float, TNL::Devices::Cuda, short >, @@ -440,18 +440,18 @@ protected: // types for which MatrixTest is instantiated using CSRMatrixTypes = ::testing::Types < - TNL::Matrices::CSR< int, TNL::Devices::Host, short >, - TNL::Matrices::CSR< long, TNL::Devices::Host, short >, - TNL::Matrices::CSR< float, TNL::Devices::Host, short >, - TNL::Matrices::CSR< double, TNL::Devices::Host, short >, - TNL::Matrices::CSR< int, TNL::Devices::Host, int >, - TNL::Matrices::CSR< long, TNL::Devices::Host, int >, - TNL::Matrices::CSR< float, TNL::Devices::Host, int >, - TNL::Matrices::CSR< double, TNL::Devices::Host, int >, - TNL::Matrices::CSR< int, TNL::Devices::Host, long >, - TNL::Matrices::CSR< long, TNL::Devices::Host, long >, - TNL::Matrices::CSR< float, TNL::Devices::Host, long >, - TNL::Matrices::CSR< double, TNL::Devices::Host, long >, +// TNL::Matrices::CSR< int, TNL::Devices::Host, short >, +// TNL::Matrices::CSR< long, TNL::Devices::Host, short >, +// TNL::Matrices::CSR< float, TNL::Devices::Host, short >, +// TNL::Matrices::CSR< double, TNL::Devices::Host, short >, +// TNL::Matrices::CSR< int, TNL::Devices::Host, int >, +// TNL::Matrices::CSR< long, TNL::Devices::Host, int >, +// TNL::Matrices::CSR< float, TNL::Devices::Host, int >, +// TNL::Matrices::CSR< double, TNL::Devices::Host, int >, +// TNL::Matrices::CSR< int, TNL::Devices::Host, long >, +// TNL::Matrices::CSR< long, TNL::Devices::Host, long >, +// TNL::Matrices::CSR< float, TNL::Devices::Host, long >, +// TNL::Matrices::CSR< double, TNL::Devices::Host, long >//, #ifdef HAVE_CUDA TNL::Matrices::CSR< int, TNL::Devices::Cuda, short >, TNL::Matrices::CSR< long, TNL::Devices::Cuda, short >, @@ -551,19 +551,19 @@ protected: // types for which MatrixTest is instantiated using EllpackMatrixTypes = ::testing::Types < - TNL::Matrices::Ellpack< int, TNL::Devices::Host, short >, - TNL::Matrices::Ellpack< long, TNL::Devices::Host, short >, - TNL::Matrices::Ellpack< float, TNL::Devices::Host, short >, - TNL::Matrices::Ellpack< double, TNL::Devices::Host, short >, - TNL::Matrices::Ellpack< int, TNL::Devices::Host, int >, - TNL::Matrices::Ellpack< long, TNL::Devices::Host, int >, - TNL::Matrices::Ellpack< float, TNL::Devices::Host, int >, - TNL::Matrices::Ellpack< double, TNL::Devices::Host, int >, - TNL::Matrices::Ellpack< int, TNL::Devices::Host, long >, - TNL::Matrices::Ellpack< long, TNL::Devices::Host, long >, - TNL::Matrices::Ellpack< float, TNL::Devices::Host, long >, - TNL::Matrices::Ellpack< double, TNL::Devices::Host, long >, -#ifdef HAVE_CUDA +// TNL::Matrices::Ellpack< int, TNL::Devices::Host, short >, +// TNL::Matrices::Ellpack< long, TNL::Devices::Host, short >, +// TNL::Matrices::Ellpack< float, TNL::Devices::Host, short >, +// TNL::Matrices::Ellpack< double, TNL::Devices::Host, short >, +// TNL::Matrices::Ellpack< int, TNL::Devices::Host, int >, +// TNL::Matrices::Ellpack< long, TNL::Devices::Host, int >, +// TNL::Matrices::Ellpack< float, TNL::Devices::Host, int >, +// TNL::Matrices::Ellpack< double, TNL::Devices::Host, int >, +// TNL::Matrices::Ellpack< int, TNL::Devices::Host, long >, +// TNL::Matrices::Ellpack< long, TNL::Devices::Host, long >, +// TNL::Matrices::Ellpack< float, TNL::Devices::Host, long >, +// TNL::Matrices::Ellpack< double, TNL::Devices::Host, long >//, +#ifdef FAKE //HAVE_CUDA TNL::Matrices::Ellpack< int, TNL::Devices::Cuda, short >, TNL::Matrices::Ellpack< long, TNL::Devices::Cuda, short >, TNL::Matrices::Ellpack< float, TNL::Devices::Cuda, short >, @@ -662,19 +662,19 @@ protected: // types for which MatrixTest is instantiated using SlicedEllpackMatrixTypes = ::testing::Types < - TNL::Matrices::SlicedEllpack< int, TNL::Devices::Host, short >, - TNL::Matrices::SlicedEllpack< long, TNL::Devices::Host, short >, - TNL::Matrices::SlicedEllpack< float, TNL::Devices::Host, short >, - TNL::Matrices::SlicedEllpack< double, TNL::Devices::Host, short >, - TNL::Matrices::SlicedEllpack< int, TNL::Devices::Host, int >, - TNL::Matrices::SlicedEllpack< long, TNL::Devices::Host, int >, - TNL::Matrices::SlicedEllpack< float, TNL::Devices::Host, int >, - TNL::Matrices::SlicedEllpack< double, TNL::Devices::Host, int >, - TNL::Matrices::SlicedEllpack< int, TNL::Devices::Host, long >, - TNL::Matrices::SlicedEllpack< long, TNL::Devices::Host, long >, - TNL::Matrices::SlicedEllpack< float, TNL::Devices::Host, long >, - TNL::Matrices::SlicedEllpack< double, TNL::Devices::Host, long >, -#ifdef HAVE_CUDA +// TNL::Matrices::SlicedEllpack< int, TNL::Devices::Host, short >, +// TNL::Matrices::SlicedEllpack< long, TNL::Devices::Host, short >, +// TNL::Matrices::SlicedEllpack< float, TNL::Devices::Host, short >, +// TNL::Matrices::SlicedEllpack< double, TNL::Devices::Host, short >, +// TNL::Matrices::SlicedEllpack< int, TNL::Devices::Host, int >, +// TNL::Matrices::SlicedEllpack< long, TNL::Devices::Host, int >, +// TNL::Matrices::SlicedEllpack< float, TNL::Devices::Host, int >, +// TNL::Matrices::SlicedEllpack< double, TNL::Devices::Host, int >, +// TNL::Matrices::SlicedEllpack< int, TNL::Devices::Host, long >, +// TNL::Matrices::SlicedEllpack< long, TNL::Devices::Host, long >, +// TNL::Matrices::SlicedEllpack< float, TNL::Devices::Host, long >, +// TNL::Matrices::SlicedEllpack< double, TNL::Devices::Host, long >, +#ifdef FAKE //HAVE_CUDA TNL::Matrices::SlicedEllpack< int, TNL::Devices::Cuda, short >, TNL::Matrices::SlicedEllpack< long, TNL::Devices::Cuda, short >, TNL::Matrices::SlicedEllpack< float, TNL::Devices::Cuda, short >, diff --git a/src/UnitTests/Matrices/SparseMatrixTest_impl.h b/src/UnitTests/Matrices/SparseMatrixTest_impl.h index d2dae912e6..c8868409c9 100644 --- a/src/UnitTests/Matrices/SparseMatrixTest_impl.h +++ b/src/UnitTests/Matrices/SparseMatrixTest_impl.h @@ -130,16 +130,44 @@ void test_SetCompressedRowLengths() rowLengths.setSize( rows ); rowLengths.setValue( 3 ); - IndexType value = 1; + IndexType rowLength = 1; for( IndexType i = 2; i < rows; i++ ) - rowLengths.setElement( i, value++ ); + rowLengths.setElement( i, rowLength++ ); m.setCompressedRowLengths( rowLengths ); - RealType realValue = 1; // Do this for every individual row, to assure that non-zero values are not assigned where they're not supposed to be, aka, outside of compressed Row Length - for( IndexType i = 0; i < rows; i++ ) - for( IndexType j = 0; j < cols; j++ ) - m.setElement( i, j, realValue++ ); + // Insert values into the rows. + RealType value = 1; + + for( IndexType i = 0; i < 3; i++ ) // 0th row + m.setElement( 0, i, value++ ); + + for( IndexType i = 0; i < 3; i++ ) // 1st row + m.setElement( 1, i, value++ ); + + for( IndexType i = 0; i < 1; i++ ) // 2nd row + m.setElement( 2, i, value++ ); + + for( IndexType i = 0; i < 2; i++ ) // 3rd row + m.setElement( 3, i, value++ ); + + for( IndexType i = 0; i < 3; i++ ) // 4th row + m.setElement( 4, i, value++ ); + + for( IndexType i = 0; i < 4; i++ ) // 5th row + m.setElement( 5, i, value++ ); + + for( IndexType i = 0; i < 5; i++ ) // 6th row + m.setElement( 6, i, value++ ); + + for( IndexType i = 0; i < 6; i++ ) // 7th row + m.setElement( 7, i, value++ ); + + for( IndexType i = 0; i < 7; i++ ) // 8th row + m.setElement( 8, i, value++ ); + + for( IndexType i = 0; i < 8; i++ ) // 9th row + m.setElement( 9, i, value++ ); EXPECT_EQ( m.getNonZeroRowLength( 0 ), 3 ); -- GitLab