# ============================================================================= # MNN.podspec # Auto-generated by CMake, DO NOT EDIT! # Command: cmake .. -DMNN_GENERATE_PODSPEC=ON # ============================================================================= Pod::Spec.new do |s| s.name = "MNN" s.version = "3.5.0" s.summary = "MNN - A lightweight deep neural network inference framework" s.description = <<-DESC MNN is a blazing fast, lightweight deep neural network inference engine. Auto-generated from CMake configuration. DESC s.homepage = "https://github.com/alibaba/MNN" s.license = { :type => 'Apache License, Version 2.0', :file => 'LICENSE' } s.author = { "MNN" => "mnn@alibaba-inc.com" } s.platform = :ios s.ios.deployment_target = '11.0' # .mm files require ARC s.requires_arc = [ 'source/backend/metal/MNNMetalContext.mm', 'source/backend/metal/MetalArgMax.mm', 'source/backend/metal/MetalAttention.mm', 'source/backend/metal/MetalBackend.mm', 'source/backend/metal/MetalBinary.mm', 'source/backend/metal/MetalCast.mm', 'source/backend/metal/MetalConvolution.mm', 'source/backend/metal/MetalConvolution1x1.mm', 'source/backend/metal/MetalConvolutionCommon.mm', 'source/backend/metal/MetalConvolutionDepthwise.mm', 'source/backend/metal/MetalConvolutionWinograd.mm', 'source/backend/metal/MetalDeconvolution.mm', 'source/backend/metal/MetalEltwise.mm', 'source/backend/metal/MetalExecution.mm', 'source/backend/metal/MetalFuse.mm', 'source/backend/metal/MetalGridSample.mm', 'source/backend/metal/MetalInterp.mm', 'source/backend/metal/MetalKVCacheManager.mm', 'source/backend/metal/MetalLayerNorm.mm', 'source/backend/metal/MetalLinearAttention.mm', 'source/backend/metal/MetalLoop.mm', 'source/backend/metal/MetalMatMul.mm', 'source/backend/metal/MetalOPRegister.mm', 'source/backend/metal/MetalPReLU.mm', 'source/backend/metal/MetalPooling.mm', 'source/backend/metal/MetalROIPooling.mm', 'source/backend/metal/MetalRaster.mm', 'source/backend/metal/MetalReLU6.mm', 'source/backend/metal/MetalReduction.mm', 'source/backend/metal/MetalScale.mm', 'source/backend/metal/MetalSoftmax.mm', 'source/backend/metal/MetalTopKV2.mm', 'source/backend/metal/MetalUnary.mm' ] s.source = { :git => "https://github.com/alibaba/MNN.git", :tag => "#{s.version}" } s.frameworks = 'Metal', 'Accelerate', 'CoreVideo', 'Foundation' s.weak_frameworks = 'MetalPerformanceShaders' s.libraries = 'c++' # ============================================================================= # Source files - Auto-extracted from CMake targets # Total 656 files # ============================================================================= s.source_files = [ # Public headers 'include/MNN/*.{h,hpp}', 'include/MNN/expr/*.{h,hpp}', 'schema/current/*.{h}', '3rd_party/flatbuffers/include/flatbuffers/*.{h}', '3rd_party/half/*.{hpp}', # Source files extracted from CMake targets 'source/core/AutoStorage.h', 'source/core/AutoTime.cpp', 'source/core/Backend.cpp', 'source/core/Backend.hpp', 'source/core/BufferAllocator.cpp', 'source/core/BufferAllocator.hpp', 'source/core/Command.hpp', 'source/core/CommonCompute.hpp', 'source/core/Concurrency.h', 'source/core/ConvolutionCommon.cpp', 'source/core/ConvolutionCommon.hpp', 'source/core/Execution.cpp', 'source/core/Execution.hpp', 'source/core/FileLoader.cpp', 'source/core/FileLoader.hpp', 'source/core/IDSTEncoder.hpp', 'source/core/Interpreter.cpp', 'source/core/KVCacheManager.cpp', 'source/core/KVCacheManager.hpp', 'source/core/KVMeta.hpp', 'source/core/MNNFileUtils.cpp', 'source/core/MNNFileUtils.h', 'source/core/MNNMemoryUtils.cpp', 'source/core/MNNMemoryUtils.h', 'source/core/Macro.h', 'source/core/MemoryFormater.h', 'source/core/NonCopyable.hpp', 'source/core/OpCommonUtils.cpp', 'source/core/OpCommonUtils.hpp', 'source/core/Pipeline.cpp', 'source/core/Pipeline.hpp', 'source/core/RuntimeFactory.cpp', 'source/core/RuntimeFactory.hpp', 'source/core/Schedule.cpp', 'source/core/Schedule.hpp', 'source/core/Session.cpp', 'source/core/Session.hpp', 'source/core/SimdHeader.h', 'source/core/Tensor.cpp', 'source/core/TensorUtils.cpp', 'source/core/TensorUtils.hpp', 'source/core/WinogradInt8Attr.hpp', 'source/core/WorkerThread.cpp', 'source/core/WorkerThread.hpp', 'source/core/WrapExecution.cpp', 'source/core/WrapExecution.hpp', 'source/cv/ImageProcess.cpp', 'source/cv/ImageProcessUtils.cpp', 'source/cv/ImageProcessUtils.hpp', 'source/cv/Matrix_CV.cpp', 'source/cv/SkNx.h', 'source/cv/SkNx_neon.h', 'source/math/Matrix.cpp', 'source/math/Matrix.hpp', 'source/math/Vec.hpp', 'source/math/WingoradGenerater.cpp', 'source/math/WingoradGenerater.hpp', 'source/geometry/ConvertUtils.cpp', 'source/geometry/ConvertUtils.hpp', 'source/geometry/GeometryBatchMatMul.cpp', 'source/geometry/GeometryBinary.cpp', 'source/geometry/GeometryBroadcastTo.cpp', 'source/geometry/GeometryComputer.cpp', 'source/geometry/GeometryComputer.hpp', 'source/geometry/GeometryComputerUtils.cpp', 'source/geometry/GeometryComputerUtils.hpp', 'source/geometry/GeometryConcat.cpp', 'source/geometry/GeometryConv2D.cpp', 'source/geometry/GeometryConv2DBackPropFilter.cpp', 'source/geometry/GeometryConv3D.cpp', 'source/geometry/GeometryConvUtils.cpp', 'source/geometry/GeometryConvUtils.hpp', 'source/geometry/GeometryConvert.cpp', 'source/geometry/GeometryCosineSimilarity.cpp', 'source/geometry/GeometryCrop.cpp', 'source/geometry/GeometryCumSum.cpp', 'source/geometry/GeometryDepthToSpace.cpp', 'source/geometry/GeometryDet.cpp', 'source/geometry/GeometryDilation2D.cpp', 'source/geometry/GeometryELU.cpp', 'source/geometry/GeometryFill.cpp', 'source/geometry/GeometryGather.cpp', 'source/geometry/GeometryImageOp.cpp', 'source/geometry/GeometryInnerProduct.cpp', 'source/geometry/GeometryLRN.cpp', 'source/geometry/GeometryLSTM.cpp', 'source/geometry/GeometryLayernorm.cpp', 'source/geometry/GeometryOPRegister.cpp', 'source/geometry/GeometryPermute.cpp', 'source/geometry/GeometryPoolGrad.cpp', 'source/geometry/GeometryPooling3D.cpp', 'source/geometry/GeometryReduce.cpp', 'source/geometry/GeometryReshape.cpp', 'source/geometry/GeometryReverseSequence.cpp', 'source/geometry/GeometryScatter.cpp', 'source/geometry/GeometrySelect.cpp', 'source/geometry/GeometryShape.cpp', 'source/geometry/GeometrySlice.cpp', 'source/geometry/GeometrySpaceToBatchND.cpp', 'source/geometry/GeometrySpatialProduct.cpp', 'source/geometry/GeometryStridedSlice.cpp', 'source/geometry/GeometryTensorArray.cpp', 'source/geometry/GeometryThreshold.cpp', 'source/geometry/GeometryTile.cpp', 'source/geometry/GeometryTopK.cpp', 'source/geometry/GeometryUnary.cpp', 'source/shape/ShapeArgMax.cpp', 'source/shape/ShapeAttention.cpp', 'source/shape/ShapeBatchToSpaceND.cpp', 'source/shape/ShapeBinaryOp.cpp', 'source/shape/ShapeBroadcastTo.cpp', 'source/shape/ShapeCast.cpp', 'source/shape/ShapeConcat.cpp', 'source/shape/ShapeConvTranspose3D.cpp', 'source/shape/ShapeConvolution.cpp', 'source/shape/ShapeConvolution3D.cpp', 'source/shape/ShapeCosineSimilarity.cpp', 'source/shape/ShapeCrop.cpp', 'source/shape/ShapeCropAndResize.cpp', 'source/shape/ShapeDeconvolution.cpp', 'source/shape/ShapeDepthToSpace.cpp', 'source/shape/ShapeDequantize.cpp', 'source/shape/ShapeDet.cpp', 'source/shape/ShapeDetectionOutput.cpp', 'source/shape/ShapeDetectionPostProcess.cpp', 'source/shape/ShapeDynamicQuant.cpp', 'source/shape/ShapeExpandDims.cpp', 'source/shape/ShapeFill.cpp', 'source/shape/ShapeGatherND.cpp', 'source/shape/ShapeGatherV2.cpp', 'source/shape/ShapeGridSample.cpp', 'source/shape/ShapeHistogram.cpp', 'source/shape/ShapeInnerProduct.cpp', 'source/shape/ShapeInterp.cpp', 'source/shape/ShapeLSTM.cpp', 'source/shape/ShapeLinSpace.cpp', 'source/shape/ShapeMatMul.cpp', 'source/shape/ShapeMoments.cpp', 'source/shape/ShapeNonMaxSuppressionV2.cpp', 'source/shape/ShapeOneHot.cpp', 'source/shape/ShapePack.cpp', 'source/shape/ShapePadding.cpp', 'source/shape/ShapePermute.cpp', 'source/shape/ShapePlugin.cpp', 'source/shape/ShapePool.cpp', 'source/shape/ShapePool3D.cpp', 'source/shape/ShapePriorbox.cpp', 'source/shape/ShapeProposal.cpp', 'source/shape/ShapeQuantizedAvgPool.cpp', 'source/shape/ShapeQuantizedMaxPool.cpp', 'source/shape/ShapeRNNSequenceGRU.cpp', 'source/shape/ShapeROIAlign.cpp', 'source/shape/ShapeROIPooling.cpp', 'source/shape/ShapeRandomUniform.cpp', 'source/shape/ShapeRange.cpp', 'source/shape/ShapeReduction.cpp', 'source/shape/ShapeRegister.cpp', 'source/shape/ShapeReshape.cpp', 'source/shape/ShapeResize.cpp', 'source/shape/ShapeScatterNd.cpp', 'source/shape/ShapeSegmentMean.cpp', 'source/shape/ShapeSelect.cpp', 'source/shape/ShapeSetDiff1D.cpp', 'source/shape/ShapeShape.cpp', 'source/shape/ShapeSize.cpp', 'source/shape/ShapeSlice.cpp', 'source/shape/ShapeSliceTf.cpp', 'source/shape/ShapeSpaceToBatchND.cpp', 'source/shape/ShapeSpaceToDepth.cpp', 'source/shape/ShapeSplitGelu.cpp', 'source/shape/ShapeSqueeze.cpp', 'source/shape/ShapeStft.cpp', 'source/shape/ShapeStridedSlice.cpp', 'source/shape/ShapeSvd.cpp', 'source/shape/ShapeTensorArray.cpp', 'source/shape/ShapeTensorConvert.cpp', 'source/shape/ShapeTile.cpp', 'source/shape/ShapeTopKV2.cpp', 'source/shape/ShapeTranspose.cpp', 'source/shape/ShapeUnique.cpp', 'source/shape/ShapeUnpack.cpp', 'source/shape/ShapeUnravelIndex.cpp', 'source/shape/ShapeWhere.cpp', 'source/shape/SizeComputer.cpp', 'source/shape/SizeComputer.hpp', 'source/shape/render/ShapeRasterAndInterpolate.cpp', 'source/utils/InitNet.cpp', 'source/utils/InitNet.hpp', 'source/utils/JNIHelper.cpp', 'source/utils/JNIHelper.hpp', 'source/backend/cpu/BinaryUtils.hpp', 'source/backend/cpu/CPUArgMax.cpp', 'source/backend/cpu/CPUArgMax.hpp', 'source/backend/cpu/CPUAttention.cpp', 'source/backend/cpu/CPUAttention.hpp', 'source/backend/cpu/CPUBackend.cpp', 'source/backend/cpu/CPUBackend.hpp', 'source/backend/cpu/CPUBinary.cpp', 'source/backend/cpu/CPUBinary.hpp', 'source/backend/cpu/CPUBinaryInt8.cpp', 'source/backend/cpu/CPUBinaryInt8.hpp', 'source/backend/cpu/CPUCast.cpp', 'source/backend/cpu/CPUCast.hpp', 'source/backend/cpu/CPUConvolution.cpp', 'source/backend/cpu/CPUConvolution.hpp', 'source/backend/cpu/CPUConvolutionDepthwise.cpp', 'source/backend/cpu/CPUConvolutionDepthwise.hpp', 'source/backend/cpu/CPUCropAndResize.cpp', 'source/backend/cpu/CPUCropAndResize.hpp', 'source/backend/cpu/CPUDeconvolution.cpp', 'source/backend/cpu/CPUDeconvolution.hpp', 'source/backend/cpu/CPUDeconvolutionDepthwise.cpp', 'source/backend/cpu/CPUDeconvolutionDepthwise.hpp', 'source/backend/cpu/CPUDepthwiseConvInt8.cpp', 'source/backend/cpu/CPUDepthwiseConvInt8.hpp', 'source/backend/cpu/CPUDequantize.cpp', 'source/backend/cpu/CPUDequantize.hpp', 'source/backend/cpu/CPUDet.cpp', 'source/backend/cpu/CPUDet.hpp', 'source/backend/cpu/CPUDetectionOutput.cpp', 'source/backend/cpu/CPUDetectionOutput.hpp', 'source/backend/cpu/CPUDetectionPostProcess.cpp', 'source/backend/cpu/CPUDetectionPostProcess.hpp', 'source/backend/cpu/CPUDynamicQuant.cpp', 'source/backend/cpu/CPUDynamicQuant.hpp', 'source/backend/cpu/CPUEltwise.cpp', 'source/backend/cpu/CPUEltwise.hpp', 'source/backend/cpu/CPUEltwiseInt8.cpp', 'source/backend/cpu/CPUEltwiseInt8.hpp', 'source/backend/cpu/CPUExternalConst.cpp', 'source/backend/cpu/CPUFixedPoint.hpp', 'source/backend/cpu/CPUFloatToInt8.cpp', 'source/backend/cpu/CPUFloatToInt8.hpp', 'source/backend/cpu/CPUGridSample.cpp', 'source/backend/cpu/CPUGridSample.hpp', 'source/backend/cpu/CPUHistogram.cpp', 'source/backend/cpu/CPUHistogram.hpp', 'source/backend/cpu/CPUImageProcess.cpp', 'source/backend/cpu/CPUImageProcess.hpp', 'source/backend/cpu/CPUInstanceNorm.cpp', 'source/backend/cpu/CPUInstanceNorm.hpp', 'source/backend/cpu/CPUInt8ToFloat.cpp', 'source/backend/cpu/CPUInt8ToFloat.hpp', 'source/backend/cpu/CPUInterp.cpp', 'source/backend/cpu/CPUInterp.hpp', 'source/backend/cpu/CPUInterp3D.cpp', 'source/backend/cpu/CPUInterp3D.hpp', 'source/backend/cpu/CPUKVCacheManager.cpp', 'source/backend/cpu/CPUKVCacheManager.hpp', 'source/backend/cpu/CPULayerNorm.cpp', 'source/backend/cpu/CPULayerNorm.hpp', 'source/backend/cpu/CPULinSpace.cpp', 'source/backend/cpu/CPULinSpace.hpp', 'source/backend/cpu/CPULinearAttention.cpp', 'source/backend/cpu/CPULinearAttention.hpp', 'source/backend/cpu/CPUMatMul.cpp', 'source/backend/cpu/CPUMatMul.hpp', 'source/backend/cpu/CPUMatrixBandPart.cpp', 'source/backend/cpu/CPUMatrixBandPart.hpp', 'source/backend/cpu/CPUMoments.cpp', 'source/backend/cpu/CPUMoments.hpp', 'source/backend/cpu/CPUNonMaxSuppressionV2.cpp', 'source/backend/cpu/CPUNonMaxSuppressionV2.hpp', 'source/backend/cpu/CPUOPRegister.cpp', 'source/backend/cpu/CPUOneHot.cpp', 'source/backend/cpu/CPUOneHot.hpp', 'source/backend/cpu/CPUPlugin.cpp', 'source/backend/cpu/CPUPool.cpp', 'source/backend/cpu/CPUPool.hpp', 'source/backend/cpu/CPUPoolInt8.cpp', 'source/backend/cpu/CPUPoolInt8.hpp', 'source/backend/cpu/CPUProposal.cpp', 'source/backend/cpu/CPUProposal.hpp', 'source/backend/cpu/CPUQuanConvolutionDepthwise.cpp', 'source/backend/cpu/CPUQuanConvolutionDepthwise.hpp', 'source/backend/cpu/CPUQuantizationUtils.hpp', 'source/backend/cpu/CPUQuantizedAdd.cpp', 'source/backend/cpu/CPUQuantizedAdd.hpp', 'source/backend/cpu/CPUQuantizedAvgPool.cpp', 'source/backend/cpu/CPUQuantizedAvgPool.hpp', 'source/backend/cpu/CPUQuantizedLogistic.cpp', 'source/backend/cpu/CPUQuantizedLogistic.hpp', 'source/backend/cpu/CPUQuantizedMaxPool.cpp', 'source/backend/cpu/CPUQuantizedMaxPool.hpp', 'source/backend/cpu/CPUQuantizedSoftmax.cpp', 'source/backend/cpu/CPUQuantizedSoftmax.hpp', 'source/backend/cpu/CPURNNSequenceGRU.cpp', 'source/backend/cpu/CPURNNSequenceGRU.hpp', 'source/backend/cpu/CPUROIAlign.cpp', 'source/backend/cpu/CPUROIAlign.hpp', 'source/backend/cpu/CPUROIPooling.cpp', 'source/backend/cpu/CPUROIPooling.hpp', 'source/backend/cpu/CPURandomUniform.cpp', 'source/backend/cpu/CPURandomUniform.hpp', 'source/backend/cpu/CPURange.cpp', 'source/backend/cpu/CPURange.hpp', 'source/backend/cpu/CPURaster.cpp', 'source/backend/cpu/CPURaster.hpp', 'source/backend/cpu/CPUReduction.cpp', 'source/backend/cpu/CPUReduction.hpp', 'source/backend/cpu/CPURelu.cpp', 'source/backend/cpu/CPURelu.hpp', 'source/backend/cpu/CPUResize.cpp', 'source/backend/cpu/CPUResize.hpp', 'source/backend/cpu/CPUResizeCache.cpp', 'source/backend/cpu/CPUResizeCache.hpp', 'source/backend/cpu/CPURuntime.cpp', 'source/backend/cpu/CPURuntime.hpp', 'source/backend/cpu/CPUScale.cpp', 'source/backend/cpu/CPUScale.hpp', 'source/backend/cpu/CPUScaleInt8.cpp', 'source/backend/cpu/CPUScaleInt8.hpp', 'source/backend/cpu/CPUSegmentMean.cpp', 'source/backend/cpu/CPUSelect.cpp', 'source/backend/cpu/CPUSelect.hpp', 'source/backend/cpu/CPUSetDiff1D.cpp', 'source/backend/cpu/CPUSetDiff1D.hpp', 'source/backend/cpu/CPUSoftmax.cpp', 'source/backend/cpu/CPUSoftmax.hpp', 'source/backend/cpu/CPUStft.cpp', 'source/backend/cpu/CPUStft.hpp', 'source/backend/cpu/CPUSvd.cpp', 'source/backend/cpu/CPUSvd.hpp', 'source/backend/cpu/CPUTFQuantizedConv2D.cpp', 'source/backend/cpu/CPUTFQuantizedConv2D.hpp', 'source/backend/cpu/CPUTensorConvert.cpp', 'source/backend/cpu/CPUTensorConvert.hpp', 'source/backend/cpu/CPUTopKV2.cpp', 'source/backend/cpu/CPUTopKV2.hpp', 'source/backend/cpu/CPUUnary.cpp', 'source/backend/cpu/CPUUnary.hpp', 'source/backend/cpu/CPUUnique.cpp', 'source/backend/cpu/CPUUnique.hpp', 'source/backend/cpu/CPUUnravelIndex.cpp', 'source/backend/cpu/CPUUnravelIndex.hpp', 'source/backend/cpu/CPUWhere.cpp', 'source/backend/cpu/CPUWhere.hpp', 'source/backend/cpu/GridSampler.hpp', 'source/backend/cpu/OneDNNConvInt8.cpp', 'source/backend/cpu/OneDNNConvInt8.hpp', 'source/backend/cpu/OneDNNConvolution.cpp', 'source/backend/cpu/OneDNNConvolution.hpp', 'source/backend/cpu/ThreadPool.cpp', 'source/backend/cpu/ThreadPool.hpp', 'source/backend/cpu/UnaryUtils.hpp', 'source/backend/cpu/compute/CommonOptFunction.cpp', 'source/backend/cpu/compute/CommonOptFunction.h', 'source/backend/cpu/compute/ConvInt8TiledExecutor.cpp', 'source/backend/cpu/compute/ConvInt8TiledExecutor.hpp', 'source/backend/cpu/compute/ConvInt8Winograd.cpp', 'source/backend/cpu/compute/ConvInt8Winograd.hpp', 'source/backend/cpu/compute/ConvOpt.cpp', 'source/backend/cpu/compute/ConvOpt.h', 'source/backend/cpu/compute/Convolution1x1Strassen.cpp', 'source/backend/cpu/compute/Convolution1x1Strassen.hpp', 'source/backend/cpu/compute/ConvolutionFloatFactory.cpp', 'source/backend/cpu/compute/ConvolutionFloatFactory.h', 'source/backend/cpu/compute/ConvolutionGroup.cpp', 'source/backend/cpu/compute/ConvolutionGroup.hpp', 'source/backend/cpu/compute/ConvolutionIntFactory.cpp', 'source/backend/cpu/compute/ConvolutionIntFactory.hpp', 'source/backend/cpu/compute/ConvolutionPackFreeWinograd.cpp', 'source/backend/cpu/compute/ConvolutionPackFreeWinograd.hpp', 'source/backend/cpu/compute/ConvolutionPackWinograd.cpp', 'source/backend/cpu/compute/ConvolutionPackWinograd.hpp', 'source/backend/cpu/compute/ConvolutionTiledExecutor.cpp', 'source/backend/cpu/compute/ConvolutionTiledExecutor.hpp', 'source/backend/cpu/compute/ConvolutionWinogradBridge.cpp', 'source/backend/cpu/compute/ConvolutionWinogradBridge.hpp', 'source/backend/cpu/compute/ConvolutionWinogradImpl.cpp', 'source/backend/cpu/compute/ConvolutionWinogradImpl.hpp', 'source/backend/cpu/compute/DenseConvolutionTiledExecutor.cpp', 'source/backend/cpu/compute/DenseConvolutionTiledExecutor.hpp', 'source/backend/cpu/compute/IdstConvolutionInt8.cpp', 'source/backend/cpu/compute/IdstConvolutionInt8.hpp', 'source/backend/cpu/compute/ImageProcessFunction.cpp', 'source/backend/cpu/compute/ImageProcessFunction.hpp', 'source/backend/cpu/compute/Int8FunctionsOpt.cpp', 'source/backend/cpu/compute/Int8FunctionsOpt.h', 'source/backend/cpu/compute/OptimizedComputer.cpp', 'source/backend/cpu/compute/OptimizedComputer.hpp', 'source/backend/cpu/compute/ResizeFunction.cpp', 'source/backend/cpu/compute/ResizeFunction.h', 'source/backend/cpu/compute/SparseConvInt8TiledExecutor.cpp', 'source/backend/cpu/compute/SparseConvInt8TiledExecutor.hpp', 'source/backend/cpu/compute/SparseConvolutionTiledExecutor.cpp', 'source/backend/cpu/compute/SparseConvolutionTiledExecutor.hpp', 'source/backend/cpu/compute/StrassenMatmulComputor.cpp', 'source/backend/cpu/compute/StrassenMatmulComputor.hpp', 'source/backend/cpu/compute/TurboQuant.hpp', 'source/backend/cpu/compute/WinogradOptFunction.cpp', 'source/backend/cpu/compute/WinogradOptFunction.hpp', 'source/backend/cpu/arm/arm64/MNNAddC4WithStride.S', 'source/backend/cpu/arm/arm64/MNNAvgPoolInt8.S', 'source/backend/cpu/arm/arm64/MNNAxByClampBroadcastC4.S', 'source/backend/cpu/arm/arm64/MNNBGRAToBGR.S', 'source/backend/cpu/arm/arm64/MNNBGRAToGRAY.S', 'source/backend/cpu/arm/arm64/MNNBGRToBGR555.S', 'source/backend/cpu/arm/arm64/MNNBGRToBGR565.S', 'source/backend/cpu/arm/arm64/MNNBGRToGRAY.S', 'source/backend/cpu/arm/arm64/MNNBilinearLineC8.S', 'source/backend/cpu/arm/arm64/MNNBilinearSampleC8.S', 'source/backend/cpu/arm/arm64/MNNBinaryAddInt8.S', 'source/backend/cpu/arm/arm64/MNNBinaryMaxInt8.S', 'source/backend/cpu/arm/arm64/MNNBinaryMinInt8.S', 'source/backend/cpu/arm/arm64/MNNBinaryMulInt8.S', 'source/backend/cpu/arm/arm64/MNNBinarySqdInt8.S', 'source/backend/cpu/arm/arm64/MNNBinarySubInt8.S', 'source/backend/cpu/arm/arm64/MNNBlitC1ToFloatRGBA.S', 'source/backend/cpu/arm/arm64/MNNBlitC3ToFloatRGBA.S', 'source/backend/cpu/arm/arm64/MNNC3ToC4Fast.S', 'source/backend/cpu/arm/arm64/MNNC3ToXYZFast.S', 'source/backend/cpu/arm/arm64/MNNC3ToYUVFast.S', 'source/backend/cpu/arm/arm64/MNNConvDwF23MulTransUnit.S', 'source/backend/cpu/arm/arm64/MNNConvDwF23SourceTransUnit.S', 'source/backend/cpu/arm/arm64/MNNConvRunForLineDepthWiseInt8.S', 'source/backend/cpu/arm/arm64/MNNConvRunForLineDepthWiseUint8.S', 'source/backend/cpu/arm/arm64/MNNConvRunForLineDepthwise.S', 'source/backend/cpu/arm/arm64/MNNConvRunForUnitDepthWiseUint8.S', 'source/backend/cpu/arm/arm64/MNNCopyC4WithStride.S', 'source/backend/cpu/arm/arm64/MNNCubicLineC16.S', 'source/backend/cpu/arm/arm64/MNNCubicSampleC16.S', 'source/backend/cpu/arm/arm64/MNNDeconvRunForUnitDepthWise.S', 'source/backend/cpu/arm/arm64/MNNDepthwiseConvFastKernel.S', 'source/backend/cpu/arm/arm64/MNNFloat2Int8.S', 'source/backend/cpu/arm/arm64/MNNGRAYToC3Fast.S', 'source/backend/cpu/arm/arm64/MNNGRAYToC4Fast.S', 'source/backend/cpu/arm/arm64/MNNGelu.S', 'source/backend/cpu/arm/arm64/MNNGemmInt8AddBiasScale_16x4_Unit.S', 'source/backend/cpu/arm/arm64/MNNGemmInt8AddBiasScale_16x4_Unit_FAST.S', 'source/backend/cpu/arm/arm64/MNNGemmInt8AddBiasScale_ARMV82_Unit.S', 'source/backend/cpu/arm/arm64/MNNGemmInt8AddBiasScale_ARMV86_Unit.S', 'source/backend/cpu/arm/arm64/MNNGemmint8to32_8x4_Unit.S', 'source/backend/cpu/arm/arm64/MNNInt8ScaleToFloat.S', 'source/backend/cpu/arm/arm64/MNNLineDepthWiseInt8AddBiasScaleUnit.S', 'source/backend/cpu/arm/arm64/MNNLineDepthWiseInt8AddBiasScale_ARMV82_Unit3X3.S', 'source/backend/cpu/arm/arm64/MNNLoadU8AndSum.S', 'source/backend/cpu/arm/arm64/MNNLocalMinMaxFP32_Pack4.S', 'source/backend/cpu/arm/arm64/MNNLocalMinMaxFP32_Pack8.S', 'source/backend/cpu/arm/arm64/MNNMatrixAdd.S', 'source/backend/cpu/arm/arm64/MNNMatrixMax.S', 'source/backend/cpu/arm/arm64/MNNMatrixProd.S', 'source/backend/cpu/arm/arm64/MNNMatrixSub.S', 'source/backend/cpu/arm/arm64/MNNMaxFloat.S', 'source/backend/cpu/arm/arm64/MNNMaxPoolInt8.S', 'source/backend/cpu/arm/arm64/MNNMinFloat.S', 'source/backend/cpu/arm/arm64/MNNNV21ToBGRAUnit.S', 'source/backend/cpu/arm/arm64/MNNNV21ToBGRUnit.S', 'source/backend/cpu/arm/arm64/MNNNV21ToRGBAUnit.S', 'source/backend/cpu/arm/arm64/MNNNV21ToRGBUnit.S', 'source/backend/cpu/arm/arm64/MNNPackC2.S', 'source/backend/cpu/arm/arm64/MNNPackC4.S', 'source/backend/cpu/arm/arm64/MNNPackC4ForMatMul_A.S', 'source/backend/cpu/arm/arm64/MNNPackC4Int8ForMatMulA_ARM82.S', 'source/backend/cpu/arm/arm64/MNNPackC4Int8ForMatMulA_ARM86.S', 'source/backend/cpu/arm/arm64/MNNPackC4Int8ForMatMulA_SME2.S', 'source/backend/cpu/arm/arm64/MNNPackC4Int8ForMatMulA_SME2_Hp64.S', 'source/backend/cpu/arm/arm64/MNNPackC8.S', 'source/backend/cpu/arm/arm64/MNNPackedMatMul.S', 'source/backend/cpu/arm/arm64/MNNPackedMatMulRemain.S', 'source/backend/cpu/arm/arm64/MNNPackedSparseMatMulEpx1.S', 'source/backend/cpu/arm/arm64/MNNPackedSparseMatMulEpx4.S', 'source/backend/cpu/arm/arm64/MNNPackedSparseQuantMatMulEpx1.S', 'source/backend/cpu/arm/arm64/MNNPackedSparseQuantMatMulEpx4.S', 'source/backend/cpu/arm/arm64/MNNPermuteSumWeightInt4Arm82.S', 'source/backend/cpu/arm/arm64/MNNPermuteSumWeightInt4Arm86.S', 'source/backend/cpu/arm/arm64/MNNPowC8.S', 'source/backend/cpu/arm/arm64/MNNQuanToDestUint8.S', 'source/backend/cpu/arm/arm64/MNNRGBAToBGRAFast.S', 'source/backend/cpu/arm/arm64/MNNRGBAToBGRFast.S', 'source/backend/cpu/arm/arm64/MNNRGBAToGRAYFast.S', 'source/backend/cpu/arm/arm64/MNNRGBToBGR.S', 'source/backend/cpu/arm/arm64/MNNRGBToBGR555.S', 'source/backend/cpu/arm/arm64/MNNRGBToBGR565.S', 'source/backend/cpu/arm/arm64/MNNRGBToGRAYFast.S', 'source/backend/cpu/arm/arm64/MNNRankOneUpdate.S', 'source/backend/cpu/arm/arm64/MNNReluInt8.S', 'source/backend/cpu/arm/arm64/MNNReluWithSlopeChannel.S', 'source/backend/cpu/arm/arm64/MNNReluWithSlopeChannelInt8.S', 'source/backend/cpu/arm/arm64/MNNSamplerC1BilinearOpt.S', 'source/backend/cpu/arm/arm64/MNNSamplerC1NearestOpt.S', 'source/backend/cpu/arm/arm64/MNNSamplerC3BilinearOpt.S', 'source/backend/cpu/arm/arm64/MNNSamplerC4BilinearOpt.S', 'source/backend/cpu/arm/arm64/MNNSamplerC4NearestOpt.S', 'source/backend/cpu/arm/arm64/MNNScaleAddInt8.S', 'source/backend/cpu/arm/arm64/MNNScaleAndAddBias.S', 'source/backend/cpu/arm/arm64/MNNScaleAndAddBiasInt8.S', 'source/backend/cpu/arm/arm64/MNNStrassenMergeCFunction.S', 'source/backend/cpu/arm/arm64/MNNSumWeightInt8Arm82.S', 'source/backend/cpu/arm/arm64/MNNSumWeightInt8Arm86.S', 'source/backend/cpu/arm/arm64/MNNTranspose16Bit8x8.S', 'source/backend/cpu/arm/arm64/MNNTranspose32Bit4x4.S', 'source/backend/cpu/arm/arm64/MNNUInt8ToInt16WithOffsetC4Common.S', 'source/backend/cpu/arm/arm64/MNNUInt8ToInt16WithOffsetC4Fast.S', 'source/backend/cpu/arm/arm64/MNNUnPackC4.S', 'source/backend/cpu/arm/arm64/MNNVectorTop1Float.S', 'source/backend/cpu/arm/arm64/MNNVectorTop1Int32.S', 'source/backend/cpu/arm/arm64/low_memory/MNNAbsMaxFP32_Pack4.S', 'source/backend/cpu/arm/arm64/low_memory/MNNAbsMaxFP32_Pack8.S', 'source/backend/cpu/arm/arm64/low_memory/MNNDynamicQuantFP32_Pack4.S', 'source/backend/cpu/arm/arm64/low_memory/MNNDynamicQuantFP32_Pack8.S', 'source/backend/cpu/arm/arm64/low_memory/MNNDynamicUpdateConvBiasScale.S', 'source/backend/cpu/arm/arm64/low_memory/MNNGemmInt8AddBiasScale_16x4_w4_Unit.S', 'source/backend/cpu/arm/arm64/low_memory/MNNGemmInt8AddBiasScale_ARMV82_w4_Unit.S', 'source/backend/cpu/arm/arm64/low_memory/MNNGemmInt8AddBiasScale_ARMV86_w4_Unit.S', 'source/backend/cpu/arm/arm64/low_memory/MNNGeneralIm2col_Fp16Sme2.S', 'source/backend/cpu/arm/arm64/low_memory/MNNGeneralIm2col_Fp32Arm82.S', 'source/backend/cpu/arm/arm64/low_memory/MNNGeneralIm2col_Fp32Arm86.S', 'source/backend/cpu/arm/arm64/low_memory/MNNGeneralIm2col_Fp32Sme2.S', 'source/backend/cpu/arm/arm64/low_memory/MNNQuantScaleFP32.S', 'source/backend/cpu/arm/CommonOptFunctionNeon.cpp', 'source/backend/metal/AllShader.cpp', 'source/backend/metal/AllShader.hpp', 'source/backend/metal/ConvSimdGroupShader.hpp', 'source/backend/metal/LayerNormSimdGroupShader.hpp', 'source/backend/metal/MNNMetalContext.h', 'source/backend/metal/MNNMetalContext.mm', 'source/backend/metal/MetalArgMax.mm', 'source/backend/metal/MetalAttention.hpp', 'source/backend/metal/MetalAttention.mm', 'source/backend/metal/MetalAttentionShader.hpp', 'source/backend/metal/MetalBackend.hpp', 'source/backend/metal/MetalBackend.mm', 'source/backend/metal/MetalBinary.hpp', 'source/backend/metal/MetalBinary.mm', 'source/backend/metal/MetalCache_generated.h', 'source/backend/metal/MetalCast.hpp', 'source/backend/metal/MetalCast.mm', 'source/backend/metal/MetalConvolution.hpp', 'source/backend/metal/MetalConvolution.mm', 'source/backend/metal/MetalConvolution1x1.hpp', 'source/backend/metal/MetalConvolution1x1.mm', 'source/backend/metal/MetalConvolutionCommon.hpp', 'source/backend/metal/MetalConvolutionCommon.mm', 'source/backend/metal/MetalConvolutionDepthwise.hpp', 'source/backend/metal/MetalConvolutionDepthwise.mm', 'source/backend/metal/MetalConvolutionWinograd.hpp', 'source/backend/metal/MetalConvolutionWinograd.mm', 'source/backend/metal/MetalDeconvolution.hpp', 'source/backend/metal/MetalDeconvolution.mm', 'source/backend/metal/MetalDefine.h', 'source/backend/metal/MetalEltwise.hpp', 'source/backend/metal/MetalEltwise.mm', 'source/backend/metal/MetalExecution.hpp', 'source/backend/metal/MetalExecution.mm', 'source/backend/metal/MetalFuse.hpp', 'source/backend/metal/MetalFuse.mm', 'source/backend/metal/MetalGridSample.hpp', 'source/backend/metal/MetalGridSample.mm', 'source/backend/metal/MetalInterp.hpp', 'source/backend/metal/MetalInterp.mm', 'source/backend/metal/MetalKVCacheManager.hpp', 'source/backend/metal/MetalKVCacheManager.mm', 'source/backend/metal/MetalLayerNorm.hpp', 'source/backend/metal/MetalLayerNorm.mm', 'source/backend/metal/MetalLinearAttention.hpp', 'source/backend/metal/MetalLinearAttention.mm', 'source/backend/metal/MetalLinearAttentionShader.hpp', 'source/backend/metal/MetalLoop.mm', 'source/backend/metal/MetalMatMul.hpp', 'source/backend/metal/MetalMatMul.mm', 'source/backend/metal/MetalOPRegister.mm', 'source/backend/metal/MetalPReLU.hpp', 'source/backend/metal/MetalPReLU.mm', 'source/backend/metal/MetalPooling.hpp', 'source/backend/metal/MetalPooling.mm', 'source/backend/metal/MetalROIPooling.hpp', 'source/backend/metal/MetalROIPooling.mm', 'source/backend/metal/MetalRaster.hpp', 'source/backend/metal/MetalRaster.mm', 'source/backend/metal/MetalReLU6.hpp', 'source/backend/metal/MetalReLU6.mm', 'source/backend/metal/MetalReduction.hpp', 'source/backend/metal/MetalReduction.mm', 'source/backend/metal/MetalScale.hpp', 'source/backend/metal/MetalScale.mm', 'source/backend/metal/MetalSoftmax.hpp', 'source/backend/metal/MetalSoftmax.mm', 'source/backend/metal/MetalTopKV2.mm', 'source/backend/metal/MetalUnary.hpp', 'source/backend/metal/MetalUnary.mm', 'source/backend/metal/ShaderMap.cpp', 'source/backend/metal/ShaderMap.hpp', 'express/CMakeLists.txt', 'express/Executor.cpp', 'express/ExecutorScope.cpp', 'express/Expr.cpp', 'express/MathOp.cpp', 'express/NeuralNetWorkOp.cpp', 'express/Optimizer.cpp', 'express/RuntimeAttr.hpp', 'express/Utils.cpp', 'express/Utils.hpp', 'express/module/IfModule.cpp', 'express/module/IfModule.hpp', 'express/module/MoEModule.cpp', 'express/module/MoEModule.hpp', 'express/module/Module.cpp', 'express/module/ModuleInside.hpp', 'express/module/NMSModule.cpp', 'express/module/NMSModule.hpp', 'express/module/PipelineModule.cpp', 'express/module/PipelineModule.hpp', 'express/module/StaticModule.cpp', 'express/module/StaticModule.hpp', 'express/module/WhileModule.cpp', 'express/module/WhileModule.hpp', 'tools/cv/source/imgproc/color.cpp', 'tools/cv/include/cv/imgproc/color.hpp', 'tools/cv/source/imgproc/geometric.cpp', 'tools/cv/include/cv/imgproc/geometric.hpp', 'tools/cv/source/imgproc/draw.cpp', 'tools/cv/include/cv/imgproc/draw.hpp', 'tools/cv/source/imgproc/filter.cpp', 'tools/cv/include/cv/imgproc/filter.hpp', 'tools/cv/source/imgproc/miscellaneous.cpp', 'tools/cv/include/cv/imgproc/miscellaneous.hpp', 'tools/cv/source/imgproc/structural.cpp', 'tools/cv/include/cv/imgproc/structural.hpp', 'tools/cv/source/imgproc/histograms.cpp', 'tools/cv/include/cv/imgproc/histograms.hpp', 'tools/cv/include/cv/calib3d.hpp', 'tools/cv/source/calib3d/calib3d.cpp', 'tools/cv/include/cv/core.hpp', 'tools/cv/source/core/core.cpp', 'transformers/llm/engine/src/diskembedding.cpp', 'transformers/llm/engine/src/diskembedding.hpp', 'transformers/llm/engine/src/embedding.cpp', 'transformers/llm/engine/src/httplib.h', 'transformers/llm/engine/src/kvmeta.hpp', 'transformers/llm/engine/src/llm.cpp', 'transformers/llm/engine/src/llmconfig.cpp', 'transformers/llm/engine/src/llmconfig.hpp', 'transformers/llm/engine/src/omni.cpp', 'transformers/llm/engine/src/omni.hpp', 'transformers/llm/engine/src/prompt_cache_utils.hpp', 'transformers/llm/engine/src/sampler.cpp', 'transformers/llm/engine/src/sampler.hpp', 'transformers/llm/engine/src/speculative_decoding/eagle.cpp', 'transformers/llm/engine/src/speculative_decoding/generate.cpp', 'transformers/llm/engine/src/speculative_decoding/generate.hpp', 'transformers/llm/engine/src/speculative_decoding/lookahead.cpp', 'transformers/llm/engine/src/speculative_decoding/lookahead.hpp', 'transformers/llm/engine/src/speculative_decoding/mtp.cpp', 'transformers/llm/engine/src/speculative_decoding/ngram.hpp', 'transformers/llm/engine/src/speculative_decoding/tokentree.hpp', 'transformers/llm/engine/src/tokenizer/TOKENIZER_ARTICLE.md', 'transformers/llm/engine/src/tokenizer/TOKENIZER_OPT.md', 'transformers/llm/engine/src/tokenizer/jinja.hpp', 'transformers/llm/engine/src/tokenizer/tokenizer.cpp', 'transformers/llm/engine/src/tokenizer/tokenizer.hpp', 'transformers/llm/engine/src/tokenizer/unicode.cpp', 'transformers/llm/engine/src/tokenizer/unicode.hpp', 'transformers/llm/engine/src/tokenizer/unicode_data.cpp', 'transformers/llm/engine/src/tokenizer/unicode_data.hpp', 'transformers/llm/engine/src/ujson.hpp' ] # ============================================================================= # Public headers # ============================================================================= s.public_header_files = [ 'include/MNN/AutoTime.hpp', 'include/MNN/ErrorCode.hpp', 'include/MNN/HalideRuntime.h', 'include/MNN/ImageProcess.hpp', 'include/MNN/Interpreter.hpp', 'include/MNN/MNNDefine.h', 'include/MNN/MNNForwardType.h', 'include/MNN/MNNSharedContext.h', 'include/MNN/Matrix.h', 'include/MNN/Rect.h', 'include/MNN/Tensor.hpp', 'include/MNN/expr/Executor.hpp', 'include/MNN/expr/ExecutorScope.hpp', 'include/MNN/expr/Expr.hpp', 'include/MNN/expr/ExprCreator.hpp', 'include/MNN/expr/MathOp.hpp', 'include/MNN/expr/Module.hpp', 'include/MNN/expr/NeuralNetWorkOp.hpp', 'include/MNN/expr/Optimizer.hpp', 'include/MNN/expr/Scope.hpp', 'include/MNN/plugin/PluginContext.hpp', 'include/MNN/plugin/PluginKernel.hpp', 'include/MNN/plugin/PluginShapeInference.hpp' ] # ============================================================================= # Build configuration # ============================================================================= s.pod_target_xcconfig = { 'HEADER_SEARCH_PATHS' => [ '"$(PODS_TARGET_SRCROOT)/include"', '"$(PODS_TARGET_SRCROOT)/source"', '"$(PODS_TARGET_SRCROOT)/express"', '"$(PODS_TARGET_SRCROOT)/tools"', '"$(PODS_TARGET_SRCROOT)/schema/current"', '"$(PODS_TARGET_SRCROOT)/3rd_party"', '"$(PODS_TARGET_SRCROOT)/3rd_party/flatbuffers/include"', '"$(PODS_TARGET_SRCROOT)/3rd_party/half"', '"$(PODS_TARGET_SRCROOT)/source/backend/cpu"', '"$(PODS_TARGET_SRCROOT)/source/backend/cpu/arm"', '"$(PODS_TARGET_SRCROOT)/source/backend/arm82"', '"$(PODS_TARGET_SRCROOT)/source/backend/arm82/compute"', '"$(PODS_TARGET_SRCROOT)/source/backend/arm82/asm"', '"$(PODS_TARGET_SRCROOT)/source/backend/metal"', '"$(PODS_TARGET_SRCROOT)/tools/cv/include"', '"$(PODS_TARGET_SRCROOT)/transformers/llm/engine/include"', '"$(PODS_TARGET_SRCROOT)/transformers/llm/engine/src"' ].join(' '), 'GCC_PREPROCESSOR_DEFINITIONS' => [ '$(inherited)', 'MNN_METAL_ENABLED=1', 'ENABLE_ARMV82=1', 'MNN_USE_NEON=1', 'MNN_SUPPORT_TRANSFORMER_FUSE=1', 'MNN_LOW_MEMORY=1', 'MNN_IMGPROC_DRAW=1', 'MNN_REDUCE_SIZE=1' ].join(' '), 'OTHER_CFLAGS' => '-fno-rtti -fno-exceptions -Oz', 'OTHER_CPLUSPLUSFLAGS' => '-std=c++17 -fno-rtti -fno-exceptions -Oz', 'CLANG_CXX_LANGUAGE_STANDARD' => 'c++17', 'METAL_LIBRARY_FILE_BASE' => 'mnn', 'ARCHS' => 'arm64', 'VALID_ARCHS' => 'arm64', # Optimization: remove debug info and strip 'GCC_OPTIMIZATION_LEVEL' => 'z', 'DEBUG_INFORMATION_FORMAT' => 'dwarf', 'STRIP_INSTALLED_PRODUCT' => 'YES', 'STRIP_STYLE' => 'non-global', 'DEAD_CODE_STRIPPING' => 'YES', 'DEPLOYMENT_POSTPROCESSING' => 'YES' } # ============================================================================= # ARM82 FP16 - Requires -march=armv8.2-a+fp16 compiler flag # Total 36 files # ============================================================================= s.subspec 'ARM82' do |sp| sp.source_files = [ 'source/backend/arm82/Arm82Backend.cpp', 'source/backend/arm82/Arm82Binary.cpp', 'source/backend/arm82/Arm82Functions.cpp', 'source/backend/arm82/Arm82Interp.cpp', 'source/backend/arm82/Arm82OptFunc.cpp', 'source/backend/arm82/Arm82Relu.cpp', 'source/backend/arm82/Arm82Unary.cpp', 'source/backend/arm82/Arm82WinogradOptFunc.cpp', 'source/backend/arm82/asm/arm64/Arm82MNNPackForMatMul_A.S', 'source/backend/arm82/asm/arm64/CountMinMaxValue_FP16.S', 'source/backend/arm82/asm/arm64/MNNConvRunForLineDepthwiseFP16.S', 'source/backend/arm82/asm/arm64/MNNConvWinoSourceTransformUnit6x6FP16.S', 'source/backend/arm82/asm/arm64/MNNDepthwiseConvFastKernelFP16.S', 'source/backend/arm82/asm/arm64/MNNExpFP16.S', 'source/backend/arm82/asm/arm64/MNNGeluFP16.S', 'source/backend/arm82/asm/arm64/MNNLocalMinMaxFP16_Pack4.S', 'source/backend/arm82/asm/arm64/MNNLocalMinMaxFP16_Pack8.S', 'source/backend/arm82/asm/arm64/MNNPackC8FP16.S', 'source/backend/arm82/asm/arm64/MNNPackedMatMulFP16.S', 'source/backend/arm82/asm/arm64/MNNPackedMatMulRemainFP16.S', 'source/backend/arm82/asm/arm64/MNNQuantizeFP16_UNIT4.S', 'source/backend/arm82/asm/arm64/MNNRankOneUpdateFp16.S', 'source/backend/arm82/asm/arm64/MNNUnpackC8FP16.S', 'source/backend/arm82/asm/arm64/low_memory/MNNAbsMaxFP16_Pack4.S', 'source/backend/arm82/asm/arm64/low_memory/MNNAbsMaxFP16_pack8.S', 'source/backend/arm82/asm/arm64/low_memory/MNNDynamicQuanInput_ARM82.S', 'source/backend/arm82/asm/arm64/low_memory/MNNDynamicQuantAndReorder_ARM82.S', 'source/backend/arm82/asm/arm64/low_memory/MNNDynamicQuantFP16_Pack4.S', 'source/backend/arm82/asm/arm64/low_memory/MNNDynamicQuantFP16_Pack8.S', 'source/backend/arm82/asm/arm64/low_memory/MNNGemmInt8AddBiasScale_ARMV82_Unit_FP16.S', 'source/backend/arm82/asm/arm64/low_memory/MNNGemmInt8AddBiasScale_ARMV82_w4_Unit_FP16.S', 'source/backend/arm82/asm/arm64/low_memory/MNNGemmInt8AddBiasScale_ARMV86_Unit_FP16.S', 'source/backend/arm82/asm/arm64/low_memory/MNNGemmInt8AddBiasScale_ARMV86_w4_Unit_FP16.S', 'source/backend/arm82/asm/arm64/low_memory/MNNGeneralIm2col_Arm82.S', 'source/backend/arm82/asm/arm64/low_memory/MNNGeneralIm2col_Arm86.S', 'source/backend/arm82/asm/arm64/low_memory/MNNQuantScaleFP16.S' ] sp.pod_target_xcconfig = { 'OTHER_CFLAGS' => '-march=armv8.2-a+fp16 -fno-rtti -fno-exceptions', 'OTHER_CPLUSPLUSFLAGS' => '-std=c++17 -march=armv8.2-a+fp16 -fno-rtti -fno-exceptions' } sp.xcconfig = { 'OTHER_ASFLAGS' => '-march=armv8.2-a+fp16' } end s.default_subspecs = ['ARM82'] end