cpp/eigen/Eigen/src/Core/ProductEvaluators.h (22 lines): - line 39: // TODO we should apply that rule only if that's really helpful - line 112: // FIXME shall we handle nested_eval here?, - line 132: // TODO: we could enable them for different scalar types when the product is not vectorized. - line 147: // FIXME shall we handle nested_eval here? - line 165: // FIXME shall we handle nested_eval here? - line 183: // FIXME shall we handle nested_eval here? - line 190: // TODO we should apply that rule if that's really helpful - line 208: // FIXME we could probably enable these rules for any product, i.e., not only Dense and DefaultProduct - line 276: // FIXME if cols is large enough, then it might be useful to make sure that lhs is sequentially stored - line 277: // FIXME not very good if rhs is real and lhs complex while alpha is real too - line 289: // FIXME if rows is large enough, then it might be useful to make sure that rhs is sequentially stored - line 290: // FIXME not very good if lhs is real and rhs complex while alpha is real too - line 302: // TODO it would be nice to be able to exploit our *_assign_op functors for that purpose - line 444: m_lhsImpl(m_lhs), // FIXME the creation of the evaluator objects should result in a no-op, but check that! - line 523: // TODO enable vectorization for mixed types - line 553: * TODO: this seems possible when the result is a vector - line 588: // TODO: Get rid of m_innerDim if known at compile time - line 779: // FIXME currently we need same types, but in the future the next rule should be the one - line 812: DiagonalPacketLoadMode = EIGEN_PLAIN_ENUM_MIN(LoadMode,((InnerSize%16) == 0) ? int(Aligned16) : int(evaluator::Alignment)) // FIXME hardcoded 16!! - line 854: // FIXME: NVCC used to complain about the template keyword, but we have to check whether this is still the case. - line 933: // FIXME we need an is_same for expression that is not sensitive to constness. For instance - line 1024: // FIXME could we unify Transpositions and Permutation into a single "shape"?? cpp/eigen/Eigen/src/Core/CoreEvaluators.h (14 lines): - line 97: // TODO: Think about const-correctness - line 111: // TODO that's not very nice to have to propagate all these traits. They are currently only needed to handle outer,inner indices. - line 757: Alignment = 0 // FIXME it is not very clear why alignment is necessarily lost... - line 802: // FIXME perhaps the PlainObjectType could be provided by Derived::PlainObject ? - line 901: // TODO: should check for smaller packet types once we can handle multi-sized packet types - line 957: // TODO: should check for smaller packet types once we can handle multi-sized packet types - line 1092: // TODO: This evaluator does not actually use the child evaluator; - line 1106: // TODO: for the 3.3 release, this should be turned to an internal assertion, but let's keep it as is for the beta lifetime - line 1115: // TODO enable vectorization for Select - line 1274: Alignment = 0 // FIXME this will need to be improved once PartialReduxExpr is vectorized - line 1435: // FIXME enable DirectAccess with negative strides? - line 1443: Alignment = 0 // FIXME in some rare cases, Alignment could be preserved, like a Vector4f. - line 1505: // FIXME we could factorize some code with packet(i,j) - line 1559: // FIXME having to check whether ArgType is sparse here i not very nice. cpp/eigen/Eigen/src/Core/products/GeneralBlockPanelKernel.h (11 lines): - line 192: // TODO find a reliable way to get the actual amount of cache per core to use for 2nd level blocking, that is: - line 236: // TODO: part of this blocking strategy is now implemented within the kernel itself, so the L1-based heuristic here should be obsolete. - line 314: // FIXME (a bit overkill maybe ?) - line 617: // FIXME: should depend on NumberOfRegisters - line 667: // FIXME not sure that's the best way to implement it! - line 677: // FIXME not sure that's the best way to implement it! - line 685: // FIXME not sure that's the best way to implement it! - line 765: // FIXME: should depend on NumberOfRegisters - line 800: // // FIXME not sure that's the best way to implement it! - line 1927: // if(PacketSize==8) // TODO enbale vectorized transposition for PacketSize==4 - line 1970: if((PacketSize%4)==0) // TODO enable vectorized transposition for PacketSize==2 ?? tools/SeeDot/seedot/compiler/TF/TFNodesAST.py (11 lines): - line 23: # TODO : For assign node :: fix this after discussing with Aseem; hack right now. - line 43: # TODO : Remove usage of this. - line 71: # TODO : There has to be some way to take range, understand the dimensions for SeeDot - line 161: # TODO : Right now in the current implementation, the dataType being passed to the node is being ignored by SeeDot. - line 175: # TODO : Hack -- fix this later after discussing with Aseem. - line 326: # TODO : Parse other options and make sure backend is consuming those. - line 398: # TODO : Since the axis of concat is constant, therefore, its known here - the input's sizes along that dim should be - line 444: # TODO : generalize -- remove usage of Declare. - line 517: # TODO : softmax or implement here ? - line 637: # TODO : This below thing is the right way of implementing the operator - line 658: # TODO : Do this in somewhat better way. applications/GesturePod/training/serialDataCollection/src/lib/MPU6050_6Axis_MotionApps20.h (10 lines): - line 533: return 3; // TODO: proper error code for no memory - line 578: // TODO: accommodate different arrangements of sent data (ONLY default supported now) - line 586: // TODO: accommodate different arrangements of sent data (ONLY default supported now) - line 594: // TODO: accommodate different arrangements of sent data (ONLY default supported now) - line 602: // TODO: accommodate different arrangements of sent data (ONLY default supported now) - line 611: // TODO: accommodate different arrangements of sent data (ONLY default supported now) - line 620: // TODO: accommodate different arrangements of sent data (ONLY default supported now) - line 635: // TODO: accommodate different arrangements of sent data (ONLY default supported now) - line 643: // TODO: accommodate different arrangements of sent data (ONLY default supported now) - line 652: // TODO: accommodate different arrangements of sent data (ONLY default supported now) applications/GesturePod/onMKR1000/src/lib/MPU6050_6Axis_MotionApps20.h (10 lines): - line 535: return 3; // TODO: proper error code for no memory - line 580: // TODO: accommodate different arrangements of sent data (ONLY default supported now) - line 588: // TODO: accommodate different arrangements of sent data (ONLY default supported now) - line 596: // TODO: accommodate different arrangements of sent data (ONLY default supported now) - line 604: // TODO: accommodate different arrangements of sent data (ONLY default supported now) - line 613: // TODO: accommodate different arrangements of sent data (ONLY default supported now) - line 622: // TODO: accommodate different arrangements of sent data (ONLY default supported now) - line 637: // TODO: accommodate different arrangements of sent data (ONLY default supported now) - line 645: // TODO: accommodate different arrangements of sent data (ONLY default supported now) - line 653: // TODO: accommodate different arrangements of sent data (ONLY default supported now) tools/SeeDot/seedot/compiler/ir/irBuilder.py (10 lines): - line 1213: # TODO: Introduce a post-processing pass to merge consecutive scale adjustments hence generated. - line 1841: # TODO: Introduce a post-processing pass to merge consecutive scale adjustments hence generated. - line 2074: # TODO: Introduce a post-processing pass to merge consecutive scale adjustments hence generated. - line 2429: # TODO: Check if saturation/overflows are handled. - line 2551: # TODO: Use MAX_VAL_EXP. - line 3403: # TODO: Update the scale and intv of expr_out based on in_A and in_B. - line 3532: # TODO: Do I need to update varDeclarations or is it handled already? - line 3557: [minVal, maxVal] = self.mutableVarsProfile[0] # TODO: This function may not work for multiple loops in a code. - line 3617: # TODO: When is this triggered and why is this required? - line 3619: getLogger().warning("TODO: Fix this if condition") cpp/eigen/Eigen/src/Core/products/GeneralMatrixVector.h (9 lines): - line 142: // if the data cannot be aligned (TODO add some compile time tests when possible, e.g. for floats) - line 151: // TODO: extend the code to support aligned loads whenever possible when LhsPacketSize > 4. - line 415: // if the data cannot be aligned (TODO add some compile time tests when possible, e.g. for floats) - line 426: // TODO: extend the code to support aligned loads whenever possible when LhsPacketSize > 4. - line 466: // FIXME: what is the purpose of this EIGEN_ALIGN_DEFAULT ?? - line 481: // FIXME this loop get vectorized by the compiler ! - line 556: // FIXME this loop get vectorized by the compiler ! - line 580: // FIXME this loop get vectorized by the compiler ! - line 597: // FIXME this loop get vectorized by the compiler ! cpp/eigen/Eigen/src/SVD/BDCSVD.h (8 lines): - line 250: // FIXME this line involves temporaries - line 268: // FIXME this line involves temporaries - line 274: // FIXME this line involves a temporary matrix - line 319: householderU.applyThisOnTheLeft(m_matrixU); // FIXME this line involves a temporary buffer - line 326: householderV.applyThisOnTheLeft(m_matrixV); // FIXME this line involves a temporary buffer - line 408: // FIXME this line involves temporaries - line 566: // TODO Opportunities for optimization: better root finding algo, better stopping criterion, better - line 1001: // TODO deflation44 is still broken and not properly tested cpp/eigen/Eigen/src/Core/AssignEvaluator.h (8 lines): - line 58: // TODO distinguish between linear traversal and inner-traversals - line 195: // FIXME: this is not very clean, perhaps this information should be provided by the kernel? - line 260: // FIXME: this is not very clean, perhaps this information should be provided by the kernel? - line 376: // FIXME check which version exhibits this issue - line 691: // TODO find a way to avoid the needs of the original expression - line 809: // TODO check whether this is the right place to perform these checks: - line 827: // TODO check whether this is the right place to perform these checks: - line 862: // TODO: not sure we have to keep that one, but it helps porting current code to new evaluator mechanism. cpp/eigen/unsupported/Eigen/src/SparseExtra/BlockSparseMatrix.h (7 lines): - line 64: typedef Sparse StorageKind; // FIXME Where is it used ?? - line 512: //FIXME : find a way to avoid this ... - line 601: //FIXME Should free if already allocated - line 628: * FIXME Do not accept duplicates - line 636: * FIXME This can be unnecessarily expensive since only the inner indices have to be sorted - line 824: //FIXME the block does not exist, Insert it !!!!!!!!! - line 1006: // FIXME Number of rows in the current block cpp/eigen/Eigen/src/Core/arch/ZVector/PacketMath.h (7 lines): - line 135: // FIXME check the Has* - line 141: // FIXME check the Has* - line 160: // FIXME check the Has* - line 253: // FIXME: No intrinsic yet - line 262: // FIXME: No intrinsic yet - line 271: // FIXME: No intrinsic yet - line 280: // FIXME: No intrinsic yet cpp/eigen/Eigen/src/Core/arch/NEON/PacketMath.h (6 lines): - line 31: // FIXME NEON has 16 quad registers, but since the current register allocator - line 76: // FIXME check the Has* - line 93: // FIXME check the Has* - line 305: // FIXME only store the 2 first elements ? - line 564: // FIXME check the Has* - line 653: // FIXME only store the 2 first elements ? cpp/eigen/Eigen/src/Eigenvalues/SelfAdjointEigenSolver.h (6 lines): - line 452: //TODO : Add an option to scale the values beforehand - line 527: // TODO make the sort optional ? - line 528: // TODO use a better sort algorithm !! - line 638: // TODO Avoid this copy. Currently it is necessary to suppress bogus values when determining maxCoeff and for computing the eigenvectors later - line 642: if(scale > 0) scaledMat /= scale; // TODO for scale==0 we could save the remaining operations - line 858: // FIXME if StorageOrder == RowMajor this operation is not very efficient cpp/eigen/Eigen/src/Core/TriangularMatrix.h (5 lines): - line 549: // FIXME should we keep that possibility - line 559: // FIXME should we keep that possibility - line 696: // TODO currently a triangular expression has the form TriangularView<.,.> - line 849: // FIXME: this is not very clean, perhaps this information should be provided by the kernel? - line 884: // TODO: experiment with a recursive assignment procedure splitting the current cpp/eigen/Eigen/src/Core/GeneralProduct.h (5 lines): - line 82: // FIXME I'm not sure the current mapping is the ideal one. - line 114: // FIXME : maybe the "inner product" could return a Scalar - line 222: // FIXME find a way to allow an inner stride on the result if packet_traits::size==1 - line 296: // FIXME find a way to allow an inner stride on the result if packet_traits::size==1 - line 332: // TODO if rhs is large enough it might be beneficial to make sure that dest is sequentially stored in memory, otherwise use a temp cpp/eigen/Eigen/src/Core/arch/SSE/Complex.h (5 lines): - line 252: // TODO optimize it for SSE3 and 4 - line 329: // FIXME force unaligned load, this is a temporary fix - line 339: // FIXME force unaligned store, this is a temporary fix - line 374: // FIXME is it sure we never have to align a Packet1cd? - line 453: // TODO optimize it for SSE3 and 4 tools/SeeDot/seedot/Predictor/library_fixed.cpp (5 lines): - line 122: // TODO: shrB is int32_t because in 8-bit/16-bit code, shrB is usually very high and int8_t/int16_t will overflow. - line 141: // TODO: shrB is int32_t because in 8-bit/16-bit code, shrB is usually very high and int8_t/int16_t will overflow. - line 160: // TODO: shrB is int32_t because in 8-bit/16-bit code, shrB is usually very high and int8_t/int16_t will overflow. - line 411: // TODO: K is int16_t because K is usually very high and int8_t will overflow in 8-bit code. - line 446: // TODO: K is int16_t because K is usually very high and int8_t will overflow in 8-bit code. cpp/eigen/Eigen/src/SparseCore/SparseSelfAdjointView.h (5 lines): - line 125: // TODO implement twists in a more evaluator friendly fashion - line 206: // TODO currently a selfadjoint expression has the form SelfAdjointView<.,.> - line 234: // TODO directly evaluate into dst; - line 347: // TODO: maybe the copy could be handled by generic_product_impl so that these overloads would not be needed anymore - line 555: // TODO implement twists in a more evaluator friendly fashion cpp/eigen/Eigen/src/Core/util/Constants.h (4 lines): - line 71: const unsigned int EvalBeforeAssigningBit = 0x4; // FIXME deprecated - line 255: // FIXME after the corner() API change, this was not needed anymore, except by AlignedBox - line 256: // TODO: find out what to do with that. Adapt the AlignedBox API ? - line 325: /** Don't require alignment for the matrix itself (the array of coefficients, if dynamically allocated, may still be requested to be aligned) */ // FIXME --- clarify the situation cpp/eigen/Eigen/src/LU/FullPivLU.h (4 lines): - line 67: // FIXME StorageIndex defined in EIGEN_GENERIC_PUBLIC_INTERFACE should be int - line 240: // FIXME this is a copy-paste of the base-class member to add the isInitialized assertion. - line 600: // FIXME the .toDenseMatrix() should not be needed... - line 669: // FIXME when we get triangularView-for-rectangular-matrices, this can be simplified cpp/eigen/Eigen/src/SuperLUSupport/SuperLUSupport.h (4 lines): - line 219: // FIXME the following is not very accurate - line 278: // FIXME the following is not very accurate - line 642: // FIXME how to better check for errors ??? - line 965: // FIXME how to better check for errors ??? tools/SeeDot/seedot/compiler/TF/Graph.py (4 lines): - line 37: # TODO: The size given below is for C++. For Python the sizes are different. - line 162: # TODO : Not implemented operator Shape() from the C++ implementation. - line 170: # TODO: If need arises, change everything to byte array. - line 185: # TODO: The totalSize calculated below seems inaccurate because empty list in python is itself 64 bytes, cpp/eigen/Eigen/src/SparseLU/SparseLU.h (4 lines): - line 414: //TODO It is possible as in SuperLU to compute row and columns scaling vectors to equilibrate the matrix mat. - line 426: m_mat.uncompress(); //NOTE: The effect of this command is only to create the InnerNonzeros pointers. FIXME : This vector is filled but not subsequently used. - line 530: { //FIXME This should not be needed if the empty permutation is handled transparently - line 670: // FIXME: the following test is not correct, we should probably take iperm_c into account and pivrow is not directly the row pivot. cpp/eigen/Eigen/src/SparseCore/TriangularSolver.h (4 lines): - line 156: // TODO replace this by a binary search. make sure the binary search is safe for partially sorted elements - line 224: // FIXME estimate number of non zeros - line 271: // FIXME compute a reference value to filter zeros - line 277: // FIXME use insertBack cpp/eigen/unsupported/Eigen/src/EulerAngles/EulerAngles.h (4 lines): - line 10: #ifndef EIGEN_EULERANGLESCLASS_H// TODO: Fix previous "EIGEN_EULERANGLES_H" definition? - line 298: // TODO: Implement it in a faster way for quaternions - line 319: // TODO: Assign and construct from another EulerAngles (with different system) - line 328: // TODO: Support isApprox function cpp/eigen/Eigen/src/Core/Block.h (4 lines): - line 54: // FIXME DirectAccessBit should not be handled by expressions - line 183: // class InnerIterator; // FIXME apparently never used - line 418: // FIXME sunstudio is not friendly with the above friend... - line 419: // META-FIXME there is no 'friend' keyword around here. Is this obsolete? cpp/eigen/Eigen/src/LU/PartialPivLU.h (4 lines): - line 83: // FIXME StorageIndex defined in EIGEN_GENERIC_PUBLIC_INTERFACE should be int - line 172: // FIXME this is a copy-paste of the base-class member to add the isInitialized assertion. - line 345: // FIXME add a stride to Map, so that the following mapping becomes easier, - line 394: // FIXME shall we introduce a safe quotient expression in cas 1/lu.coeff(k,k) cpp/eigen/unsupported/Eigen/src/IterativeSolvers/DGMRES.h (4 lines): - line 36: * TODO Use modified QuickSplit or std::nth_element to get the smallest values - line 328: // FIXME Check for happy breakdown - line 356: //FIXME Check first if the matrix is singular ... zero diagonal - line 499: //FIXME CHeck if the factorization was correctly done (nonsingular matrix) cpp/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorEvaluator.h (4 lines): - line 22: * TODO: add support for more types of expressions, in particular expressions - line 392: // TODO: use right impl instead if right impl dimensions are known at compile time. - line 487: // TODO: use arg2 or arg3 dimensions if they are known at compile time. - line 577: // TODO: use then or else impl instead if they happen to be known at compile time. cpp/eigen/Eigen/src/Core/util/Macros.h (4 lines): - line 137: // FIXME: could probably be removed as we do not support gcc 3.x anymore - line 499: // FIXME with the always_inline attribute, - line 653: // FIXME not sure about this one: - line 865: // FIXME Maybe the EIGEN_DENSE_PUBLIC_INTERFACE could be removed as importing PacketScalar is rarely needed cpp/eigen/Eigen/src/Core/products/Parallelizer.h (4 lines): - line 88: // TODO when EIGEN_USE_BLAS is defined, - line 91: // FIXME the transpose variable is only needed to properly split - line 107: // FIXME this has to be fine tuned - line 121: // FIXME omp_get_num_threads()>1 only works for openmp, what if the user does not use openmp? cpp/src/ProtoNN/ProtoNNFunctions.cpp (4 lines): - line 295: // TODO: pfor (or map) and vectorize - line 463: // TODO: Fix this, dont automatically cast to dense - line 470: // TODO: pfor (or map) and saxpy - line 744: (//[&model.params.Z, &data.Ytrain, &model.params.B, &data.Xtrain, &model.hyperParams] TODO: Figure out the elegant way of getting this to work cpp/eigen/Eigen/src/Core/arch/NEON/Complex.h (3 lines): - line 270: // TODO optimize it for NEON - line 421: // FIXME is it sure we never have to align a Packet1cd? - line 461: // TODO optimize it for NEON cpp/eigen/Eigen/src/SparseCore/SparseMatrix.h (3 lines): - line 518: // TODO optimize the uncompressed mode to avoid moving and allocating the data twice - line 1074: // FIXME the above copy could be merged with that pass - line 1295: // FIXME let's make sure sizeof(long int) == sizeof(size_t) cpp/eigen/Eigen/src/Core/arch/SSE/PacketMath.h (3 lines): - line 172: // TODO: It has been detected with win64 builds (amd64), so let's check whether it also happens in 32bits+SSE mode - line 173: // TODO: let's check whether there does not exist a better fix, like adding a pset0() function. (it crashed on pset1(0)). - line 599: // TODO try to call _mm_mul_epu32 directly cpp/src/Bonsai/BonsaiModel.cpp (3 lines): - line 117: // TODO: Fix this code and importModel to work with sparse V,W,Z,Theta flags - line 175: const char *const fromModel) // TODO: Fill them with elegance - line 177: // TODO: Fix this code and exportModel to work with sparse V,W,Z,Theta flags cpp/eigen/Eigen/src/Geometry/Homogeneous.h (3 lines): - line 270: // FIXME investigate how to allow lazy evaluation of this product when possible - line 308: // FIXME investigate how to allow lazy evaluation of this product when possible - line 434: // TODO: the following specialization is to address a regression from 3.2 to 3.3 tools/SeeDot/seedot/compiler/ONNX/paramsBuilderOnnx.py (3 lines): - line 15: #TODO: Refactor this later. Also part of paramBuilder file. - line 25: #TODO: Shift to common.py - line 70: # TODO: Remove float_data. cpp/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionThreadPool.h (3 lines): - line 774: // TODO: packing could be faster sometimes if we supported row major tensor mappers - line 779: // TODO: replace false, false with conjugate values? - line 830: // TODO: is this too much memory to allocate? This simplifies coding a lot, but is wasteful. cpp/eigen/Eigen/src/Core/SelfAdjointView.h (3 lines): - line 43: & (~(PacketAccessBit | DirectAccessBit | LinearAccessBit)) // FIXME these flags should be preserved - line 48: // FIXME could also be called SelfAdjointWrapper to be consistent with DiagonalWrapper ?? - line 234: // TODO currently a selfadjoint expression has the form SelfAdjointView<.,.> cpp/eigen/unsupported/Eigen/src/IterativeSolvers/ConstrainedConjGrad.h (3 lines): - line 52: // FIXME use sparse vectors ? - line 86: // FIXME add a generic "prune/filter" expression for both dense and sparse object to sparse - line 148: // FIXME: we should allow that: z += -bb * C.row(i); cpp/src/common/blas_routines.cpp (3 lines): - line 82: // TODO: Add transpose flag for output - line 199: // TODO: Add transpose flag for output - line 299: // TODO: Rewrite this call to use space just the allocated for @out, cpp/eigen/Eigen/src/Householder/BlockHouseholder.h (3 lines): - line 41: // // FIXME add .noalias() once the triangular product can work inplace - line 66: // FIXME add .noalias() once the triangular product can work inplace - line 92: // FIXME add .noalias() once the triangular product can work inplace cpp/eigen/Eigen/src/SparseQR/SparseQR.h (3 lines): - line 334: m_R.reserve(2*mat.nonZeros()); //FIXME Get a more accurate estimation through symbolic factorization with the etree - line 484: // FIXME: tval -= tdot * m_Q.col(curIdx) should amount to the same (need to check/add support for efficient "dense ?= sparse") - line 509: // FIXME this step should call the Householder module. tools/SeeDot/seedot/compiler/codegen/codegenBase.py (3 lines): - line 59: # TODO: Implement defragmentation procedure. - line 259: self.out.printf('++) {\n') # TODO: What if --? - line 592: # TODO: Add defragmentation call. cpp/eigen/Eigen/src/Core/arch/AltiVec/Complex.h (3 lines): - line 247: // TODO optimize it for AltiVec - line 382: // FIXME is it sure we never have to align a Packet1cd? - line 439: // TODO optimize it for AltiVec cpp/eigen/blas/level3_impl.h (3 lines): - line 268: // FIXME find a way to avoid this copy - line 321: // FIXME add support for symmetric complex matrix - line 410: // FIXME add support for symmetric complex matrix cpp/eigen/unsupported/Eigen/src/IterativeSolvers/GMRES.h (2 lines): - line 110: // TODO: use a HouseholderSequence - line 120: // TODO: use a HouseholderSequence cpp/eigen/Eigen/src/Core/arch/AVX/PacketMath.h (2 lines): - line 224: // TODO try to find a way to avoid the need of a temporary register - line 354: // FIXME: why is this ok? why isn't the simply implementation working as expected? cpp/eigen/Eigen/src/Core/Stride.h (2 lines): - line 95: EIGEN_DEVICE_FUNC InnerStride(Index v) : Base(0, v) {} // FIXME making this explicit could break valid code - line 106: EIGEN_DEVICE_FUNC OuterStride(Index v) : Base(v,0) {} // FIXME making this explicit could break valid code cpp/eigen/Eigen/src/SparseCore/ConservativeSparseSparseProduct.h (2 lines): - line 87: // FIXME reserve nnz non zeros - line 88: // FIXME implement faster sorting algorithms for very small nnz cpp/src/Bonsai/BonsaiFunctions.cpp (2 lines): - line 430: // TODO: update the hyperParams.iter to *= sqrt(ntrain). - line 431: // TODO: Ask for more sensible default iteration parameters cpp/eigen/Eigen/src/Core/Transpose.h (2 lines): - line 137: // FIXME: shall we keep the const version of coeffRef? - line 235: // TODO: vectorized path is currently limited to LargestPacketSize x LargestPacketSize cases only. cpp/src/ProtoNN/ProtoNNPredictor.cpp (2 lines): - line 274: //TODO: What about normalization - line 286: currentLabels[labels[id]] = 1; // TODO: Figure something elegant instead of casting cpp/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFixedSize.h (2 lines): - line 339: // FIXME: check that the dimensions of other match the dimensions of *this. - line 350: // FIXME: check that the dimensions of other match the dimensions of *this. cpp/eigen/Eigen/src/SparseCore/SparseDiagonalProduct.h (2 lines): - line 42: enum { CoeffReadCost = HugeCost, Flags = Rhs::Flags&RowMajorBit, Alignment = 0 }; // FIXME CoeffReadCost & Flags - line 53: enum { CoeffReadCost = HugeCost, Flags = Lhs::Flags&RowMajorBit, Alignment = 0 }; // FIXME CoeffReadCost & Flags cpp/eigen/Eigen/src/Core/functors/BinaryFunctors.h (2 lines): - line 55: // TODO vectorize mixed sum - line 99: // TODO vectorize mixed product cpp/eigen/Eigen/src/Core/ForceAlignedAccess.h (2 lines): - line 130: return derived(); // FIXME This should not work but apparently is never used - line 141: return derived(); // FIXME This should not work but apparently is never used cpp/eigen/Eigen/src/Core/StableNorm.h (2 lines): - line 47: // TODO if the maxCoeff is much much smaller than the current scale, - line 172: || (int(internal::evaluator::Alignment)>0) // FIXME Alignment)>0 might not be enough cpp/eigen/Eigen/src/Core/PlainObjectBase.h (2 lines): - line 485: // FIXME is it still needed ? - line 550: // FIXME this does not automatically transpose vectors if necessary cpp/eigen/Eigen/src/Cholesky/LLT.h (2 lines): - line 166: * TODO: document the storage layout - line 432: // TODO move this code to SelfAdjointView tools/SeeDot/seedot/compiler/codegen/m3.py (2 lines): - line 121: self.out.printf('++) {\n') # TODO: What if --? - line 614: # TODO: Remove the TreeSum buffer variable from the list of variables to be allocated from the scratch space, because the TreeSum variable is not used in the M3 codegen. cpp/eigen/Eigen/src/Core/DenseCoeffsBase.h (2 lines): - line 512: // FIXME shall we remove it ? - line 586: // FIXME shall we remove it ? cpp/eigen/Eigen/src/QR/FullPivHouseholderQR.h (2 lines): - line 70: // FIXME should be int - line 547: // FIXME introduce nonzeroPivots() and use it here. and more generally, cpp/eigen/unsupported/Eigen/src/EulerAngles/EulerSystem.h (2 lines): - line 21: // TODO: Check if already exists on the rest API - line 178: // TODO: Get @mat parameter in form that avoids double evaluation. cpp/eigen/Eigen/src/Core/products/GeneralMatrixMatrixTriangular_BLAS.h (2 lines): - line 70: // TODO handle complex cases - line 132: // TODO hanlde complex cases cpp/eigen/lapack/svd.cpp (2 lines): - line 17: // TODO exploit the work buffer - line 88: // TODO exploit the work buffer tf/edgeml_tf/utils.py (2 lines): - line 27: TODO: Return estimate of Z (prototype labels) based on cluster centroids - line 30: TODO: Clustering fails due to singularity error if projecting upwards cpp/eigen/unsupported/Eigen/src/NonLinearOptimization/qrsolv.h (2 lines): - line 5: // TODO : once qrsolv2 is removed, use ColPivHouseholderQR or PermutationMatrix instead of ipvt - line 9: // TODO : use a PermutationMatrix once lmpar is no more: cpp/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionCuda.h (2 lines): - line 433: // TODO: won't yield much gain, but could just use currently unused shared mem - line 469: // TODO: can i trade bank conflicts for coalesced writes? cpp/eigen/Eigen/src/Core/ReturnByValue.h (2 lines): - line 35: * FIXME: I don't understand why we need this specialization: isn't this taken care of by the EvalBeforeNestingBit ?? - line 92: // TODO: Finalize port to new regime; ReturnByValue should not exist in the expression world cpp/eigen/Eigen/src/Core/products/TriangularMatrixVector.h (2 lines): - line 202: // TODO: find a way to factorize this piece of code with gemv_selector since the logic is exactly the same. - line 228: // FIXME find a way to allow an inner stride on the result if packet_traits::size==1 tools/SeeDot/seedot/compiler/ONNX/ONNXNodesAST.py (2 lines): - line 110: # TODO : Remove usage of this. - line 440: # TODO: Use AST.decl for defining a tensor. If used as a parameter for Reshape then we don't need it for now. cpp/eigen/Eigen/src/Cholesky/LDLT.h (2 lines): - line 228: * TODO: document the storage layout - line 501: // TODO move this code to SelfAdjointView cpp/eigen/Eigen/src/CholmodSupport/CholmodSupport.h (2 lines): - line 302: // TODO optimize this copy by swapping when possible (be careful with alignment, etc.) - line 325: // TODO optimize this copy by swapping when possible (be careful with alignment, etc.) cpp/eigen/unsupported/Eigen/src/LevenbergMarquardt/LevenbergMarquardt.h (2 lines): - line 302: //FIXME Sparse Case : Allocate space for the jacobian - line 304: // m_fjac.reserve(VectorXi::Constant(n,5)); // FIXME Find a better alternative cpp/eigen/Eigen/src/Core/Replicate.h (2 lines): - line 32: //FIXME we don't propagate the max sizes !!! - line 39: // FIXME enable DirectAccess with negative strides? cpp/eigen/Eigen/src/SparseCore/SparseSparseProductWithPruning.h (2 lines): - line 57: // FIXME: - line 64: // FIXME should be written like this: tmp += rhsIt.value() * lhs.col(rhsIt.index()) cpp/eigen/Eigen/src/Core/arch/ZVector/Complex.h (2 lines): - line 125: // FIXME is it sure we never have to align a Packet1cd? - line 165: // TODO optimize it for AltiVec cpp/eigen/unsupported/Eigen/src/SpecialFunctions/SpecialFunctionsImpl.h (2 lines): - line 1390: // TODO: gamma() is not directly implemented in Eigen. - line 1469: // TODO: gamma is not directly implemented in Eigen. cpp/eigen/unsupported/Eigen/src/NonLinearOptimization/dogleg.h (2 lines): - line 51: // TODO : this path is not tested by Eigen unit tests - line 73: // TODO : once unit tests cover this part,: cpp/eigen/Eigen/src/SparseCore/SparseMatrixBase.h (2 lines): - line 109: // FIXME storage order do not match evaluator storage order - line 188: SparseMatrixBase() : m_isRValue(false) { /* TODO check flags */ } cpp/eigen/unsupported/Eigen/src/NonLinearOptimization/LevenbergMarquardt.h (2 lines): - line 469: // TODO We have no unit test covering this code path, do not modify - line 476: // TODO : avoid this: cpp/eigen/Eigen/src/Core/util/XprHelper.h (2 lines): - line 15: // FIXME: gcc 4.3 generates bad code when strict-aliasing is enabled - line 255: // FIXME currently we still have to handle DirectAccessBit at the expression level to handle DenseCoeffsBase<> cpp/eigen/Eigen/src/Core/SelfCwiseBinaryOp.h (1 line): - line 15: // TODO generalize the scalar type of 'other' cpp/eigen/unsupported/Eigen/src/Splines/Spline.h (1 line): - line 397: Scalar saved, temp; // FIXME These were double instead of Scalar. Was there a reason for that? cpp/eigen/blas/PackedSelfadjointProduct.h (1 line): - line 34: //FIXME This should be handled outside. cpp/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixPower.h (1 line): - line 30: /* TODO This class is only used by MatrixPower, so it should be nested cpp/eigen/Eigen/src/Core/CoreIterators.h (1 line): - line 30: * TODO: add a usage example cpp/eigen/unsupported/Eigen/src/Skyline/SkylineMatrixBase.h (1 line): - line 148: /* TODO check flags */ cpp/eigen/Eigen/src/Core/GlobalFunctions.h (1 line): - line 185: // TODO: cleanly disable those functions that are not supported on Array (numext::real_ref, internal::random, internal::isApprox...) cpp/eigen/unsupported/Eigen/src/BVH/BVAlgorithms.h (1 line): - line 93: void BVIntersect(const BVH1 &tree1, const BVH2 &tree2, Intersector &intersector) //TODO: tandem descent when it makes sense cpp/eigen/Eigen/src/IterativeLinearSolvers/IncompleteLUT.h (1 line): - line 232: // FIXME for a matrix with nearly symmetric pattern, mat2+mat1 is the appropriate choice. cpp/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorTraits.h (1 line): - line 169: // TODO nested<> does not exist anymore in Eigen/Core, and it thus has to be removed in favor of ref_selector. cpp/eigen/lapack/eigenvalues.cpp (1 line): - line 16: // TODO exploit the work buffer cpp/eigen/Eigen/src/Geometry/Hyperplane.h (1 line): - line 122: // FIXME to be consitent with the rest this could be implemented as a static Through function ?? cpp/eigen/Eigen/src/SparseCore/SparseAssign.h (1 line): - line 27: // TODO use the evaluator mechanism cpp/eigen/unsupported/Eigen/src/FFT/ei_kissfft_impl.h (1 line): - line 391: // TODO look for PlanKey(nfft, ! inverse) and conjugate the twiddles tf/edgeml_tf/trainer/fastTrainer.py (1 line): - line 90: TODO: Make this a separate class if needed cpp/eigen/Eigen/src/SparseCore/AmbiVector.h (1 line): - line 193: // TODO factorize the following code to reduce code generation cpp/eigen/Eigen/src/Core/Array.h (1 line): - line 139: // FIXME is it still needed ?? cpp/eigen/Eigen/src/Core/util/Meta.h (1 line): - line 458: // FIXME quick workaround around current limitation of result_of cpp/eigen/Eigen/src/Eigenvalues/Tridiagonalization.h (1 line): - line 23: typedef typename MatrixType::PlainObject ReturnType; // FIXME shall it be a BandMatrix? cpp/eigen/Eigen/src/SparseCore/SparseRef.h (1 line): - line 332: // FIXME shall we introduce a general evaluatior_ref that we can specialize for any sparse object once, and thus remove this copy-pasta thing... cpp/eigen/unsupported/Eigen/src/NonLinearOptimization/HybridNonLinearSolver.h (1 line): - line 68: /* TODO: if eigen provides a triangular storage, use it here */ cpp/eigen/Eigen/src/SparseCore/SparseUtil.h (1 line): - line 96: // TODO this seems almost identical to plain_matrix_type cpp/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorBroadcasting.h (1 line): - line 170: // TODO: attempt to speed this up. The integer divisions and modulo are slow cpp/eigen/Eigen/src/MetisSupport/MetisSupport.h (1 line): - line 116: //FIXME The ordering interface should define a class of possible errors tf/edgeml_tf/__init__.py (1 line): - line 11: # TODO Override the __all__ variable for the package cpp/eigen/Eigen/src/SparseCore/SparseVector.h (1 line): - line 188: // TODO smart realloc cpp/eigen/Eigen/src/UmfPackSupport/UmfPackSupport.h (1 line): - line 15: /* TODO extract L, extract U, compute det, etc... */ tools/SeeDot/seedot/compiler/converter/util.py (1 line): - line 369: # TODO: Incorporate this in a more lucid way. cpp/eigen/Eigen/src/SparseCore/SparseBlock.h (1 line): - line 475: | // FIXME | instead of || to please GCC 4.4.0 stupid warning "suggest parentheses around &&". cpp/eigen/Eigen/src/Core/Matrix.h (1 line): - line 265: // FIXME is it still needed cpp/eigen/blas/level1_cplx_impl.h (1 line): - line 112: // TODO implement mixed real-scalar rotations cpp/eigen/Eigen/src/Core/Redux.h (1 line): - line 348: // TODO we should not remove DirectAccessBit and rather find an elegant way to query the alignment offset at runtime from the evaluator cpp/eigen/Eigen/src/Core/arch/AVX512/PacketMath.h (1 line): - line 85: /* TODO Implement AVX512 for integers cpp/eigen/Eigen/src/Core/Swap.h (1 line): - line 53: // TODO find a simple way not to have to copy/paste this function from generic_dense_assignment_kernel, by simple I mean no CRTP (Gael) cpp/eigen/Eigen/src/QR/ColPivHouseholderQR.h (1 line): - line 61: // FIXME should be int cpp/eigen/Eigen/src/Core/EigenBase.h (1 line): - line 39: // FIXME is it needed? applications/GesturePod/onMKR1000/src/lib/MPU6050.h (1 line): - line 344: // TODO: figure out what these actually do cpp/eigen/Eigen/src/Core/MathFunctions.h (1 line): - line 14: // TODO this should better be moved to NumTraits cpp/eigen/Eigen/src/OrderingMethods/Ordering.h (1 line): - line 24: * FIXME: The values should not be considered here cpp/eigen/unsupported/Eigen/src/AutoDiff/AutoDiffVector.h (1 line): - line 63: // FIXME here we could return an expression of the sum cpp/eigen/Eigen/src/Core/functors/UnaryFunctors.h (1 line): - line 312: Cost = functor_traits >::Cost // TODO measure cost of log1p cpp/eigen/unsupported/Eigen/src/BVH/KdBVH.h (1 line): - line 182: //the two halves, and adds their parent node. TODO: a cache-friendlier layout cpp/eigen/Eigen/src/Core/SolveTriangular.h (1 line): - line 61: // FIXME find a way to allow an inner stride if packet_traits::size==1 cpp/eigen/Eigen/src/Core/CommaInitializer.h (1 line): - line 49: // FIXME in C++11 mode this could be replaced by a proper RValue constructor cpp/eigen/Eigen/src/Geometry/Quaternion.h (1 line): - line 662: // FIXME should this function be called multiplicativeInverse and conjugate() be called inverse() or opposite() ?? cpp/eigen/Eigen/src/Core/products/TriangularMatrixMatrix_BLAS.h (1 line): - line 112: /* FIXME handle mkl_domain_get_max_threads */ \ cpp/src/Bonsai/Bonsai.h (1 line): - line 263: // TODO: get gradient fucntions here cpp/eigen/Eigen/src/Core/Product.h (1 line): - line 42: // FIXME: only needed by GeneralMatrixMatrixTriangular cpp/eigen/Eigen/src/Core/products/SelfadjointMatrixVector.h (1 line): - line 120: Packet Bi = ploadu(rhsIt); rhsIt += PacketSize; // FIXME should be aligned in most cases cpp/eigen/Eigen/src/IterativeLinearSolvers/IncompleteCholesky.h (1 line): - line 249: // TODO disable scaling if not needed, i.e., if it is roughly uniform? (this will make solve() faster) cpp/eigen/doc/snippets/MatrixBase_triangularView.cpp (1 line): - line 9: // FIXME need to implement output for triangularViews (Bug 885) cpp/eigen/Eigen/src/Core/arch/AVX/Complex.h (1 line): - line 86: // FIXME The following might be optimized using _mm256_movedup_pd cpp/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorContractionMapper.h (1 line): - line 348: // TODO: we should also enable direct offsets for the Rhs case. cpp/eigen/Eigen/src/Core/IO.h (1 line): - line 60: // TODO check if rowPrefix, rowSuffix or rowSeparator contains a newline tf/edgeml_tf/trainer/emirnnTrainer.py (1 line): - line 90: # TODO: These statements are redundant after self.validInit call cpp/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorFFT.h (1 line): - line 24: * TODO: cpp/eigen/unsupported/Eigen/src/KroneckerProduct/KroneckerTensorProduct.h (1 line): - line 167: // TODO VectorXi is not necessarily big enough! cpp/eigen/Eigen/src/QR/ColPivHouseholderQR_LAPACKE.h (1 line): - line 80: /*m_det_pq = (number_of_transpositions%2) ? -1 : 1; // TODO: It's not needed now; fix upon availability in Eigen */ \ cpp/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorDeviceCuda.h (1 line): - line 322: // FIXME: Should be device and kernel specific. cpp/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorConvolution.h (1 line): - line 1067: // TODO(rmlarsen): FIXME: For now, this is just a copy of the CPU cost cpp/eigen/blas/Rank2Update.h (1 line): - line 48: //FIXME This should be handled outside. cpp/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixSquareRoot.h (1 line): - line 22: // TODO: This case (2-by-2 blocks with complex conjugate eigenvalues) is probably hidden somewhere cpp/eigen/Eigen/src/Core/CwiseUnaryView.h (1 line): - line 27: Flags = traits<_MatrixTypeNested>::Flags & (RowMajorBit | FlagsLvalueBit | DirectAccessBit), // FIXME DirectAccessBit should not be handled by expressions cpp/eigen/Eigen/src/Geometry/Scaling.h (1 line): - line 71: // TODO returns an expression cpp/eigen/Eigen/src/Core/functors/AssignmentFunctors.h (1 line): - line 148: // FIXME is there some kind of cuda::swap? cpp/eigen/Eigen/src/Core/Dot.h (1 line): - line 25: | // FIXME | instead of || to please GCC 4.4.0 stupid warning "suggest parentheses around &&". cpp/eigen/Eigen/src/QR/HouseholderQR.h (1 line): - line 57: // FIXME should be int cpp/eigen/unsupported/Eigen/src/SparseExtra/DynamicSparseMatrix.h (1 line): - line 63: // FIXME: why are these operator already alvailable ??? cpp/eigen/Eigen/src/Core/Ref.h (1 line): - line 44: AlignmentMatch = (int(traits::Alignment)==int(Unaligned)) || (DerivedAlignment >= int(Alignment)), // FIXME the first condition is not very clear, it should be replaced by the required alignment cpp/eigen/unsupported/Eigen/src/MatrixFunctions/MatrixFunction.h (1 line): - line 66: // TODO: Use that A is upper triangular cpp/eigen/Eigen/src/Jacobi/Jacobi.h (1 line): - line 396: (EIGEN_PLAIN_ENUM_MIN(evaluator::Alignment, evaluator::Alignment)>0)) // FIXME should be compared to the required alignment cpp/eigen/Eigen/src/SparseCore/SparseView.h (1 line): - line 65: // TODO find a way to unify the two following variants cpp/eigen/unsupported/Eigen/src/Skyline/SkylineInplaceLU.h (1 line): - line 339: //TODO : introduce --operator cpp/eigen/Eigen/src/SparseLU/SparseLU_SupernodalMatrix.h (1 line): - line 58: * FIXME This class will be modified such that it can be use in the course cpp/eigen/Eigen/src/Core/Transpositions.h (1 line): - line 86: // FIXME: do we want such methods ? cpp/eigen/unsupported/Eigen/src/SparseExtra/MatrixMarketIterator.h (1 line): - line 196: if (m_curs_id->d_type == DT_DIR) continue; //FIXME This may not be available on non BSD systems applications/GesturePod/training/serialDataCollection/src/lib/MPU6050.cpp (1 line): - line 1720: // TODO: magnetometer integration cpp/eigen/Eigen/src/Eigenvalues/RealSchur.h (1 line): - line 344: // FIXME to be efficient the following would requires a triangular reduxion code cpp/eigen/unsupported/Eigen/src/NumericalDiff/NumericalDiff.h (1 line): - line 75: // TODO : we should do this only if the size is not already known cpp/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorRandom.h (1 line): - line 59: // TODO: Unify with the implementation in the non blocking thread pool. cpp/eigen/Eigen/src/SparseCore/SparseDenseProduct.h (1 line): - line 74: // FIXME: what is the purpose of the following specialization? Is it for the BlockedSparse format? cpp/eigen/Eigen/src/Core/GenericPacketMath.h (1 line): - line 354: // FIXME: uncomment the following in case we drop the internal imag and real functions. cpp/eigen/unsupported/Eigen/CXX11/src/Tensor/TensorAssign.h (1 line): - line 117: // TODO: use left impl instead if right impl dimensions are known at compile time. cpp/eigen/unsupported/Eigen/src/LevenbergMarquardt/LMpar.h (1 line): - line 64: //FIXME There is no solve in place for sparse triangularView cpp/src/Bonsai/BonsaiHyperParams.cpp (1 line): - line 63: // TODO: populate mkdir cpp/eigen/Eigen/src/Eigenvalues/MatrixBaseEigenvalues.h (1 line): - line 126: // FIXME if it is really guaranteed that the eigenvalues are already sorted, cpp/eigen/blas/BandTriangularSolver.h (1 line): - line 17: * TODO: extend it to matrices for x abd b */ tools/SeeDot/seedot/compiler/TF/ProcessTFGraph.py (1 line): - line 143: # TODO for training : Below is not correct. cpp/eigen/Eigen/src/Core/MatrixBase.h (1 line): - line 310: // TODO forceAlignedAccess is temporarily disabled cpp/eigen/Eigen/src/Core/products/TriangularSolverMatrix.h (1 line): - line 118: // TODO write a small kernel handling this (can be shared with trsv) cpp/src/ProtoNN/cluster.cpp (1 line): - line 65: // TODO: mkl_?omatcopy doesn't seem to work. cpp/eigen/unsupported/Eigen/src/NonLinearOptimization/r1mpyq.h (1 line): - line 5: // TODO : move this to GivensQR once there's such a thing in Eigen applications/GesturePod/onMKR1000/src/lib/MPU6050.cpp (1 line): - line 1770: // TODO: magnetometer integration pytorch/edgeml_pytorch/trainer/fastTrainer.py (1 line): - line 67: TODO: Make this a separate class if needed cpp/eigen/Eigen/src/Core/Diagonal.h (1 line): - line 55: Flags = (unsigned int)_MatrixTypeNested::Flags & (RowMajorBit | MaskLvalueBit | DirectAccessBit) & ~RowMajorBit, // FIXME DirectAccessBit should not be handled by expressions cpp/eigen/unsupported/Eigen/src/IterativeSolvers/Scaling.h (1 line): - line 69: * FIXME This algorithm will be modified such that the diagonal elements are permuted on the diagonal. cpp/eigen/Eigen/src/Core/arch/AltiVec/MathFunctions.h (1 line): - line 235: return vec_cts(x, 0); // TODO: check clang version. applications/GesturePod/training/serialDataCollection/src/lib/MPU6050.h (1 line): - line 309: // TODO: figure out what these actually do cpp/eigen/Eigen/src/Core/util/StaticAssert.h (1 line): - line 212: // TODO this check could be enabled for internal debugging only cpp/eigen/Eigen/src/plugins/ArrayCwiseBinaryOps.h (1 line): - line 107: // TODO code generating macros could be moved to Macros.h and could include generation of documentation pytorch/edgeml_pytorch/graph/rnn.py (1 line): - line 42: raise RuntimeError("FIXME: Traced RNNs don't support backward") cpp/eigen/Eigen/src/SparseCore/SparseCwiseBinaryOp.h (1 line): - line 32: // TODO to ease compiler job, we could specialize product/quotient with a scalar