Loading netbeans_build.sh +4 −5 Original line number Diff line number Diff line #!/bin/bash module load gcc-5.3.0 cmake-3.4.3 intel_parallel_studio_ex-2016.1 cd Release #make -j 6 tnlSatanExperimentalTest-dbg #make -j 6 tnlSatanMICVectorExperimentalTest-dbg #make -j 6 tnl-image-converter-dbg make -j 6 tnl-heat-equation No newline at end of file cd Debug #make -j 6 tnlMICArrayTest-dbg make -j 6 tnlMICVectorTest-dbg #make -j 6 tnl-heat-equation-dbg No newline at end of file netbeans_run_debug_satanexperimental.sh +6 −7 Original line number Diff line number Diff line #!/bin/bash function heat_eq { ext="" #ext="" #cd Debug/bin #ext="-dbg" ext="-dbg" export LD_LIBRARY_PATH=`pwd`"/../lib":$LD_LIBRARY_PATH Loading Loading @@ -113,9 +113,8 @@ done module load gcc-5.3.0 cmake-3.4.3 intel_parallel_studio_ex-2016.1 cd Release/bin cd Debug/bin export OFFLOAD_REPORT=0 #./tnlSatanExperimentalTest-dbg #./tnlSatanExperimentalTest-dbg #./tnlSatanMICVectorExperimentalTest-dbg heat_eq #./tnlMICArrayTest-dbg ./tnlMICVectorTest-dbg # heat_eq src/TNL/Containers/Algorithms/ArrayOperations.h +88 −17 Original line number Diff line number Diff line Loading @@ -25,24 +25,53 @@ template< typename DestinationDevice, class ArrayOperations{}; template<> class ArrayOperations< Devices::MIC > class ArrayOperations< Devices::Host > { public: template< typename Element, typename Index > static bool allocateMemory( Element*& data, const Index size ); template< typename Element > static bool freeMemory( Element* data ); template< typename Element > static void setMemoryElement( Element* data, const Element& value ); template< typename Element > static Element getMemoryElement( Element* data ); template< typename Element, typename Index > static Element& getArrayElementReference( Element* data, const Index i ); template< typename Element, typename Index > static const Element& getArrayElementReference( const Element* data, const Index i ); template< typename Element, typename Index > static bool setMemory( Element* data, const Element& value, const Index size ); template< typename DestinationElement, typename SourceElement, typename Index > static bool copyMemory( DestinationElement* destination, const SourceElement* source, const Index size ) { std::cout << "Never Will be implemented tnlArrayOperations-copyMemory on MIC" <<std::endl; return false; }; const Index size ); template< typename Element1, typename Element2, typename Index > static bool compareMemory( const Element1* destination, const Element2* source, const Index size ); }; template<> class ArrayOperations< Devices::Host > class ArrayOperations< Devices::Cuda > { public: Loading @@ -58,7 +87,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 Element& getArrayElementReference( Element* data, const Index i ); Loading @@ -66,7 +95,6 @@ class ArrayOperations< Devices::Host > template< typename Element, typename Index > static const Element& getArrayElementReference( const Element* data, const Index i ); template< typename Element, typename Index > static bool setMemory( Element* data, const Element& value, Loading @@ -88,7 +116,48 @@ class ArrayOperations< Devices::Host > }; template<> class ArrayOperations< Devices::Cuda > class ArrayOperations< Devices::Cuda, Devices::Host > { public: template< typename DestinationElement, typename SourceElement, typename Index > static bool copyMemory( DestinationElement* destination, const SourceElement* source, const Index size ); template< typename DestinationElement, typename SourceElement, typename Index > static bool compareMemory( const DestinationElement* destination, const SourceElement* source, const Index size ); }; template<> class ArrayOperations< Devices::Host, Devices::Cuda > { public: template< typename DestinationElement, typename SourceElement, typename Index > static bool copyMemory( DestinationElement* destination, const SourceElement* source, const Index size ); template< typename Element1, typename Element2, typename Index > static bool compareMemory( const Element1* destination, const Element2* source, const Index size ); }; template<> class ArrayOperations< Devices::MIC > { public: Loading Loading @@ -133,7 +202,7 @@ class ArrayOperations< Devices::Cuda > }; template<> class ArrayOperations< Devices::Cuda, Devices::Host > class ArrayOperations< Devices::MIC, Devices::Host > { public: Loading @@ -153,7 +222,7 @@ class ArrayOperations< Devices::Cuda, Devices::Host > }; template<> class ArrayOperations< Devices::Host, Devices::Cuda > class ArrayOperations< Devices::Host, Devices::MIC > { public: Loading @@ -164,17 +233,19 @@ class ArrayOperations< Devices::Host, Devices::Cuda > const SourceElement* source, const Index size ); template< typename Element1, typename Element2, template< typename DestinationElement, typename SourceElement, typename Index > static bool compareMemory( const Element1* destination, const Element2* source, static bool compareMemory( const DestinationElement* destination, const SourceElement* source, const Index size ); }; } // namespace Algorithms } // namespace Containers } // namespace TNL #include <TNL/Containers/Algorithms/ArrayOperationsHost_impl.h> #include <TNL/Containers/Algorithms/ArrayOperationsCuda_impl.h> #include <TNL/Containers/Algorithms/ArrayOperationsMIC_impl.h> No newline at end of file src/TNL/Containers/Algorithms/VectorOperationsMIC_impl.h +34 −34 Original line number Diff line number Diff line Loading @@ -49,7 +49,7 @@ typename Vector::RealType VectorOperations< Devices::MIC >::getVectorMax( const //tady je možnost paralelizace typename Vector :: RealType result; typename Vector ::IndexType size=v.getSize(); Devices::satanHider<const typename Vector :: RealType > vct; Devices::MICHider<const typename Vector :: RealType > vct; vct.pointer=v.getData(); #pragma offload target(mic) in(vct,size) out(result) Loading @@ -70,7 +70,7 @@ typename Vector :: RealType VectorOperations< Devices::MIC > :: getVectorMin( co //tady je možnost paralelizace typename Vector :: RealType result; typename Vector ::IndexType size=v.getSize(); Devices::satanHider<const typename Vector :: RealType > vct; Devices::MICHider<const typename Vector :: RealType > vct; vct.pointer=v.getData(); #pragma offload target(mic) in(vct,size) out(result) Loading @@ -91,7 +91,7 @@ typename Vector :: RealType VectorOperations< Devices::MIC > :: getVectorAbsMax( //tady je možnost paralelizace typename Vector :: RealType result; typename Vector ::IndexType size=v.getSize(); Devices::satanHider<const typename Vector :: RealType > vct; Devices::MICHider<const typename Vector :: RealType > vct; vct.pointer=v.getData(); #pragma offload target(mic) in(vct,size) out(result) Loading @@ -113,7 +113,7 @@ typename Vector :: RealType VectorOperations< Devices::MIC > :: getVectorAbsMin( //tady je možnost paralelizace typename Vector :: RealType result; typename Vector ::IndexType size=v.getSize(); Devices::satanHider<const typename Vector :: RealType > vct; Devices::MICHider<const typename Vector :: RealType > vct; vct.pointer=v.getData(); #pragma offload target(mic) in(vct,size) out(result) Loading @@ -138,7 +138,7 @@ VectorOperations< Devices::MIC >::getVectorL1Norm( const Vector& v ) Real result( 0.0 ); const Index n = v. getSize(); Devices::satanHider<const typename Vector :: RealType > vct; Devices::MICHider<const Real > vct; vct.pointer=v.getData(); #pragma offload target(mic) in(vct,n) inout(result) Loading @@ -159,7 +159,7 @@ VectorOperations< Devices::MIC >::getVectorL2Norm( const Vector& v ) TNL_ASSERT( v. getSize() > 0, ); Real result( 0.0 ); const Index n = v. getSize(); Devices::satanHider<const typename Vector :: RealType > vct; Devices::MICHider<const Real > vct; vct.pointer=v.getData(); #pragma offload target(mic) in(vct,n) inout(result) Loading Loading @@ -191,7 +191,7 @@ VectorOperations< Devices::MIC >:: getVectorLpNorm( const Vector& v, Real result( 0.0 ); const Index n = v. getSize(); Devices::satanHider<const typename Vector :: RealType > vct; Devices::MICHider<const Real > vct; vct.pointer=v.getData(); #pragma offload target(mic) in(vct,n) inout(result) Loading @@ -215,7 +215,7 @@ typename Vector :: RealType VectorOperations< Devices::MIC > :: getVectorSum( co Real result( 0.0 ); const Index n = v. getSize(); Devices::satanHider<const typename Vector :: RealType > vct; Devices::MICHider<const Real > vct; vct.pointer=v.getData(); #pragma offload target(mic) in(vct,n) inout(result) Loading @@ -239,8 +239,8 @@ typename Vector1 :: RealType VectorOperations< Devices::MIC> :: getVectorDiffere Real result( 0.0 ); const Index n = v1. getSize(); Devices::satanHider<const typename Vector1 :: RealType > vct1; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<const Real > vct1; Devices::MICHider<const Real > vct2; vct1.pointer=v1.getData(); vct2.pointer=v2.getData(); Loading @@ -264,8 +264,8 @@ typename Vector1 :: RealType VectorOperations< Devices::MIC > :: getVectorDiffer Real result( 0.0 ); const Index n = v1. getSize(); Devices::satanHider<const typename Vector1 :: RealType > vct1; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<const Real > vct1; Devices::MICHider<const Real > vct2; vct1.pointer=v1.getData(); vct2.pointer=v2.getData(); Loading @@ -289,8 +289,8 @@ typename Vector1 :: RealType VectorOperations< Devices::MIC > :: getVectorDiffer Real result( 0.0 ); const Index n = v1. getSize(); Devices::satanHider<const typename Vector1 :: RealType > vct1; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<const Real > vct1; Devices::MICHider<const Real > vct2; vct1.pointer=v1.getData(); vct2.pointer=v2.getData(); Loading @@ -314,8 +314,8 @@ typename Vector1 :: RealType VectorOperations< Devices::MIC > :: getVectorDiffer Real result( 0.0 ); const Index n = v1. getSize(); Devices::satanHider<const typename Vector1 :: RealType > vct1; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<const Real > vct1; Devices::MICHider<const Real > vct2; vct1.pointer=v1.getData(); vct2.pointer=v2.getData(); Loading @@ -342,8 +342,8 @@ getVectorDifferenceL1Norm( const Vector1& v1, Real result( 0.0 ); const Index n = v1. getSize(); Devices::satanHider<const typename Vector1 :: RealType > vct1; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<const Real> vct1; Devices::MICHider<const Real > vct2; vct1.pointer=v1.getData(); vct2.pointer=v2.getData(); Loading Loading @@ -372,8 +372,8 @@ getVectorDifferenceL2Norm( const Vector1& v1, Real result( 0.0 ); const Index n = v1. getSize(); Devices::satanHider<const typename Vector1 :: RealType > vct1; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<const Real > vct1; Devices::MICHider<const Real > vct2; vct1.pointer=v1.getData(); vct2.pointer=v2.getData(); Loading Loading @@ -415,8 +415,8 @@ getVectorDifferenceLpNorm( const Vector1& v1, Real result( 0.0 ); const Index n = v1. getSize(); Devices::satanHider<const typename Vector1 :: RealType > vct1; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<const Real > vct1; Devices::MICHider<const Real > vct2; vct1.pointer=v1.getData(); vct2.pointer=v2.getData(); Loading @@ -443,8 +443,8 @@ typename Vector1::RealType VectorOperations< Devices::MIC > :: getVectorDifferen Real result( 0.0 ); const Index n = v1. getSize(); Devices::satanHider<const typename Vector1 :: RealType > vct1; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<const Real > vct1; Devices::MICHider<const Real > vct2; vct1.pointer=v1.getData(); vct2.pointer=v2.getData(); Loading @@ -467,7 +467,7 @@ void VectorOperations< Devices::MIC > :: vectorScalarMultiplication( Vector& v, TNL_ASSERT( v. getSize() > 0, ); const Index n = v. getSize(); Devices::satanHider<typename Vector :: RealType > vct; Devices::MICHider<Real > vct; vct.pointer=v.getData(); Real a=alpha; Loading @@ -491,8 +491,8 @@ typename Vector1 :: RealType VectorOperations< Devices::MIC > :: getScalarProduc Real result( 0.0 ); const Index n = v1. getSize(); Devices::satanHider<const typename Vector1 :: RealType > vct1; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<const Real > vct1; Devices::MICHider<const Real > vct2; vct1.pointer=v1.getData(); vct2.pointer=v2.getData(); Loading Loading @@ -536,8 +536,8 @@ void VectorOperations< Devices::MIC > :: addVector( Vector1& y, TNL_ASSERT( x. getSize() == y. getSize(), ); const Index n = y. getSize(); Devices::satanHider<typename Vector1 :: RealType > vct; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<Real> vct; Devices::MICHider<const Real> vct2; vct.pointer=y.getData(); vct2.pointer=x.getData(); Real a=alpha; Loading Loading @@ -570,9 +570,9 @@ addVectors( Vector1& v, TNL_ASSERT( v.getSize() == v2.getSize(), ); const Index n = v. getSize(); Devices::satanHider<typename Vector1 :: RealType > vct; Devices::satanHider<const typename Vector1 :: RealType > vct1; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<Real> vct; Devices::MICHider<const Real> vct1; Devices::MICHider<const Real> vct2; vct.pointer=v.getData(); vct1.pointer=v1.getData(); vct2.pointer=v2.getData(); Loading Loading @@ -603,7 +603,7 @@ void VectorOperations< Devices::MIC >::computePrefixSum( Vector& v, TNL_ASSERT( v.getSize() > begin, ); TNL_ASSERT( end > begin, ); Devices::satanHider<typename Vector :: RealType > vct; Devices::MICHider<typename Vector :: RealType> vct; vct.pointer=v.getData(); #pragma offload target(mic) in(vct,begin,end) { Loading @@ -627,7 +627,7 @@ void VectorOperations< Devices::MIC >::computeExclusivePrefixSum( Vector& v, TNL_ASSERT( begin >= 0, ); TNL_ASSERT( end > begin, ); Devices::satanHider<typename Vector :: RealType > vct; Devices::MICHider<Real> vct; vct.pointer=v.getData(); #pragma offload target(mic) in(vct,begin,end) Loading src/TNL/Containers/Array.h +0 −5 Original line number Diff line number Diff line Loading @@ -183,10 +183,5 @@ std::ostream& operator << ( std::ostream& str, const Array< Element, Device, Ind } // namespace TNL #include <TNL/Containers/Array_impl.h> #include <TNL/Containers/ArrayMIC_impl.h> #ifdef HAVE_MIC //MIC specializaton of Araray #include <TNL/Containers/ArrayMIC_impl.h> #endif Loading
netbeans_build.sh +4 −5 Original line number Diff line number Diff line #!/bin/bash module load gcc-5.3.0 cmake-3.4.3 intel_parallel_studio_ex-2016.1 cd Release #make -j 6 tnlSatanExperimentalTest-dbg #make -j 6 tnlSatanMICVectorExperimentalTest-dbg #make -j 6 tnl-image-converter-dbg make -j 6 tnl-heat-equation No newline at end of file cd Debug #make -j 6 tnlMICArrayTest-dbg make -j 6 tnlMICVectorTest-dbg #make -j 6 tnl-heat-equation-dbg No newline at end of file
netbeans_run_debug_satanexperimental.sh +6 −7 Original line number Diff line number Diff line #!/bin/bash function heat_eq { ext="" #ext="" #cd Debug/bin #ext="-dbg" ext="-dbg" export LD_LIBRARY_PATH=`pwd`"/../lib":$LD_LIBRARY_PATH Loading Loading @@ -113,9 +113,8 @@ done module load gcc-5.3.0 cmake-3.4.3 intel_parallel_studio_ex-2016.1 cd Release/bin cd Debug/bin export OFFLOAD_REPORT=0 #./tnlSatanExperimentalTest-dbg #./tnlSatanExperimentalTest-dbg #./tnlSatanMICVectorExperimentalTest-dbg heat_eq #./tnlMICArrayTest-dbg ./tnlMICVectorTest-dbg # heat_eq
src/TNL/Containers/Algorithms/ArrayOperations.h +88 −17 Original line number Diff line number Diff line Loading @@ -25,24 +25,53 @@ template< typename DestinationDevice, class ArrayOperations{}; template<> class ArrayOperations< Devices::MIC > class ArrayOperations< Devices::Host > { public: template< typename Element, typename Index > static bool allocateMemory( Element*& data, const Index size ); template< typename Element > static bool freeMemory( Element* data ); template< typename Element > static void setMemoryElement( Element* data, const Element& value ); template< typename Element > static Element getMemoryElement( Element* data ); template< typename Element, typename Index > static Element& getArrayElementReference( Element* data, const Index i ); template< typename Element, typename Index > static const Element& getArrayElementReference( const Element* data, const Index i ); template< typename Element, typename Index > static bool setMemory( Element* data, const Element& value, const Index size ); template< typename DestinationElement, typename SourceElement, typename Index > static bool copyMemory( DestinationElement* destination, const SourceElement* source, const Index size ) { std::cout << "Never Will be implemented tnlArrayOperations-copyMemory on MIC" <<std::endl; return false; }; const Index size ); template< typename Element1, typename Element2, typename Index > static bool compareMemory( const Element1* destination, const Element2* source, const Index size ); }; template<> class ArrayOperations< Devices::Host > class ArrayOperations< Devices::Cuda > { public: Loading @@ -58,7 +87,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 Element& getArrayElementReference( Element* data, const Index i ); Loading @@ -66,7 +95,6 @@ class ArrayOperations< Devices::Host > template< typename Element, typename Index > static const Element& getArrayElementReference( const Element* data, const Index i ); template< typename Element, typename Index > static bool setMemory( Element* data, const Element& value, Loading @@ -88,7 +116,48 @@ class ArrayOperations< Devices::Host > }; template<> class ArrayOperations< Devices::Cuda > class ArrayOperations< Devices::Cuda, Devices::Host > { public: template< typename DestinationElement, typename SourceElement, typename Index > static bool copyMemory( DestinationElement* destination, const SourceElement* source, const Index size ); template< typename DestinationElement, typename SourceElement, typename Index > static bool compareMemory( const DestinationElement* destination, const SourceElement* source, const Index size ); }; template<> class ArrayOperations< Devices::Host, Devices::Cuda > { public: template< typename DestinationElement, typename SourceElement, typename Index > static bool copyMemory( DestinationElement* destination, const SourceElement* source, const Index size ); template< typename Element1, typename Element2, typename Index > static bool compareMemory( const Element1* destination, const Element2* source, const Index size ); }; template<> class ArrayOperations< Devices::MIC > { public: Loading Loading @@ -133,7 +202,7 @@ class ArrayOperations< Devices::Cuda > }; template<> class ArrayOperations< Devices::Cuda, Devices::Host > class ArrayOperations< Devices::MIC, Devices::Host > { public: Loading @@ -153,7 +222,7 @@ class ArrayOperations< Devices::Cuda, Devices::Host > }; template<> class ArrayOperations< Devices::Host, Devices::Cuda > class ArrayOperations< Devices::Host, Devices::MIC > { public: Loading @@ -164,17 +233,19 @@ class ArrayOperations< Devices::Host, Devices::Cuda > const SourceElement* source, const Index size ); template< typename Element1, typename Element2, template< typename DestinationElement, typename SourceElement, typename Index > static bool compareMemory( const Element1* destination, const Element2* source, static bool compareMemory( const DestinationElement* destination, const SourceElement* source, const Index size ); }; } // namespace Algorithms } // namespace Containers } // namespace TNL #include <TNL/Containers/Algorithms/ArrayOperationsHost_impl.h> #include <TNL/Containers/Algorithms/ArrayOperationsCuda_impl.h> #include <TNL/Containers/Algorithms/ArrayOperationsMIC_impl.h> No newline at end of file
src/TNL/Containers/Algorithms/VectorOperationsMIC_impl.h +34 −34 Original line number Diff line number Diff line Loading @@ -49,7 +49,7 @@ typename Vector::RealType VectorOperations< Devices::MIC >::getVectorMax( const //tady je možnost paralelizace typename Vector :: RealType result; typename Vector ::IndexType size=v.getSize(); Devices::satanHider<const typename Vector :: RealType > vct; Devices::MICHider<const typename Vector :: RealType > vct; vct.pointer=v.getData(); #pragma offload target(mic) in(vct,size) out(result) Loading @@ -70,7 +70,7 @@ typename Vector :: RealType VectorOperations< Devices::MIC > :: getVectorMin( co //tady je možnost paralelizace typename Vector :: RealType result; typename Vector ::IndexType size=v.getSize(); Devices::satanHider<const typename Vector :: RealType > vct; Devices::MICHider<const typename Vector :: RealType > vct; vct.pointer=v.getData(); #pragma offload target(mic) in(vct,size) out(result) Loading @@ -91,7 +91,7 @@ typename Vector :: RealType VectorOperations< Devices::MIC > :: getVectorAbsMax( //tady je možnost paralelizace typename Vector :: RealType result; typename Vector ::IndexType size=v.getSize(); Devices::satanHider<const typename Vector :: RealType > vct; Devices::MICHider<const typename Vector :: RealType > vct; vct.pointer=v.getData(); #pragma offload target(mic) in(vct,size) out(result) Loading @@ -113,7 +113,7 @@ typename Vector :: RealType VectorOperations< Devices::MIC > :: getVectorAbsMin( //tady je možnost paralelizace typename Vector :: RealType result; typename Vector ::IndexType size=v.getSize(); Devices::satanHider<const typename Vector :: RealType > vct; Devices::MICHider<const typename Vector :: RealType > vct; vct.pointer=v.getData(); #pragma offload target(mic) in(vct,size) out(result) Loading @@ -138,7 +138,7 @@ VectorOperations< Devices::MIC >::getVectorL1Norm( const Vector& v ) Real result( 0.0 ); const Index n = v. getSize(); Devices::satanHider<const typename Vector :: RealType > vct; Devices::MICHider<const Real > vct; vct.pointer=v.getData(); #pragma offload target(mic) in(vct,n) inout(result) Loading @@ -159,7 +159,7 @@ VectorOperations< Devices::MIC >::getVectorL2Norm( const Vector& v ) TNL_ASSERT( v. getSize() > 0, ); Real result( 0.0 ); const Index n = v. getSize(); Devices::satanHider<const typename Vector :: RealType > vct; Devices::MICHider<const Real > vct; vct.pointer=v.getData(); #pragma offload target(mic) in(vct,n) inout(result) Loading Loading @@ -191,7 +191,7 @@ VectorOperations< Devices::MIC >:: getVectorLpNorm( const Vector& v, Real result( 0.0 ); const Index n = v. getSize(); Devices::satanHider<const typename Vector :: RealType > vct; Devices::MICHider<const Real > vct; vct.pointer=v.getData(); #pragma offload target(mic) in(vct,n) inout(result) Loading @@ -215,7 +215,7 @@ typename Vector :: RealType VectorOperations< Devices::MIC > :: getVectorSum( co Real result( 0.0 ); const Index n = v. getSize(); Devices::satanHider<const typename Vector :: RealType > vct; Devices::MICHider<const Real > vct; vct.pointer=v.getData(); #pragma offload target(mic) in(vct,n) inout(result) Loading @@ -239,8 +239,8 @@ typename Vector1 :: RealType VectorOperations< Devices::MIC> :: getVectorDiffere Real result( 0.0 ); const Index n = v1. getSize(); Devices::satanHider<const typename Vector1 :: RealType > vct1; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<const Real > vct1; Devices::MICHider<const Real > vct2; vct1.pointer=v1.getData(); vct2.pointer=v2.getData(); Loading @@ -264,8 +264,8 @@ typename Vector1 :: RealType VectorOperations< Devices::MIC > :: getVectorDiffer Real result( 0.0 ); const Index n = v1. getSize(); Devices::satanHider<const typename Vector1 :: RealType > vct1; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<const Real > vct1; Devices::MICHider<const Real > vct2; vct1.pointer=v1.getData(); vct2.pointer=v2.getData(); Loading @@ -289,8 +289,8 @@ typename Vector1 :: RealType VectorOperations< Devices::MIC > :: getVectorDiffer Real result( 0.0 ); const Index n = v1. getSize(); Devices::satanHider<const typename Vector1 :: RealType > vct1; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<const Real > vct1; Devices::MICHider<const Real > vct2; vct1.pointer=v1.getData(); vct2.pointer=v2.getData(); Loading @@ -314,8 +314,8 @@ typename Vector1 :: RealType VectorOperations< Devices::MIC > :: getVectorDiffer Real result( 0.0 ); const Index n = v1. getSize(); Devices::satanHider<const typename Vector1 :: RealType > vct1; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<const Real > vct1; Devices::MICHider<const Real > vct2; vct1.pointer=v1.getData(); vct2.pointer=v2.getData(); Loading @@ -342,8 +342,8 @@ getVectorDifferenceL1Norm( const Vector1& v1, Real result( 0.0 ); const Index n = v1. getSize(); Devices::satanHider<const typename Vector1 :: RealType > vct1; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<const Real> vct1; Devices::MICHider<const Real > vct2; vct1.pointer=v1.getData(); vct2.pointer=v2.getData(); Loading Loading @@ -372,8 +372,8 @@ getVectorDifferenceL2Norm( const Vector1& v1, Real result( 0.0 ); const Index n = v1. getSize(); Devices::satanHider<const typename Vector1 :: RealType > vct1; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<const Real > vct1; Devices::MICHider<const Real > vct2; vct1.pointer=v1.getData(); vct2.pointer=v2.getData(); Loading Loading @@ -415,8 +415,8 @@ getVectorDifferenceLpNorm( const Vector1& v1, Real result( 0.0 ); const Index n = v1. getSize(); Devices::satanHider<const typename Vector1 :: RealType > vct1; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<const Real > vct1; Devices::MICHider<const Real > vct2; vct1.pointer=v1.getData(); vct2.pointer=v2.getData(); Loading @@ -443,8 +443,8 @@ typename Vector1::RealType VectorOperations< Devices::MIC > :: getVectorDifferen Real result( 0.0 ); const Index n = v1. getSize(); Devices::satanHider<const typename Vector1 :: RealType > vct1; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<const Real > vct1; Devices::MICHider<const Real > vct2; vct1.pointer=v1.getData(); vct2.pointer=v2.getData(); Loading @@ -467,7 +467,7 @@ void VectorOperations< Devices::MIC > :: vectorScalarMultiplication( Vector& v, TNL_ASSERT( v. getSize() > 0, ); const Index n = v. getSize(); Devices::satanHider<typename Vector :: RealType > vct; Devices::MICHider<Real > vct; vct.pointer=v.getData(); Real a=alpha; Loading @@ -491,8 +491,8 @@ typename Vector1 :: RealType VectorOperations< Devices::MIC > :: getScalarProduc Real result( 0.0 ); const Index n = v1. getSize(); Devices::satanHider<const typename Vector1 :: RealType > vct1; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<const Real > vct1; Devices::MICHider<const Real > vct2; vct1.pointer=v1.getData(); vct2.pointer=v2.getData(); Loading Loading @@ -536,8 +536,8 @@ void VectorOperations< Devices::MIC > :: addVector( Vector1& y, TNL_ASSERT( x. getSize() == y. getSize(), ); const Index n = y. getSize(); Devices::satanHider<typename Vector1 :: RealType > vct; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<Real> vct; Devices::MICHider<const Real> vct2; vct.pointer=y.getData(); vct2.pointer=x.getData(); Real a=alpha; Loading Loading @@ -570,9 +570,9 @@ addVectors( Vector1& v, TNL_ASSERT( v.getSize() == v2.getSize(), ); const Index n = v. getSize(); Devices::satanHider<typename Vector1 :: RealType > vct; Devices::satanHider<const typename Vector1 :: RealType > vct1; Devices::satanHider<const typename Vector1 :: RealType > vct2; Devices::MICHider<Real> vct; Devices::MICHider<const Real> vct1; Devices::MICHider<const Real> vct2; vct.pointer=v.getData(); vct1.pointer=v1.getData(); vct2.pointer=v2.getData(); Loading Loading @@ -603,7 +603,7 @@ void VectorOperations< Devices::MIC >::computePrefixSum( Vector& v, TNL_ASSERT( v.getSize() > begin, ); TNL_ASSERT( end > begin, ); Devices::satanHider<typename Vector :: RealType > vct; Devices::MICHider<typename Vector :: RealType> vct; vct.pointer=v.getData(); #pragma offload target(mic) in(vct,begin,end) { Loading @@ -627,7 +627,7 @@ void VectorOperations< Devices::MIC >::computeExclusivePrefixSum( Vector& v, TNL_ASSERT( begin >= 0, ); TNL_ASSERT( end > begin, ); Devices::satanHider<typename Vector :: RealType > vct; Devices::MICHider<Real> vct; vct.pointer=v.getData(); #pragma offload target(mic) in(vct,begin,end) Loading
src/TNL/Containers/Array.h +0 −5 Original line number Diff line number Diff line Loading @@ -183,10 +183,5 @@ std::ostream& operator << ( std::ostream& str, const Array< Element, Device, Ind } // namespace TNL #include <TNL/Containers/Array_impl.h> #include <TNL/Containers/ArrayMIC_impl.h> #ifdef HAVE_MIC //MIC specializaton of Araray #include <TNL/Containers/ArrayMIC_impl.h> #endif