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

Refactoring the array operations.

parent f1c5e412
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2,7 +2,7 @@

TARGET=TNL
INSTALL_PREFIX=${HOME}/local
WITH_CUDA=no
WITH_CUDA=yes
WITH_CUSPARSE=no
CUDA_ARCHITECTURE=2.0
TEMPLATE_EXPLICIT_INSTANTIATION=yes
+2 −2
Original line number Diff line number Diff line
@@ -63,12 +63,12 @@ class tnlArrayOperations< tnlHost >
                           const SourceElement* source,
                           const Index size );

   /*template< typename Element,
   template< typename Element,
             typename DestinationDevice,
             typename Index >
   static bool copyMemory( Element* destination,
                           const Element* source,
                           const Index size );*/
                           const Index size );

   template< typename Element1,
             typename DestinationDevice,
+2 −0
Original line number Diff line number Diff line
@@ -38,6 +38,8 @@ class tnlCuda

   static void setMaxBlockSize( int newMaxBlockSize );

   static int getGPUTransferBufferSize();

   protected:

   static int maxGridSize, maxBlockSize;
+1 −2
Original line number Diff line number Diff line
@@ -2,8 +2,7 @@ ADD_SUBDIRECTORY( arrays )
ADD_SUBDIRECTORY( cuda )
ADD_SUBDIRECTORY( vectors )

SET( headers memory-operations.h
             tnlCuda_impl.h
SET( headers tnlCuda_impl.h
             tnlHost_impl.h
             tnlLogger_impl.h )

+30 −30
Original line number Diff line number Diff line
@@ -46,12 +46,12 @@ template void tnlArrayOperations< tnlCuda >::setMemoryElement< float >( fl
template void tnlArrayOperations< tnlCuda >::setMemoryElement< double      >( double* data, const double& value );
template void tnlArrayOperations< tnlCuda >::setMemoryElement< long double >( long double* data, const long double& value );

template char        tnlArrayOperations< tnlCuda >::getMemoryElement< char        >( char* data );
template int         tnlArrayOperations< tnlCuda >::getMemoryElement< int         >( int* data );
template long int    tnlArrayOperations< tnlCuda >::getMemoryElement< long int    >( long int* data );
template float       tnlArrayOperations< tnlCuda >::getMemoryElement< float       >( float* data );
template double      tnlArrayOperations< tnlCuda >::getMemoryElement< double      >( double* data );
template long double tnlArrayOperations< tnlCuda >::getMemoryElement< long double >( long double* data );
template char        tnlArrayOperations< tnlCuda >::getMemoryElement< char        >( const char* data );
template int         tnlArrayOperations< tnlCuda >::getMemoryElement< int         >( const int* data );
template long int    tnlArrayOperations< tnlCuda >::getMemoryElement< long int    >( const long int* data );
template float       tnlArrayOperations< tnlCuda >::getMemoryElement< float       >( const float* data );
template double      tnlArrayOperations< tnlCuda >::getMemoryElement< double      >( const double* data );
template long double tnlArrayOperations< tnlCuda >::getMemoryElement< long double >( const long double* data );

template char&        tnlArrayOperations< tnlCuda >::getArrayElementReference< char,        int >( char* data, const int i );
template int&         tnlArrayOperations< tnlCuda >::getArrayElementReference< int,         int >( int* data, const int i );
@@ -106,30 +106,30 @@ template bool tnlArrayOperations< tnlCuda >::copyMemory< float, tnlCuda,
template bool tnlArrayOperations< tnlCuda >::copyMemory< double,      tnlCuda,      double, long int >( double* destination, const double* source, const long int size );
template bool tnlArrayOperations< tnlCuda >::copyMemory< long double, tnlCuda, long double, long int >( long double* destination, const long double* source, const long int size );

template bool tnlArrayOperations< tnlCuda >::compareMemory< char,        tnlHost, int >( const char* data1, const char* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< int,         tnlHost, int >( const int* data1, const int* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< long int,    tnlHost, int >( const long int* data1, const long int* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< float,       tnlHost, int >( const float* data1, const float* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< double,      tnlHost, int >( const double* data1, const double* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< long double, tnlHost, int >( const long double* data1, const long double* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< char,        tnlHost, long int >( const char* data1, const char* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< int,         tnlHost, long int >( const int* data1, const int* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< long int,    tnlHost, long int >( const long int* data1, const long int* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< float,       tnlHost, long int >( const float* data1, const float* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< double,      tnlHost, long int >( const double* data1, const double* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< long double, tnlHost, long int >( const long double* data1, const long double* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< char,        tnlCuda, int >( const char* data1, const char* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< int,         tnlCuda, int >( const int* data1, const int* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< long int,    tnlCuda, int >( const long int* data1, const long int* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< float,       tnlCuda, int >( const float* data1, const float* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< double,      tnlCuda, int >( const double* data1, const double* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< long double, tnlCuda, int >( const long double* data1, const long double* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< char,        tnlCuda, long int >( const char* data1, const char* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< int,         tnlCuda, long int >( const int* data1, const int* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< long int,    tnlCuda, long int >( const long int* data1, const long int* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< float,       tnlCuda, long int >( const float* data1, const float* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< double,      tnlCuda, long int >( const double* data1, const double* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< long double, tnlCuda, long int >( const long double* data1, const long double* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< char,        tnlHost,        char, int >( const char* data1, const char* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< int,         tnlHost,         int, int >( const int* data1, const int* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< long int,    tnlHost,    long int, int >( const long int* data1, const long int* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< float,       tnlHost,       float, int >( const float* data1, const float* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< double,      tnlHost,      double, int >( const double* data1, const double* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< long double, tnlHost, long double, int >( const long double* data1, const long double* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< char,        tnlHost,        char, long int >( const char* data1, const char* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< int,         tnlHost,         int, long int >( const int* data1, const int* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< long int,    tnlHost,    long int, long int >( const long int* data1, const long int* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< float,       tnlHost,       float, long int >( const float* data1, const float* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< double,      tnlHost,      double, long int >( const double* data1, const double* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< long double, tnlHost, long double, long int >( const long double* data1, const long double* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< char,        tnlCuda,        char, int >( const char* data1, const char* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< int,         tnlCuda,         int, int >( const int* data1, const int* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< long int,    tnlCuda,    long int, int >( const long int* data1, const long int* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< float,       tnlCuda,       float, int >( const float* data1, const float* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< double,      tnlCuda,      double, int >( const double* data1, const double* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< long double, tnlCuda, long double, int >( const long double* data1, const long double* data2, const int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< char,        tnlCuda,        char, long int >( const char* data1, const char* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< int,         tnlCuda,         int, long int >( const int* data1, const int* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< long int,    tnlCuda,    long int, long int >( const long int* data1, const long int* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< float,       tnlCuda,       float, long int >( const float* data1, const float* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< double,      tnlCuda,      double, long int >( const double* data1, const double* data2, const long int size );
template bool tnlArrayOperations< tnlCuda >::compareMemory< long double, tnlCuda, long double, long int >( const long double* data1, const long double* data2, const long int size );

template bool tnlArrayOperations< tnlCuda >::setMemory< char,        int >( char* destination, const char& value, const int size );
template bool tnlArrayOperations< tnlCuda >::setMemory< int,         int >( int* destination, const int& value, const int size );
Loading