Commit 3a17dca3 authored by Jakub Klinkovský's avatar Jakub Klinkovský
Browse files

Removed __cuda_callable__ from ArrayOperations::setMemoryElement and getMemoryElement

Also added missing 'const' to the getMemoryElement method for host.
parent 8144afcf
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ class ArrayOperations< Devices::Host >
                                    const Element& value );

      template< typename Element >
      static Element getMemoryElement( Element* data );
      static Element getMemoryElement( const Element* data );

      template< typename Element, typename Index >
      static bool setMemory( Element* data,
@@ -86,12 +86,10 @@ class ArrayOperations< Devices::Cuda >
      static void freeMemory( Element* data );

      template< typename Element >
      __cuda_callable__
      static void setMemoryElement( Element* data,
                                    const Element& value );

      template< typename Element >
      __cuda_callable__
      static Element getMemoryElement( const Element* data );

      template< typename Element, typename Index >
+2 −10
Original line number Diff line number Diff line
@@ -60,32 +60,24 @@ freeMemory( Element* data )
}

template< typename Element >
__cuda_callable__ void
void
ArrayOperations< Devices::Cuda >::
setMemoryElement( Element* data,
                  const Element& value )
{
   TNL_ASSERT_TRUE( data, "Attempted to set data through a nullptr." );
#ifdef __CUDAARCH__
   *data = value;
#else   
   ArrayOperations< Devices::Cuda >::setMemory( data, value, 1 );
#endif   
}

template< typename Element >
__cuda_callable__ Element
Element
ArrayOperations< Devices::Cuda >::
getMemoryElement( const Element* data )
{
   TNL_ASSERT_TRUE( data, "Attempted to get data through a nullptr." );
#ifdef __CUDAARCH__
   return *data;
#else   
   Element result;
   ArrayOperations< Devices::Host, Devices::Cuda >::copyMemory< Element, Element, int >( &result, data, 1 );
   return result;
#endif   
}


+3 −3
Original line number Diff line number Diff line
@@ -51,15 +51,15 @@ setMemoryElement( Element* data,
                  const Element& value )
{
   *data = value;
};
}

template< typename Element >
Element
ArrayOperations< Devices::Host >::
getMemoryElement( Element* data )
getMemoryElement( const Element* data )
{
   return *data;
};
}

template< typename Element, typename Index >
bool