-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Expand file tree
/
Copy pathMNN.podspec
More file actions
869 lines (855 loc) · 39.3 KB
/
MNN.podspec
File metadata and controls
869 lines (855 loc) · 39.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
# =============================================================================
# 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