[PATCH 1/2] Misc. typos
From 68d431b4c14ad60a778ee93c1f59ecc4b931950e Mon Sep 17 00:00:00 2001 Found via `codespell -q 3 -I ../eigen-word-whitelist.txt` where the whitelists consists of: ``` als ans cas dum lastr lowd nd overfl pres preverse substraction te uint whch ``` --- CMakeLists.txt | 26 +++++++++---------- Eigen/src/Core/GenericPacketMath.h | 2 +- Eigen/src/SparseLU/SparseLU.h | 2 +- bench/bench_norm.cpp | 2 +- doc/HiPerformance.dox | 2 +- doc/QuickStartGuide.dox | 2 +- .../Eigen/CXX11/src/Tensor/TensorChipping.h | 6 ++--- .../Eigen/CXX11/src/Tensor/TensorDeviceGpu.h | 2 +- .../src/Tensor/TensorForwardDeclarations.h | 4 +-- .../src/Tensor/TensorGpuHipCudaDefines.h | 2 +- .../Eigen/CXX11/src/Tensor/TensorReduction.h | 2 +- .../CXX11/src/Tensor/TensorReductionGpu.h | 2 +- .../test/cxx11_tensor_concatenation.cpp | 2 +- unsupported/test/cxx11_tensor_executor.cpp | 2 +- 14 files changed, 29 insertions(+), 29 deletions(-)
This commit is contained in:
		
							parent
							
								
									77b447c24e
								
							
						
					
					
						commit
						f67b19a884
					
				| @ -159,7 +159,7 @@ if(NOT MSVC) | ||||
|   ei_add_cxx_compiler_flag("-Wall") | ||||
|   ei_add_cxx_compiler_flag("-Wextra") | ||||
|   #ei_add_cxx_compiler_flag("-Weverything")              # clang | ||||
|    | ||||
| 
 | ||||
|   ei_add_cxx_compiler_flag("-Wundef") | ||||
|   ei_add_cxx_compiler_flag("-Wcast-align") | ||||
|   ei_add_cxx_compiler_flag("-Wchar-subscripts") | ||||
| @ -174,25 +174,25 @@ if(NOT MSVC) | ||||
|   ei_add_cxx_compiler_flag("-Wc++11-extensions") | ||||
|   ei_add_cxx_compiler_flag("-Wdouble-promotion") | ||||
| #  ei_add_cxx_compiler_flag("-Wconversion") | ||||
|    | ||||
| 
 | ||||
|   ei_add_cxx_compiler_flag("-Wshadow") | ||||
|    | ||||
| 
 | ||||
|   ei_add_cxx_compiler_flag("-Wno-psabi") | ||||
|   ei_add_cxx_compiler_flag("-Wno-variadic-macros") | ||||
|   ei_add_cxx_compiler_flag("-Wno-long-long") | ||||
|    | ||||
| 
 | ||||
|   ei_add_cxx_compiler_flag("-fno-check-new") | ||||
|   ei_add_cxx_compiler_flag("-fno-common") | ||||
|   ei_add_cxx_compiler_flag("-fstrict-aliasing") | ||||
|   ei_add_cxx_compiler_flag("-wd981")                    # disable ICC's "operands are evaluated in unspecified order" remark | ||||
|   ei_add_cxx_compiler_flag("-wd2304")                   # disable ICC's "warning #2304: non-explicit constructor with single argument may cause implicit type conversion" produced by -Wnon-virtual-dtor | ||||
|    | ||||
|    | ||||
| 
 | ||||
| 
 | ||||
|   # The -ansi flag must be added last, otherwise it is also used as a linker flag by check_cxx_compiler_flag making it fails | ||||
|   # Moreover we should not set both -strict-ansi and -ansi | ||||
|   check_cxx_compiler_flag("-strict-ansi" COMPILER_SUPPORT_STRICTANSI) | ||||
|   ei_add_cxx_compiler_flag("-Qunused-arguments")        # disable clang warning: argument unused during compilation: '-ansi' | ||||
|    | ||||
| 
 | ||||
|   if(COMPILER_SUPPORT_STRICTANSI) | ||||
|     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -strict-ansi") | ||||
|   else() | ||||
| @ -203,7 +203,7 @@ if(NOT MSVC) | ||||
|     ei_add_cxx_compiler_flag("-pie") | ||||
|     ei_add_cxx_compiler_flag("-fPIE") | ||||
|   endif() | ||||
|    | ||||
| 
 | ||||
|   set(CMAKE_REQUIRED_FLAGS "") | ||||
| 
 | ||||
|   option(EIGEN_TEST_SSE2 "Enable/Disable SSE2 in tests/examples" OFF) | ||||
| @ -327,7 +327,7 @@ else(NOT MSVC) | ||||
|   #         because we are oftentimes returning objects that have a destructor or may | ||||
|   #         throw exceptions - in particular in the unit tests we are throwing extra many | ||||
|   #         exceptions to cover indexing errors. | ||||
|   # C4505 - unreferenced local function has been removed (impossible to deactive selectively) | ||||
|   # C4505 - unreferenced local function has been removed (impossible to deactivate selectively) | ||||
|   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /wd4127 /wd4505 /wd4714") | ||||
| 
 | ||||
|   # replace all /Wx by /W4 | ||||
| @ -596,11 +596,11 @@ if (NOT CMAKE_VERSION VERSION_LESS 3.0) | ||||
| 
 | ||||
| else (NOT CMAKE_VERSION VERSION_LESS 3.0) | ||||
|   # Fallback to legacy Eigen3Config.cmake without the imported target | ||||
|    | ||||
| 
 | ||||
|   # If CMakePackageConfigHelpers module is available (CMake >= 2.8.8) | ||||
|   # create a relocatable Config file, otherwise leave the hardcoded paths        | ||||
|   # create a relocatable Config file, otherwise leave the hardcoded paths | ||||
|   include(CMakePackageConfigHelpers OPTIONAL RESULT_VARIABLE CPCH_PATH) | ||||
|    | ||||
| 
 | ||||
|   if(CPCH_PATH) | ||||
|     configure_package_config_file ( | ||||
|       ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Eigen3ConfigLegacy.cmake.in | ||||
| @ -609,7 +609,7 @@ else (NOT CMAKE_VERSION VERSION_LESS 3.0) | ||||
|       INSTALL_DESTINATION ${CMAKEPACKAGE_INSTALL_DIR} | ||||
|       NO_CHECK_REQUIRED_COMPONENTS_MACRO # Eigen does not provide components | ||||
|     ) | ||||
|   else()  | ||||
|   else() | ||||
|     # The PACKAGE_* variables are defined by the configure_package_config_file | ||||
|     # but without it we define them manually to the hardcoded paths | ||||
|     set(PACKAGE_INIT "") | ||||
|  | ||||
| @ -450,7 +450,7 @@ Packet pceil(const Packet& a) { using numext::ceil; return ceil(a); } | ||||
| * The following functions might not have to be overwritten for vectorized types | ||||
| ***************************************************************************/ | ||||
| 
 | ||||
| /** \internal copy a packet with constant coeficient \a a (e.g., [a,a,a,a]) to \a *to. \a to must be 16 bytes aligned */ | ||||
| /** \internal copy a packet with constant coefficient \a a (e.g., [a,a,a,a]) to \a *to. \a to must be 16 bytes aligned */ | ||||
| // NOTE: this function must really be templated on the packet type (think about different packet types for the same scalar type)
 | ||||
| template<typename Packet> | ||||
| inline void pstore1(typename unpacket_traits<Packet>::type* to, const typename unpacket_traits<Packet>::type& a) | ||||
|  | ||||
| @ -104,7 +104,7 @@ class PlainObjectBase : public internal::dense_xpr_base<Derived>::type | ||||
| 
 | ||||
|     typedef typename internal::traits<Derived>::StorageKind StorageKind; | ||||
|     typedef typename internal::traits<Derived>::Scalar Scalar; | ||||
|      | ||||
| 
 | ||||
|     typedef typename internal::packet_traits<Scalar>::type PacketScalar; | ||||
|     typedef typename NumTraits<Scalar>::Real RealScalar; | ||||
|     typedef Derived DenseType; | ||||
| @ -358,7 +358,7 @@ class PlainObjectBase : public internal::dense_xpr_base<Derived>::type | ||||
|       * remain row-vectors and vectors remain vectors. | ||||
|       */ | ||||
|     template<typename OtherDerived> | ||||
|     EIGEN_DEVICE_FUNC  | ||||
|     EIGEN_DEVICE_FUNC | ||||
|     EIGEN_STRONG_INLINE void resizeLike(const EigenBase<OtherDerived>& _other) | ||||
|     { | ||||
|       const OtherDerived& other = _other.derived(); | ||||
| @ -383,7 +383,7 @@ class PlainObjectBase : public internal::dense_xpr_base<Derived>::type | ||||
|       * of rows and/or of columns, you can use conservativeResize(NoChange_t, Index) or | ||||
|       * conservativeResize(Index, NoChange_t). | ||||
|       * | ||||
|       * Matrices are resized relative to the top-left element. In case values need to be  | ||||
|       * Matrices are resized relative to the top-left element. In case values need to be | ||||
|       * appended to the matrix they will be uninitialized. | ||||
|       */ | ||||
|     EIGEN_DEVICE_FUNC | ||||
| @ -440,7 +440,7 @@ class PlainObjectBase : public internal::dense_xpr_base<Derived>::type | ||||
|       * of rows and/or of columns, you can use conservativeResize(NoChange_t, Index) or | ||||
|       * conservativeResize(Index, NoChange_t). | ||||
|       * | ||||
|       * Matrices are resized relative to the top-left element. In case values need to be  | ||||
|       * Matrices are resized relative to the top-left element. In case values need to be | ||||
|       * appended to the matrix they will copied from \c other. | ||||
|       */ | ||||
|     template<typename OtherDerived> | ||||
| @ -564,7 +564,7 @@ class PlainObjectBase : public internal::dense_xpr_base<Derived>::type | ||||
|       * \copydetails DenseBase::operator=(const EigenBase<OtherDerived> &other) | ||||
|       */ | ||||
|     template<typename OtherDerived> | ||||
|     EIGEN_DEVICE_FUNC  | ||||
|     EIGEN_DEVICE_FUNC | ||||
|     EIGEN_STRONG_INLINE Derived& operator=(const EigenBase<OtherDerived> &other) | ||||
|     { | ||||
|       _resize_to_match(other); | ||||
| @ -678,7 +678,7 @@ class PlainObjectBase : public internal::dense_xpr_base<Derived>::type | ||||
|       * remain row-vectors and vectors remain vectors. | ||||
|       */ | ||||
|     template<typename OtherDerived> | ||||
|     EIGEN_DEVICE_FUNC  | ||||
|     EIGEN_DEVICE_FUNC | ||||
|     EIGEN_STRONG_INLINE void _resize_to_match(const EigenBase<OtherDerived>& other) | ||||
|     { | ||||
|       #ifdef EIGEN_NO_AUTOMATIC_RESIZING | ||||
| @ -705,10 +705,10 @@ class PlainObjectBase : public internal::dense_xpr_base<Derived>::type | ||||
|       * | ||||
|       * \internal | ||||
|       */ | ||||
|     // aliasing is dealt once in internall::call_assignment
 | ||||
|     // aliasing is dealt once in internal::call_assignment
 | ||||
|     // so at this stage we have to assume aliasing... and resising has to be done later.
 | ||||
|     template<typename OtherDerived> | ||||
|     EIGEN_DEVICE_FUNC  | ||||
|     EIGEN_DEVICE_FUNC | ||||
|     EIGEN_STRONG_INLINE Derived& _set(const DenseBase<OtherDerived>& other) | ||||
|     { | ||||
|       internal::call_assignment(this->derived(), other.derived()); | ||||
| @ -721,7 +721,7 @@ class PlainObjectBase : public internal::dense_xpr_base<Derived>::type | ||||
|       * \sa operator=(const MatrixBase<OtherDerived>&), _set() | ||||
|       */ | ||||
|     template<typename OtherDerived> | ||||
|     EIGEN_DEVICE_FUNC  | ||||
|     EIGEN_DEVICE_FUNC | ||||
|     EIGEN_STRONG_INLINE Derived& _set_noalias(const DenseBase<OtherDerived>& other) | ||||
|     { | ||||
|       // I don't think we need this resize call since the lazyAssign will anyways resize
 | ||||
| @ -742,18 +742,18 @@ class PlainObjectBase : public internal::dense_xpr_base<Derived>::type | ||||
|                           FLOATING_POINT_ARGUMENT_PASSED__INTEGER_WAS_EXPECTED) | ||||
|       resize(rows,cols); | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     template<typename T0, typename T1> | ||||
|     EIGEN_DEVICE_FUNC  | ||||
|     EIGEN_DEVICE_FUNC | ||||
|     EIGEN_STRONG_INLINE void _init2(const T0& val0, const T1& val1, typename internal::enable_if<Base::SizeAtCompileTime==2,T0>::type* = 0) | ||||
|     { | ||||
|       EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(PlainObjectBase, 2) | ||||
|       m_storage.data()[0] = Scalar(val0); | ||||
|       m_storage.data()[1] = Scalar(val1); | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     template<typename T0, typename T1> | ||||
|     EIGEN_DEVICE_FUNC  | ||||
|     EIGEN_DEVICE_FUNC | ||||
|     EIGEN_STRONG_INLINE void _init2(const Index& val0, const Index& val1, | ||||
|                                     typename internal::enable_if<    (!internal::is_same<Index,Scalar>::value) | ||||
|                                                                   && (internal::is_same<T0,Index>::value) | ||||
| @ -779,7 +779,7 @@ class PlainObjectBase : public internal::dense_xpr_base<Derived>::type | ||||
|                           FLOATING_POINT_ARGUMENT_PASSED__INTEGER_WAS_EXPECTED) | ||||
|       resize(size); | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     // We have a 1x1 matrix/array => the argument is interpreted as the value of the unique coefficient (case where scalar type can be implicitly converted)
 | ||||
|     template<typename T> | ||||
|     EIGEN_DEVICE_FUNC | ||||
| @ -788,7 +788,7 @@ class PlainObjectBase : public internal::dense_xpr_base<Derived>::type | ||||
|       EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(PlainObjectBase, 1) | ||||
|       m_storage.data()[0] = val0; | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     // We have a 1x1 matrix/array => the argument is interpreted as the value of the unique coefficient (case where scalar type match the index type)
 | ||||
|     template<typename T> | ||||
|     EIGEN_DEVICE_FUNC | ||||
| @ -844,7 +844,7 @@ class PlainObjectBase : public internal::dense_xpr_base<Derived>::type | ||||
|     { | ||||
|       this->derived() = r; | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     // For fixed-size Array<Scalar,...>
 | ||||
|     template<typename T> | ||||
|     EIGEN_DEVICE_FUNC | ||||
| @ -856,7 +856,7 @@ class PlainObjectBase : public internal::dense_xpr_base<Derived>::type | ||||
|     { | ||||
|       Base::setConstant(val0); | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     // For fixed-size Array<Index,...>
 | ||||
|     template<typename T> | ||||
|     EIGEN_DEVICE_FUNC | ||||
| @ -870,12 +870,12 @@ class PlainObjectBase : public internal::dense_xpr_base<Derived>::type | ||||
|     { | ||||
|       Base::setConstant(val0); | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     template<typename MatrixTypeA, typename MatrixTypeB, bool SwapPointers> | ||||
|     friend struct internal::matrix_swap_impl; | ||||
| 
 | ||||
|   public: | ||||
|      | ||||
| 
 | ||||
| #ifndef EIGEN_PARSED_BY_DOXYGEN | ||||
|     /** \internal
 | ||||
|       * \brief Override DenseBase::swap() since for dynamic-sized matrices | ||||
| @ -888,7 +888,7 @@ class PlainObjectBase : public internal::dense_xpr_base<Derived>::type | ||||
|       enum { SwapPointers = internal::is_same<Derived, OtherDerived>::value && Base::SizeAtCompileTime==Dynamic }; | ||||
|       internal::matrix_swap_impl<Derived, OtherDerived, bool(SwapPointers)>::run(this->derived(), other.derived()); | ||||
|     } | ||||
|      | ||||
| 
 | ||||
|     /** \internal
 | ||||
|       * \brief const version forwarded to DenseBase::swap | ||||
|       */ | ||||
| @ -896,8 +896,8 @@ class PlainObjectBase : public internal::dense_xpr_base<Derived>::type | ||||
|     EIGEN_DEVICE_FUNC | ||||
|     void swap(DenseBase<OtherDerived> const & other) | ||||
|     { Base::swap(other.derived()); } | ||||
|      | ||||
|     EIGEN_DEVICE_FUNC  | ||||
| 
 | ||||
|     EIGEN_DEVICE_FUNC | ||||
|     static EIGEN_STRONG_INLINE void _check_template_params() | ||||
|     { | ||||
|       EIGEN_STATIC_ASSERT((EIGEN_IMPLIES(MaxRowsAtCompileTime==1 && MaxColsAtCompileTime!=1, (Options&RowMajor)==RowMajor) | ||||
| @ -994,7 +994,7 @@ struct conservative_resize_like_impl<Derived,OtherDerived,true> | ||||
|   typedef conservative_resize_like_impl<Derived,OtherDerived,false> Base; | ||||
|   using Base::run; | ||||
|   using Base::IsRelocatable; | ||||
|    | ||||
| 
 | ||||
|   static void run(DenseBase<Derived>& _this, Index size) | ||||
|   { | ||||
|     const Index new_rows = Derived::RowsAtCompileTime==1 ? 1 : size; | ||||
|  | ||||
| @ -11,7 +11,7 @@ | ||||
| #ifndef EIGEN_JACOBI_H | ||||
| #define EIGEN_JACOBI_H | ||||
| 
 | ||||
| namespace Eigen {  | ||||
| namespace Eigen { | ||||
| 
 | ||||
| /** \ingroup Jacobi_Module
 | ||||
|   * \jacobi_module | ||||
| @ -173,7 +173,7 @@ void JacobiRotation<Scalar>::makeGivens(const Scalar& p, const Scalar& q, Scalar | ||||
|   using std::sqrt; | ||||
|   using std::abs; | ||||
|   using numext::conj; | ||||
|    | ||||
| 
 | ||||
|   if(q==Scalar(0)) | ||||
|   { | ||||
|     m_c = numext::real(p)<0 ? Scalar(-1) : Scalar(1); | ||||
| @ -273,7 +273,7 @@ void JacobiRotation<Scalar>::makeGivens(const Scalar& p, const Scalar& q, Scalar | ||||
| 
 | ||||
| namespace internal { | ||||
| /** \jacobi_module
 | ||||
|   * Applies the clock wise 2D rotation \a j to the set of 2D vectors of cordinates \a x and \a y: | ||||
|   * Applies the clock wise 2D rotation \a j to the set of 2D vectors of coordinates \a x and \a y: | ||||
|   * \f$ \left ( \begin{array}{cc} x \\ y \end{array} \right )  =  J \left ( \begin{array}{cc} x \\ y \end{array} \right ) \f$ | ||||
|   * | ||||
|   * \sa MatrixBase::applyOnTheLeft(), MatrixBase::applyOnTheRight() | ||||
| @ -463,7 +463,7 @@ void /*EIGEN_DONT_INLINE*/ apply_rotation_in_the_plane(DenseBase<VectorX>& xpr_x | ||||
| 
 | ||||
|   Scalar* EIGEN_RESTRICT x = &xpr_x.derived().coeffRef(0); | ||||
|   Scalar* EIGEN_RESTRICT y = &xpr_y.derived().coeffRef(0); | ||||
|    | ||||
| 
 | ||||
|   OtherScalar c = j.c(); | ||||
|   OtherScalar s = j.s(); | ||||
|   if (c==OtherScalar(1) && s==OtherScalar(0)) | ||||
|  | ||||
| @ -26,7 +26,7 @@ template <typename MatrixLType, typename MatrixUType> struct SparseLUMatrixURetu | ||||
|   * This class implements the supernodal LU factorization for general matrices. | ||||
|   * It uses the main techniques from the sequential SuperLU package  | ||||
|   * (http://crd-legacy.lbl.gov/~xiaoye/SuperLU/). It handles transparently real 
 | ||||
|   * and complex arithmetics with single and double precision, depending on the  | ||||
|   * and complex arithmetic with single and double precision, depending on the  | ||||
|   * scalar type of your input matrix.  | ||||
|   * The code has been optimized to provide BLAS-3 operations during supernode-panel updates.  | ||||
|   * It benefits directly from the built-in high-performant Eigen BLAS routines.  | ||||
|  | ||||
| @ -134,7 +134,7 @@ EIGEN_DONT_INLINE typename T::Scalar pblueNorm(const T& v) | ||||
|     iexp  = - ((iemax+it)/2); | ||||
|     s2m   = std::pow(ibeta,iexp);   // scaling factor for upper range
 | ||||
| 
 | ||||
|     overfl  = rbig*s2m;          // overfow boundary for abig
 | ||||
|     overfl  = rbig*s2m;          // overflow boundary for abig
 | ||||
|     eps     = std::pow(ibeta, 1-it); | ||||
|     relerr  = std::sqrt(eps);      // tolerance for neglecting asml
 | ||||
|     abig    = 1.0/eps - 1.0; | ||||
|  | ||||
| @ -105,7 +105,7 @@ m1.noalias() += m2 * m3; \endcode</td> | ||||
| <td>First of all, here the .noalias() in the first expression is useless because | ||||
|     m2*m3 will be evaluated anyway. However, note how this expression can be rewritten | ||||
|     so that no temporary is required. (tip: for very small fixed size matrix | ||||
|     it is slighlty better to rewrite it like this: m1.noalias() = m2 * m3; m1 += m4;</td> | ||||
|     it is slightly better to rewrite it like this: m1.noalias() = m2 * m3; m1 += m4;</td> | ||||
| </tr> | ||||
| <tr class="alt"> | ||||
| <td>\code | ||||
|  | ||||
| @ -66,7 +66,7 @@ The output is as follows: | ||||
| 
 | ||||
| \section GettingStartedExplanation2 Explanation of the second example | ||||
| 
 | ||||
| The second example starts by declaring a 3-by-3 matrix \c m which is initialized using the \link DenseBase::Random(Index,Index) Random() \endlink method with random values between -1 and 1. The next line applies a linear mapping such that the values are between 10 and 110. The function call \link DenseBase::Constant(Index,Index,const Scalar&) MatrixXd::Constant\endlink(3,3,1.2) returns a 3-by-3 matrix expression having all coefficients equal to 1.2. The rest is standard arithmetics. | ||||
| The second example starts by declaring a 3-by-3 matrix \c m which is initialized using the \link DenseBase::Random(Index,Index) Random() \endlink method with random values between -1 and 1. The next line applies a linear mapping such that the values are between 10 and 110. The function call \link DenseBase::Constant(Index,Index,const Scalar&) MatrixXd::Constant\endlink(3,3,1.2) returns a 3-by-3 matrix expression having all coefficients equal to 1.2. The rest is standard arithmetic. | ||||
| 
 | ||||
| The next line of the \c main function introduces a new type: \c VectorXd. This represents a (column) vector of arbitrary size. Here, the vector \c v is created to contain \c 3 coefficients which are left uninitialized. The one but last line uses the so-called comma-initializer, explained in \ref TutorialAdvancedInitialization, to set all coefficients of the vector \c v to be as follows: | ||||
| 
 | ||||
|  | ||||
| @ -244,7 +244,7 @@ struct TensorEvaluator<const TensorChippingOp<DimId, ArgType>, Device> | ||||
|       return rslt; | ||||
|     } else if ((static_cast<int>(Layout) == static_cast<int>(ColMajor) && m_dim.actualDim() == NumInputDims - 1) || | ||||
|          (static_cast<int>(Layout) == static_cast<int>(RowMajor) && m_dim.actualDim() == 0)) { | ||||
|       // m_stride is aways greater than index, so let's avoid the integer division.
 | ||||
|       // m_stride is always greater than index, so let's avoid the integer division.
 | ||||
|       eigen_assert(m_stride > index); | ||||
|       return m_impl.template packet<LoadMode>(index + m_inputOffset); | ||||
|     } else { | ||||
| @ -377,7 +377,7 @@ struct TensorEvaluator<const TensorChippingOp<DimId, ArgType>, Device> | ||||
|       inputIndex = index * m_inputStride + m_inputOffset; | ||||
|     } else if ((static_cast<int>(Layout) == static_cast<int>(ColMajor) && m_dim.actualDim() == NumInputDims - 1) || | ||||
|                (static_cast<int>(Layout) == static_cast<int>(RowMajor) && m_dim.actualDim() == 0)) { | ||||
|       // m_stride is aways greater than index, so let's avoid the integer
 | ||||
|       // m_stride is always greater than index, so let's avoid the integer
 | ||||
|       // division.
 | ||||
|       eigen_assert(m_stride > index); | ||||
|       inputIndex = index + m_inputOffset; | ||||
| @ -462,7 +462,7 @@ struct TensorEvaluator<TensorChippingOp<DimId, ArgType>, Device> | ||||
|       } | ||||
|     } else if ((static_cast<int>(this->Layout) == static_cast<int>(ColMajor) && this->m_dim.actualDim() == NumInputDims-1) || | ||||
|          (static_cast<int>(this->Layout) == static_cast<int>(RowMajor) && this->m_dim.actualDim() == 0)) { | ||||
|       // m_stride is aways greater than index, so let's avoid the integer division.
 | ||||
|       // m_stride is always greater than index, so let's avoid the integer division.
 | ||||
|       eigen_assert(this->m_stride > index); | ||||
|       this->m_impl.template writePacket<StoreMode>(index + this->m_inputOffset, x); | ||||
|     } else { | ||||
|  | ||||
| @ -12,7 +12,7 @@ | ||||
| 
 | ||||
| // This header file container defines fo gpu* macros which will resolve to
 | ||||
| // their equivalent hip* or cuda* versions depending on the compiler in use
 | ||||
| // A separte header (included at the end of this file) will undefine all 
 | ||||
| // A separate header (included at the end of this file) will undefine all 
 | ||||
| #include "TensorGpuHipCudaDefines.h" | ||||
| 
 | ||||
| namespace Eigen { | ||||
|  | ||||
| @ -25,9 +25,9 @@ template<typename T> struct MakePointer { | ||||
| }; | ||||
| 
 | ||||
| // The PointerType class is a container of the device specefic pointer
 | ||||
| // used for refering to a Pointer on TensorEvaluator class. While the TensorExpression
 | ||||
| // used for referring to a Pointer on TensorEvaluator class. While the TensorExpression
 | ||||
| // is a device-agnostic type and need MakePointer class for type conversion,
 | ||||
| // the TensorEvaluator calss can be specialized for a device, hence it is possible
 | ||||
| // the TensorEvaluator calls can be specialized for a device, hence it is possible
 | ||||
| // to construct different types of temproray storage memory in TensorEvaluator
 | ||||
| // for different devices by specializing the following PointerType class.
 | ||||
| template<typename T, typename Device> struct PointerType : MakePointer<T>{}; | ||||
|  | ||||
| @ -16,7 +16,7 @@ | ||||
| // for some reason gets sent to the gcc/host compiler instead of the gpu/nvcc/hipcc compiler
 | ||||
| // When compiling such files, gcc will end up trying to pick up the CUDA headers by 
 | ||||
| // default (see the code within "unsupported/Eigen/CXX11/Tensor" that is guarded by EIGEN_USE_GPU)
 | ||||
| // This will obsviously not work when trying to compile tensorflow on a sytem with no CUDA
 | ||||
| // This will obsviously not work when trying to compile tensorflow on a system with no CUDA
 | ||||
| // To work around this issue for HIP systems (and leave the default behaviour intact), the
 | ||||
| // HIP tensorflow build defines EIGEN_USE_HIP when compiling all source files, and 
 | ||||
| // "unsupported/Eigen/CXX11/Tensor" has been updated to use HIP header when EIGEN_USE_HIP is
 | ||||
|  | ||||
| @ -965,7 +965,7 @@ struct TensorEvaluator<const TensorReductionOp<Op, Dims, ArgType, MakePointer_>, | ||||
|           } | ||||
|         } | ||||
| 
 | ||||
|         // Intialize output coefficient reducers.
 | ||||
|         // Initialize output coefficient reducers.
 | ||||
|         for (int i = 0; i < num_reducers; ++i) { | ||||
|           new (&reducers[i]) BlockReducer(m_reducer); | ||||
|         } | ||||
|  | ||||
| @ -771,7 +771,7 @@ struct OuterReducer<Self, Op, GpuDevice> { | ||||
|     // terminate called after throwing an instance of 'std::runtime_error'
 | ||||
|     //   what():  No device code available for function: _ZN5Eigen8internal20OuterReductionKernelIL...
 | ||||
|     //
 | ||||
|     // dont know why this happens (and why is it a runtime error instead of a compile time errror)
 | ||||
|     // don't know why this happens (and why is it a runtime error instead of a compile time error)
 | ||||
|     //
 | ||||
|     // this will be fixed by HIP PR#457
 | ||||
|     EIGEN_DEVICE_FUNC | ||||
|  | ||||
| @ -50,7 +50,7 @@ static void test_static_dimension_failure() | ||||
|       .reshape(Tensor<int, 3>::Dimensions(2, 3, 1)) | ||||
|       .concatenate(right, 0); | ||||
|   Tensor<int, 2, DataLayout> alternative = left | ||||
|    // Clang compiler break with {{{}}} with an ambigous error on copy constructor
 | ||||
|    // Clang compiler break with {{{}}} with an ambiguous error on copy constructor
 | ||||
|   // the variadic DSize constructor added for #ifndef EIGEN_EMULATE_CXX11_META_H.
 | ||||
|   // Solution:
 | ||||
|   // either the code should change to 
 | ||||
|  | ||||
| @ -433,7 +433,7 @@ static void test_execute_slice_lvalue(Device d) | ||||
|   Tensor<T, NumDims, Options, Index> slice(slice_size); | ||||
|   slice.setRandom(); | ||||
| 
 | ||||
|   // Asign a slice using default executor.
 | ||||
|   // Assign a slice using default executor.
 | ||||
|   Tensor<T, NumDims, Options, Index> golden = src; | ||||
|   golden.slice(slice_start, slice_size) = slice; | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 luz.paz"
						luz.paz"