transformers/llm/engine/src/httplib.h (9 lines): - line 3162: // TODO: 'Accept-Encoding' has br, not br;q=0 - line 3168: // TODO: 'Accept-Encoding' has gzip, not gzip;q=0 - line 4015: // TODO: support 'filename*' - line 4436: // TODO: check if Content-Length is set - line 6044: // TODO: Increase FD_SETSIZE statically (libzmq), dynamically (MySQL). - line 6377: // TODO: refactoring - line 6575: // TODO: Brotli support - line 6727: // TODO: Brotli support - line 6891: // TODO this requires a not-entirely-obvious chain of calls to be correct source/core/Pipeline.cpp (5 lines): - line 19: // TODO: Find better way for debug - line 24: // FIXME: Move in Backend - line 539: // FIXME: Remove onMaskOpReady in future - line 891: // TODO: Recompute release mask and set mGeometryNeedRelease = true - line 928: // TODO: OCL and Vulkan don't support input vary tools/train/source/grad/LoopGrad.cpp (5 lines): - line 66: // TODO: Optimize fuse option - line 112: // TODO: Optimize fuse option - line 181: // TODO: Support MatMul - line 234: // TODO: Optimize fuse option - line 272: // TODO: Optimize fuse option source/backend/opencl/execution/cl/reduction.cl (4 lines): - line 1: // TODO: use INIT_SCALAR_VALUE, OPERATOR, FINAL_OPERATOR_ON_CHANNEL macro abstract and simplify code - line 2: // TODO: support reduce dims include batch - line 3: // TODO: support keep_dim=False - line 4: // TODO: fix channel reduce result re-pack problem source/backend/opencl/execution/cl/reduction_buf_mnn_cl.cpp (4 lines): - line 5: "// TODO: use INIT_SCALAR_VALUE,OPERATOR,FINAL_OPERATOR_ON_CHANNEL macro abstract and simplify code\n" - line 6: "// TODO: support reduce dims include batch\n" - line 7: "// TODO: support keep_dim=False\n" - line 8: "// TODO: fix channel reduce result re-pack problem\n" source/geometry/GeometryComputerUtils.cpp (4 lines): - line 160: // TODO: Optimize - line 180: // TODO: If output is static and length larger than new size, don't clear mem - line 204: // FIXME: Find better way to may compability for old model - line 361: // TODO: Optimize source/math/Vec.hpp (4 lines): - line 655: return v1 + v2 * v3; // TODO: use fma instruction - line 658: return v1 - v2 * v3; // TODO: use fma instruction - line 793: return v1 + v2 * v3; // TODO: use fma instruction - line 796: return v1 - v2 * v3; // TODO: use fma instruction source/backend/opencl/execution/cl/reduction_mnn_cl.cpp (4 lines): - line 4: "// TODO: use INIT_SCALAR_VALUE,OPERATOR,FINAL_OPERATOR_ON_CHANNEL macro abstract and simplify code\n" - line 5: "// TODO: support reduce dims include batch\n" - line 6: "// TODO: support keep_dim=False\n" - line 7: "// TODO: fix channel reduce result re-pack problem\n" source/backend/opencl/execution/cl/reduction_buf.cl (4 lines): - line 1: // TODO: use INIT_SCALAR_VALUE, OPERATOR, FINAL_OPERATOR_ON_CHANNEL macro abstract and simplify code - line 2: // TODO: support reduce dims include batch - line 3: // TODO: support keep_dim=False - line 4: // TODO: fix channel reduce result re-pack problem pymnn/pip_package/MNN/numpy/__init__.py (3 lines): - line 642: # TODO: impl - line 874: # TODO: check inf - line 937: res.append(array([0])) # TODO: MNN not support empty Var source/core/Backend.hpp (3 lines): - line 338: // FIXME: Temply use to mask cache valid, in future will delete - line 343: // FIXME: Temply used, in future will refract - line 351: // TODO: Move to Backend source/backend/vulkan/image/execution/VulkanMatMul.cpp (3 lines): - line 167: // TODO: Copy to temp buffer - line 199: // TODO: Find better way - line 262: // TODO: Find better way source/backend/cpu/CPUBackend.cpp (3 lines): - line 591: // // TODO: just support EltwiseAdd - line 681: // TODO: rm this convert when merge diff datatyoe of op - line 798: // TODO: Merge _initCoreFunction MNNFunctionInit and cpuinfo_arm_init source/cv/SkNx_neon.h (3 lines): - line 453: // TODO as needed - line 567: // TODO as needed - line 618: // TODO as needed source/core/Session.cpp (3 lines): - line 276: // TODO: Separate Schedule and Malloc - line 374: // TODO: Support other debug info - line 477: // TODO: Currently only valid for Module api's onClone source/backend/cpu/CPUConvolution.cpp (3 lines): - line 161: // TODO: use different pack from float - line 165: // TODO: ConvInt8Winograd need in/out scale, which isn't exist in quantinfo when model construct by V3 API - line 203: // TODO: first alloc. express/module/PipelineModule.cpp (3 lines): - line 64: // TODO: Optimize the logic - line 508: // TODO: Don't need split segment - line 688: // TODO: Support subgraph source/backend/cuda/execution/plugin/FmhaCommon/fused_multi_head_attention/gemm/mma_from_smem.h (3 lines): - line 1557: static int const kElementsPerAccess = 2; // TODO: Why 2? - line 1780: // TODO: Optimize for each architecture - line 1919: // TODO: Optimize for each architecture source/shape/ShapeStridedSlice.cpp (2 lines): - line 260: // MNN_ASSERT(false); // TODO: should be the wrong case, but there is one in linfeng's faster - line 262: beginShape[i] = endShape[i]; // TODO: temp solution transformers/llm/export/gguf/constants.py (2 lines): - line 1660: # TODO: add GGMLFileType from ggml_ftype in ggml.h - line 1740: # TODO: need help with 64-bit types in Python tools/mnncompress/mnncompress/pytorch/LSQ_quantizer.py (2 lines): - line 706: # TODO: linear's bn or relu not supported - line 728: # TODO: mnn not support this relu6 yet source/backend/vulkan/image/backend/VulkanBackend.cpp (2 lines): - line 50: //TODO: Support other kind of dataType - line 59: //TODO: Support other kind of dataType backupcode/cpubackend/bf16/BF16Functions.cpp (2 lines): - line 837: gInstance->MNNReluWithSlopeChannel = MNNReluWithSlopeChannelBF16;// TODO: Optimize it - line 892: // TODO: raw cpu version of bf16 express/MathOp.cpp (2 lines): - line 107: // TODO: Remove Copy - line 836: //ruhuan:TODO: ReductionType_ASUM and ReductionType_SUMSQ source/backend/cuda/execution/plugin/FmhaCommon/FmhaV2CommonExecution.cu (2 lines): - line 64: // TODO : Split fused qkv [B, S, H, 3, D] --> [B, S, H, D] - line 75: // TODO: support arbitrary seq lengths source/core/Schedule.cpp (2 lines): - line 113: // FIXME: Support Auto determine - line 139: // TODO : Not Limited to opencl tools/converter/source/optimizer/onnxextra/OnnxConvolutionMerge.cpp (2 lines): - line 90: // TODO: Support outputshape - line 335: // TODO broacast tools/mnncompress/mnncompress/pytorch/utils.py (2 lines): - line 33: # TODO: linear's bn or relu not supported - line 55: # TODO: mnn not support this relu6 yet source/geometry/GeometryBatchMatMul.cpp (2 lines): - line 22: // TODO: Support broadcast case - line 36: // TODO: Support one-dimenstion matmul source/backend/cuda/execution/DeconvBaseKernel.cu (2 lines): - line 99: // TODO: use LCM of stride and dilation to avoid unnecessary loops - line 183: // TODO: use LCM of stride and dilation to avoid unnecessary loops source/backend/cpu/CPURaster.cpp (2 lines): - line 112: // TODO: optimize it - line 989: // TODO: Don't support fuse for matmul currently source/backend/vulkan/image/execution/VulkanRaster.cpp (2 lines): - line 81: // TODO: Find better way - line 128: // TODO: Optimize it pymnn/pip_package/MNN/expr/__init__.py (2 lines): - line 1786: # TODO: conv2d, conv2d_transpose, max_pool, avg_pool - line 3250: # TODO: detection_post_process source/backend/arm82/Arm82OptFunc.cpp (2 lines): - line 122: // TODO: Optimize it - line 160: // TODO: Optimize it source/backend/cpu/compute/CommonOptFunction.cpp (2 lines): - line 22: // TODO: Find better way to optimize it - line 3667: // FIXME: MNNPackTranspose and MNNUnpackTranspose is reverted source/backend/cuda/execution/FuseExecution.cu (2 lines): - line 68: #if 0 // TODO : Optimize raster - line 120: //TODO : when can do not pass these params source/backend/nnapi/execution/NNAPIRaster.cpp (2 lines): - line 174: // TODO: find the way to judge the case - line 185: // TODO: support strided_slice include/MNN/expr/NeuralNetWorkOp.hpp (2 lines): - line 79: // FIXME: move the api to Array Ops - line 82: // FIXME: move the api to Image Ops express/Expr.cpp (2 lines): - line 406: // TODO: Support set mask - line 424: // TODO: For multi-output expr, reduce dup compute source/backend/cpu/CPUInterp3D.cpp (2 lines): - line 42: //TODO: wtd interp3d - line 207: //TODO line buffer?? tools/converter/source/torch/torchOptimize.cpp (1 line): - line 301: // TODO: add more typeOps and propagateOps source/backend/cpu/x86_x64/AVX2Backend.cpp (1 line): - line 39: // TODO: Move to functions source/backend/cuda/execution/RasterExecution.cpp (1 line): - line 266: // TODO: Reduce logic for these code tools/mnncompress/mnncompress/tensorflow/helpers.py (1 line): - line 223: # TODO: MNN converter will turn matmul to conv2d, bias is fused, but bn relu is not, so bn relu is not fused here. source/backend/opengl/GLProgram.cpp (1 line): - line 65: /*TODO move GLASSERT to be log*/ source/backend/coreml/backend/CoreMLExecutor.mm (1 line): - line 205: // TODO: Can we mmap this instead of actual writing it to phone ? source/backend/opencl/execution/buffer/StrassenMatmulOpenCLComputor.cpp (1 line): - line 250: const float penalty = 30.0;//FIXME: Find beter way to set it source/backend/vulkan/image/execution/VulkanConvolutionImpl.cpp (1 line): - line 48: // TODO: Move to init buffer source/backend/cpu/x86_x64/FunctionDispatcher.cpp (1 line): - line 44: // TODO: Find better way tools/converter/source/common/convertToStaticModel.cpp (1 line): - line 361: // TODO: Remove inside constant op in future tools/cv/source/imgproc/filter.cpp (1 line): - line 434: MNN_ERROR("TODO: Laplacian ksize > 3"); source/backend/cuda/execution/LoopExecution.cu (1 line): - line 331: // TODO: support afterwards source/backend/tensorrt/backend/TRTBackend.cpp (1 line): - line 207: // FIXME: Compute input info source/core/OpCommonUtils.cpp (1 line): - line 289: // FIXME: Support dimensions = 1 source/backend/opencl/execution/cl/nearest.cl (1 line): - line 86: // TODO: out tools/mnncompress/mnncompress/pytorch/weight_quantizer.py (1 line): - line 86: # TODO: support asymmetric source/geometry/GeometryComputer.cpp (1 line): - line 160: // TODO: Opt this logic source/backend/coreml/execution/CoreMLRaster.cpp (1 line): - line 280: // TODO: Apple NPU will ANCE Error. source/backend/cpu/compute/DenseConvolutionTiledExecutor.cpp (1 line): - line 266: // TODO: Opt it tools/converter/source/common/ChannelPruneConvert.cpp (1 line): - line 19: // TODO: add more unsafe ops source/backend/cpu/CPUROIAlign.cpp (1 line): - line 211: // TODO: the grad is not align with mmcv's result, but i don't find the bug source/backend/cpu/CPURuntime.cpp (1 line): - line 649: /* TODO: parse to fix misreported architecture, similar to Android's cpufeatures */ source/shape/ShapeReshape.cpp (1 line): - line 138: // TODO: Reshape 0 is not allowed if the input element count is not source/backend/vulkan/component/VulkanPipeline.cpp (1 line): - line 349: // TODO: Set blend Info source/backend/cpu/CPUResizeCache.hpp (1 line): - line 9: // FIXME: Move outside source/backend/tensorrt/execution/TRTGather.cpp (1 line): - line 32: //hangxing TODO : only support axis == 0 now tools/converter/source/tflite/CustomTflite.cpp (1 line): - line 83: // TODO: Support group tools/train/source/optimizer/ParameterOptimizer.cpp (1 line): - line 15: // TODO: need Refract tools/train/source/nn/NN.cpp (1 line): - line 807: // TODO: add operator!= to VARP source/core/Interpreter.cpp (1 line): - line 367: // TODO Delete tensormap pymnn/pip_package/MNN/nn/__init__.py (1 line): - line 1: # TODO: avoid import everything from _mnncengine._nn for visable control source/backend/vulkan/buffer/execution/VulkanRaster.cpp (1 line): - line 86: // TODO: Find better way tools/converter/source/caffe/caffeConverter.cpp (1 line): - line 40: // TODO Support shape source/backend/cpu/compute/StrassenMatmulComputor.cpp (1 line): - line 276: const float penalty = core->penalty;//FIXME: Find beter way to set it tools/converter/source/torch/LayerNormTorch.cpp (1 line): - line 56: // TODO: convert norm_shape to axis source/shape/ShapeDepthToSpace.cpp (1 line): - line 23: // TODO: implement NC4HW4 source/core/TensorUtils.cpp (1 line): - line 565: // TODO: Support slice region to support fuse source/geometry/GeometryComputerUtils.hpp (1 line): - line 31: // TODO: Remove cpuRuntime parameter in future transformers/llm/engine/src/diskembedding.cpp (1 line): - line 47: // TODO: optimize dequant function source/backend/cpu/compute/CommonOptFunction.h (1 line): - line 81: // TODO: Swap the name for MNNUnpackTranspose and MNNPackTranspose tools/converter/source/onnx/onnxOpConverter.cpp (1 line): - line 509: // TODO: Avoid rebuild new subgraph source/backend/cpu/render/CPURasterAndInterpolate.cpp (1 line): - line 133: // TODO: Clip tools/converter/source/optimizer/onnxextra/OnnxBatchNormMerge.cpp (1 line): - line 73: // TODO check data length, then support broadcast mode source/backend/cpu/x86_x64/sse/ReorderFunctions.cpp (1 line): - line 63: // TODO: support sse source/backend/cpu/compute/ConvolutionTiledExecutor.cpp (1 line): - line 95: // FIXME: Set int8 and float's pack as diff source/cv/Matrix_CV.cpp (1 line): - line 206: // TODO: The persp/affine preconditions are in place to keep the mask consistent with source/backend/opencl/execution/buffer/AttentionBufExecution.cpp (1 line): - line 111: // TODO: need to ensure reserve info is sorted express/NeuralNetWorkOp.cpp (1 line): - line 2025: MNN_ERROR("backward of RoiAlign with max pool type is not supported currently, see TODO in CPUROIAlign.cpp\n"); tools/cpp/testModel.cpp (1 line): - line 151: // TODO: Find better way to memset zero tools/converter/source/onnx/ReduceOnnx.cpp (1 line): - line 55: DLOG(ERROR) << "TODO ==> " << type; transformers/llm/export/gguf/gguf_reader.py (1 line): - line 159: # TODO: add option to generate error on duplicate keys source/backend/opencl/execution/cl/nearest_mnn_cl.cpp (1 line): - line 67: " // TODO: out\n" tools/converter/source/torch/UnaryTorch.cpp (1 line): - line 102: // TODO: silu will impl as unary ? source/backend/cuda/execution/InterpExecution.cu (1 line): - line 85: /* FIXME : TODO */ source/backend/metal/MetalAttention.mm (1 line): - line 179: // TODO: need to ensure reserve info is sorted source/backend/vulkan/component/VulkanImage.cpp (1 line): - line 30: // FIXME: find better method tools/converter/source/tflite/liteConverter.cpp (1 line): - line 65: DCHECK(false) << "TODO support other data type!"; tools/converter/source/tensorflow/ResizeBilinearTf.cpp (1 line): - line 63: // TODO defalut source/backend/vulkan/component/VulkanTarget.hpp (1 line): - line 42: // TODO: Support multi sample source/backend/cuda/execution/Raster.cu (1 line): - line 565: // TODO: Support FP16 source/backend/cpu/KVCacheManager.cpp (1 line): - line 484: //TODO: Support Quant tools/converter/source/torch/PoolTorch.cpp (1 line): - line 57: // TODO: support adaptive pooling transformers/llm/engine/src/llm.cpp (1 line): - line 247: // FIXME: Currently OpenCL Don't support KVMeta source/backend/cpu/CPUHistogram.cpp (1 line): - line 50: // TODO: Support multi thread source/backend/coreml/backend/CoreMLBackend.hpp (1 line): - line 67: // TODO: using memory pool instead static factory source/backend/cpu/CPUTFQuantizedConv2D.cpp (1 line): - line 370: //TODO Optimize it tools/converter/source/optimizer/PostConverter.cpp (1 line): - line 408: // TODO: Support Loop from onnx source/backend/tensorrt/backend/TRTType.hpp (1 line): - line 61: // HANGXING TODO : not thread-safe. source/geometry/ConvertUtils.cpp (1 line): - line 31: // TODO for multi input can find better way to compute new slice source/backend/cpu/CPUMatMul.cpp (1 line): - line 209: // TODO: Speed up it source/backend/opengl/GLConcat.cpp (1 line): - line 81: // TODO Support NHWC format source/shape/ShapeNonMaxSuppressionV2.cpp (1 line): - line 39: // TODO ramdom output shape only for fast rcnn source/geometry/GeometryConv2D.cpp (1 line): - line 145: // FIXME: Remove this logical in future source/cv/ImageProcess.cpp (1 line): - line 58: // TODO Get dstTensor' backend source/shape/ShapeSpaceToDepth.cpp (1 line): - line 23: // TODO: implement NC4HW4 tools/mnncompress/mnncompress/tensorflow/OAQ_quantizer.py (1 line): - line 27: _Quant_Support_Ops = ['Conv2D', 'DepthwiseConv2dNative'] # TODO: support 'MatMul' source/backend/metal/MetalBackend.mm (1 line): - line 311: //TODO: set magic number source/geometry/ConvertUtils.hpp (1 line): - line 182: //FIXME: Not support now source/backend/cpu/compute/ConvInt8Winograd.cpp (1 line): - line 145: // TODO: support alphaY != alphaX source/backend/cpu/CPUSoftmax.cpp (1 line): - line 201: //TODO: Fix x86 compute error and use the same function tools/converter/source/optimizer/merge/TensorConverterMerge.cpp (1 line): - line 264: // SUPPORT(OpType_Concat); // TODO: modify axis when merge source/backend/cuda/execution/plugin/FmhaCommon/fused_multi_head_attention/gemm_kernel_utils.h (1 line): - line 146: // TODO: Maybe we could rely on Cutlass's DefaultGemm templates tools/train/source/exec/extractForInfer.cpp (1 line): - line 263: // TODO: Support Extern Weight/Bias source/backend/opengl/GLConvolution.cpp (1 line): - line 221: //TODO: bugfix source/backend/cuda/core/CUDABackend.cpp (1 line): - line 50: // TODO: Search CUDA Device info and use best one source/backend/cpu/bf16/BF16Functions.cpp (1 line): - line 357: // TODO: raw cpu version of bf16 source/backend/metal/MetalFuse.mm (1 line): - line 202: // TODO: Fuse All Const Buffer to One buffer source/backend/vulkan/runtime/VulkanRuntime.cpp (1 line): - line 179: // FIXME: Use config source/backend/coreml/backend/CoreMLBackend.cpp (1 line): - line 108: // TODO: Fix bug for int8 with nc4hw4 tools/converter/source/optimizer/onnxextra/OnnxPooling.cpp (1 line): - line 134: // TODO Support Asymmetrical pads source/backend/cpu/compute/ConvolutionFloatFactory.cpp (1 line): - line 158: // TODO: Use Geometry to split