Commit 5dce2ff7 authored by Jakub Klinkovský's avatar Jakub Klinkovský
Browse files

Added NotImplementedError exception

parent 22ccb366
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -19,6 +19,11 @@ struct MPITypeResolver
{
   static inline MPI_Datatype getType()
   {
      static_assert( sizeof(Type) == sizeof(char) ||
                     sizeof(Type) == sizeof(int) ||
                     sizeof(Type) == sizeof(short int) ||
                     sizeof(Type) == sizeof(long int),
                     "Fatal Error - Unknown MPI Type");
      switch( sizeof( Type ) )
      {
         case sizeof( char ):
@@ -30,7 +35,6 @@ struct MPITypeResolver
         case sizeof( long int ):
            return MPI_LONG;
      }
      TNL_ASSERT_TRUE(false, "Fatal Error - Unknown MPI Type");
   };
};

+4 −5
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
#include <TNL/Containers/Algorithms/ArrayOperations.h>
#include <TNL/Containers/Algorithms/Reduction.h>
#include <TNL/Containers/Algorithms/ReductionOperations.h>
#include <TNL/Exceptions/NotImplementedError.h>

namespace TNL {
namespace Containers {
@@ -146,7 +147,7 @@ ArrayOperations< Devices::MIC >::
copySTLList( DestinationElement* destination,
                  const std::list< SourceElement >& source )
{
   TNL_ASSERT( false, std::cerr << "TODO" );
   throw Exceptions::NotImplementedError();
}

template< typename Element1,
@@ -212,8 +213,7 @@ containsValue( const Element* data,
   TNL_ASSERT_TRUE( data, "Attempted to check data through a nullptr." );
   TNL_ASSERT_GE( size, 0, "" );
#ifdef HAVE_MIC
   TNL_ASSERT( false, );
   return false;
   throw Exceptions::NotImplementedError();
#else
   throw Exceptions::MICSupportMissing();
#endif
@@ -230,8 +230,7 @@ containsOnlyValue( const Element* data,
   TNL_ASSERT_TRUE( data, "Attempted to check data through a nullptr." );
   TNL_ASSERT_GE( size, 0, "" );
#ifdef HAVE_MIC
   TNL_ASSERT( false, );
   return false;
   throw Exceptions::NotImplementedError();
#else
   throw Exceptions::MICSupportMissing();
#endif
+2 −2
Original line number Diff line number Diff line
@@ -302,9 +302,9 @@ CudaMultireductionKernelLauncher( Operation& operation,
         <<< gridSize, blockSize, shmem >>>( operation, n, size, input1, ldInput1, input2, output);
         break;
      case   1:
         TNL_ASSERT( false, std::cerr << "blockSize should not be 1." << std::endl );
         throw std::logic_error( "blockSize should not be 1." );
      default:
         TNL_ASSERT( false, std::cerr << "Block size is " << blockSize.x << " which is none of 1, 2, 4, 8, 16, 32, 64, 128, 256 or 512." << std::endl );
         throw std::logic_error( "Block size is " + std::to_string(blockSize.x) + " which is none of 1, 2, 4, 8, 16, 32, 64, 128, 256 or 512." );
   }
   TNL_CHECK_CUDA_DEVICE;

+67 −67
Original line number Diff line number Diff line
@@ -331,9 +331,9 @@ struct CudaReductionKernelLauncher
               <<< gridSize, blockSize, shmem >>>( zero, dataFetcher, reduction, volatileReduction, size, output);
               break;
            case   1:
              TNL_ASSERT( false, std::cerr << "blockSize should not be 1." << std::endl );
               throw std::logic_error( "blockSize should not be 1." );
            default:
              TNL_ASSERT( false, std::cerr << "Block size is " << blockSize. x << " which is none of 1, 2, 4, 8, 16, 32, 64, 128, 256 or 512." );
               throw std::logic_error( "Block size is " + std::to_string(blockSize.x) + " which is none of 1, 2, 4, 8, 16, 32, 64, 128, 256 or 512." );
         }
         TNL_CHECK_CUDA_DEVICE;

+2 −4
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@

#include <TNL/Assert.h>
#include <TNL/Exceptions/CudaSupportMissing.h>
#include <TNL/Exceptions/NotImplementedError.h>
#include <TNL/Containers/Algorithms/ReductionOperations.h>
#include <TNL/Containers/Algorithms/ArrayOperations.h>
#include <TNL/Containers/Algorithms/CudaMultireductionKernel.h>
@@ -318,10 +319,7 @@ reduce( Operation& operation,
        const typename Operation::DataType2* input2,
        typename Operation::ResultType* result )
{
   TNL_ASSERT( n > 0, );
   TNL_ASSERT( size <= ldInput1, );

   throw std::runtime_error("Not Implemented yet Multireduction< Devices::MIC >::reduce");
   throw Exceptions::NotImplementedError("Multireduction is not implemented for MIC.");
}

} // namespace Algorithms
Loading