# 概述

Qualcomm^®^ Linux AI 栈允许开发者在 Qualcomm 硬件加速器（例如神经网络处理单元 (NPU)、图形处理器 (GPU) 和中央处理器 (CPU)）上最佳地部署预训练的深度学习模型。Qualcomm AI 软件产品包含软件开发包 (SDK)、API、示例应用程序、开发工具以及 GStreamer 和 TFLite 等第三方框架支持，以简化应用程序开发。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export top_level_ai_hw.svg top_level_ai_hw -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="11.1215in" height="7.37153in" viewbox="0 0 800.748 530.75" xml:space="preserve" color-interpolation-filters="sRGB" class="st26" aria-label="../_images/top_level_ai_hw.svg"><v:documentproperties v:langid="1033" v:viewmarkup="false"></v:documentproperties>
<style>.svg-1 .st1 { fill: #ffffff; stroke: #ffffff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.749998 }
.svg-1 .st2 { fill: #ffffff; stroke: #d8d8d8; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.749998 }
.svg-1 .st3 { fill: #000000; font-family: Microsoft YaHei UI; font-size: 1.33333em }
.svg-1 .st4 { fill: #000000; font-family: Arial; font-size: 1.33333em }
.svg-1 .st5 { font-family: Microsoft YaHei UI; font-size: 1em }
.svg-1 .st6 { fill: #040a40; stroke: #4a5a75; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.749998 }
.svg-1 .st7 { fill: #ffffff; font-family: Arial; font-size: 1.33333em }
.svg-1 .st8 { fill: #3253dc; stroke: #d8d8d8; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.749998 }
.svg-1 .st9 { baseline-shift: 32.4948%; font-size: 0.649895em }
.svg-1 .st10 { font-size: 1em }
.svg-1 .st11 { fill: #3253dc; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.749998 }
.svg-1 .st12 { fill: #ffffff; font-family: Arial; font-size: 1.24999em }
.svg-1 .st13 { baseline-shift: 32.495%; font-size: 0.6499em }
.svg-1 .st14 { fill: #dee3ec; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.749998 }
.svg-1 .st15 { marker-end: url("#mrkr13-54"); stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2 }
.svg-1 .st16 { fill: #000000; fill-opacity: 1; stroke: #000000; stroke-opacity: 1; stroke-width: 0.44247725995514 }
.svg-1 .st17 { marker-end: url("#mrkr13-65"); stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.75 }
.svg-1 .st18 { fill: #000000; fill-opacity: 1; stroke: #000000; stroke-opacity: 1; stroke-width: 0.40983546146334 }
.svg-1 .st19 { fill: #7ba0ff; stroke: #7ba0ff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.749998 }
.svg-1 .st20 { fill: #ffffff; font-family: Arial; font-size: 1.16666em }
.svg-1 .st21 { fill: #3253dc; stroke: #f5f6f7; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999998 }
.svg-1 .st22 { fill: #dee3ec; stroke: #f5f6f7; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999998 }
.svg-1 .st23 { fill: #000000; font-family: Microsoft YaHei UI; font-size: 1.16666em }
.svg-1 .st24 { fill: #040a40; stroke: #f5f6f7; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999998 }
.svg-1 .st25 { fill: #ffffff; font-family: Microsoft YaHei UI; font-size: 1.16666em }
.svg-1 .st26 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<defs id="Markers">	<g id="lend13">		<path d="M 3 1 L 0 0 L 3 -1 L 3 1 " style="stroke:none"></path>	</g>	<marker id="mrkr13-54" class="st16" v:arrowtype="13" v:arrowsize="2" v:setback="0" refx="-0" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend13" transform="scale(-2.2600031470575,-2.2600031470575) "></use>	</marker>	<marker id="mrkr13-65" class="st18" v:arrowtype="13" v:arrowsize="2" v:setback="0" refx="-0" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend13" transform="scale(-2.4400035966371,-2.4400035966371) "></use>	</marker></defs><g v:mid="6" v:index="4" v:groupcontext="foregroundPage">	<title>top_level_ai_hw</title>	<v:pageproperties v:drawingscale="1" v:pagescale="1" v:drawingunits="19" v:shadowoffsetx="8.99998" v:shadowoffsety="-8.99998"></v:pageproperties>	<v:layer v:name="full" v:index="0"></v:layer>	<g id="shape1-1" v:mid="1" v:groupcontext="shape" transform="translate(0.374999,-0.375723)">		<title>Sheet.1</title>		<path d="M0 526.75 A4.00008 4.00008 -180 0 0 4 530.75 L796 530.75 A4.00008 4.00008 -180 0 0 800 526.75 L800 4.75 A4.00008					 4.00008 -180 0 0 796 0.75 L4 0.75 A4.00008 4.00008 -180 0 0 0 4.75 L0 526.75 Z" class="st1"></path>	</g>	<g id="shape2-3" v:mid="2" v:groupcontext="shape" transform="translate(18.584,-54.6087)">		<title>Sheet.2</title>		<desc>Hardware</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)" v:verticalalign="0"></v:textblock>		<v:textrect cx="383.582" cy="473.669" width="767.17" height="114.162"></v:textrect>		<path d="M0 526.25 A4.50009 4.50009 -180 0 0 4.5 530.75 L762.66 530.75 A4.50009 4.50009 -180 0 0 767.16 526.25 L767.16					 421.09 A4.50009 4.50009 -180 0 0 762.66 416.59 L4.5 416.59 A4.50009 4.50009 -180 0 0 0 421.09 L0 526.25					 Z" class="st2"></path>		<text x="4" y="435.18" class="st3" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>硬件</text>		</g>	<g id="shape3-6" v:mid="3" v:groupcontext="shape" transform="translate(18.584,-190.967)">		<title>Sheet.3</title>		<desc>AI SDKs</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)" v:verticalalign="0"></v:textblock>		<v:textrect cx="383.582" cy="473.669" width="767.17" height="114.162"></v:textrect>		<path d="M0 526.25 A4.50009 4.50009 -180 0 0 4.5 530.75 L762.66 530.75 A4.50009 4.50009 -180 0 0 767.16 526.25 L767.16					 421.09 A4.50009 4.50009 -180 0 0 762.66 416.59 L4.5 416.59 A4.50009 4.50009 -180 0 0 0 421.09 L0 526.25					 Z" class="st2"></path>		<text x="4" y="434.99" class="st4" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>AI SDK</text>		</g>	<g id="shape4-9" v:mid="4" v:groupcontext="shape" transform="translate(18.584,-326.375)">		<title>Sheet.4</title>		<desc>Qualcomm IMSDK Gstreamer plugins</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)" v:verticalalign="0"></v:textblock>		<v:textrect cx="383.582" cy="473.669" width="767.17" height="114.162"></v:textrect>		<path d="M0 526.25 A4.50009 4.50009 -180 0 0 4.5 530.75 L762.66 530.75 A4.50009 4.50009 -180 0 0 767.16 526.25 L767.16					 421.09 A4.50009 4.50009 -180 0 0 762.66 416.59 L4.5 416.59 A4.50009 4.50009 -180 0 0 0 421.09 L0 526.25					 Z" class="st2"></path>		<text x="4" y="435.18" class="st4" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>Qualcomm IMSDK Gstreamer <tspan class="st5">插件</tspan></text>		</g>	<g id="shape5-13" v:mid="5" v:groupcontext="shape" transform="translate(18.584,-467.636)">		<title>Sheet.5</title>		<desc>AI applications</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="383.582" cy="506.866" width="767.17" height="47.7651"></v:textrect>		<path d="M0 526.25 A4.50009 4.50009 -180 0 0 4.5 530.75 L762.66 530.75 A4.50009 4.50009 -180 0 0 767.16 526.25 L767.16					 487.49 A4.50009 4.50009 -180 0 0 762.66 482.99 L4.5 482.99 A4.50009 4.50009 -180 0 0 -0 487.49 L0 526.25					 Z" class="st6"></path>		<text x="341.8" y="511.73" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>AI <tspan class="st5">应用程序</tspan></text>		</g>	<g id="shape6-17" v:mid="6" v:groupcontext="shape" transform="translate(52.119,-347.623)">		<title>Sheet.6</title>		<desc>Qualcomm® Neural Processing Engine plugin (qtimlsnpe)</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="155.26" cy="499.333" width="310.52" height="62.8343"></v:textrect>		<path d="M0 526.25 A4.50009 4.50009 -180 0 0 4.5 530.75 L306.02 530.75 A4.50009 4.50009 -180 0 0 310.52 526.25 L310.52					 472.42 A4.50009 4.50009 -180 0 0 306.02 467.92 L4.5 467.92 A4.50009 4.50009 -180 0 0 0 472.42 L0 526.25					 Z" class="st8"></path>		<text x="18.04" y="494.4" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm<tspan dy="-0.235em" class="st9" v:basefontsize="16">®</tspan><tspan dy="0.153em" class="st10"> </tspan>Neural Processing Engine <tspan x="97.47" dy="1.212em" class="st5">插件</tspan> (qtimlsnpe)</text>		</g>	<g id="shape7-23" v:mid="7" v:groupcontext="shape" transform="translate(52.119,-212.213)">		<title>Sheet.7</title>		<desc>Qualcomm Neural Processing Engine</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="155.26" cy="499.356" width="310.52" height="62.7887"></v:textrect>		<path d="M0 526.25 A4.50009 4.50009 -180 0 0 4.5 530.75 L306.02 530.75 A4.50009 4.50009 -180 0 0 310.52 526.25 L310.52					 472.46 A4.50009 4.50009 -180 0 0 306.02 467.96 L4.5 467.96 A4.50009 4.50009 -180 0 0 0 472.46 L0 526.25					 Z" class="st11"></path>		<text x="21.87" y="504.16" class="st7" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm Neural Processing Engine</text>		</g>	<g id="shape8-26" v:mid="8" v:groupcontext="shape" transform="translate(421.56,-347.623)">		<title>Sheet.8</title>		<desc>Qualcomm® AI Engine Direct plugin (qtimlqnn)</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="77.6297" cy="499.333" width="155.26" height="62.8343"></v:textrect>		<path d="M0 526.25 A4.50009 4.50009 -180 0 0 4.5 530.75 L150.76 530.75 A4.50009 4.50009 -180 0 0 155.26 526.25 L155.26					 472.42 A4.50009 4.50009 -180 0 0 150.76 467.92 L4.5 467.92 A4.50009 4.50009 -180 0 0 -0 472.42 L0 526.25					 Z" class="st8"></path>		<text x="28.61" y="485.71" class="st12" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm<tspan dy="-0.235em" class="st13" v:basefontsize="15">®</tspan><tspan dy="0.153em" class="st10"> </tspan>AI <tspan x="15.52" dy="1.212em" class="st10">Engine Direct </tspan><tspan class="st5">插件</tspan> <tspan x="44.29" dy="1.204em" class="st10">(qtimlqnn)</tspan></text>		</g>	<g id="shape9-34" v:mid="9" v:groupcontext="shape" transform="translate(588.236,-347.623)">		<title>Sheet.9</title>		<desc>TensorFlow Lite plugin (qtimltflite)</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="77.6297" cy="499.333" width="155.26" height="62.8343"></v:textrect>		<path d="M0 526.25 A4.50009 4.50009 -180 0 0 4.5 530.75 L150.76 530.75 A4.50009 4.50009 -180 0 0 155.26 526.25 L155.26					 472.42 A4.50009 4.50009 -180 0 0 150.76 467.92 L4.5 467.92 A4.50009 4.50009 -180 0 0 -0 472.42 L0 526.25					 Z" class="st8"></path>		<text x="7.19" y="494.89" class="st12" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>TensorFlow Lite <tspan class="st5">插件</tspan> <tspan x="43.05" dy="1.204em" class="st10">(qtimltflite)</tspan></text>		</g>	<g id="shape10-39" v:mid="10" v:groupcontext="shape" transform="translate(52.119,-75.0216)">		<title>Sheet.10</title>		<desc>NPU (DSP/HMX/HTP)</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="91.3291" cy="499.698" width="182.66" height="62.1037"></v:textrect>		<path d="M0 526.25 A4.50009 4.50009 -180 0 0 4.5 530.75 L178.16 530.75 A4.50009 4.50009 -180 0 0 182.66 526.25 L182.66					 473.15 A4.50009 4.50009 -180 0 0 178.16 468.65 L4.5 468.65 A4.50009 4.50009 -180 0 0 -0 473.15 L0 526.25					 Z" class="st14"></path>		<text x="74.44" y="494.9" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>NPU <v:newlinechar></v:newlinechar><v:paragraph v:horizalign="1"></v:paragraph><tspan x="31.33" dy="1.2em" class="st10">(DSP/HMX/HTP)</tspan></text>		</g>	<g id="shape11-43" v:mid="11" v:groupcontext="shape" transform="translate(306.478,-75.0216)">		<title>Sheet.11</title>		<desc>GPU</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="91.3291" cy="499.698" width="182.66" height="62.1037"></v:textrect>		<path d="M0 526.25 A4.50009 4.50009 -180 0 0 4.5 530.75 L178.16 530.75 A4.50009 4.50009 -180 0 0 182.66 526.25 L182.66					 473.15 A4.50009 4.50009 -180 0 0 178.16 468.65 L4.5 468.65 A4.50009 4.50009 -180 0 0 -0 473.15 L0 526.25					 Z" class="st14"></path>		<text x="73.99" y="504.5" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>GPU</text>		</g>	<g id="shape12-46" v:mid="12" v:groupcontext="shape" transform="translate(560.837,-75.0216)">		<title>Sheet.12</title>		<desc>CPU</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="91.3291" cy="499.698" width="182.66" height="62.1037"></v:textrect>		<path d="M0 526.25 A4.50009 4.50009 -180 0 0 4.5 530.75 L178.16 530.75 A4.50009 4.50009 -180 0 0 182.66 526.25 L182.66					 473.15 A4.50009 4.50009 -180 0 0 178.16 468.65 L4.5 468.65 A4.50009 4.50009 -180 0 0 -0 473.15 L0 526.25					 Z" class="st14"></path>		<text x="74.44" y="504.5" class="st4" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>CPU</text>		</g>	<g id="shape13-49" v:mid="13" v:groupcontext="shape" v:layermember="0" transform="translate(932.916,63.1134) rotate(90)">		<title>Sheet.13</title>		<path d="M0 530.75 L13.54 530.75 L27.1 530.75" class="st15"></path>	</g>	<g id="shape14-55" v:mid="14" v:groupcontext="shape" transform="translate(738.129,183.37) rotate(90)">		<title>Sheet.14</title>		<path d="M0 530.75 L58.82 530.75 L72.38 530.75" class="st15"></path>	</g>	<g id="shape15-60" v:mid="15" v:groupcontext="shape" v:layermember="0" transform="translate(932.916,339.783) rotate(90)">		<title>Sheet.15</title>		<path d="M0 530.75 L9.84 530.75 L22.65 530.75" class="st17"></path>	</g>	<g id="shape16-66" v:mid="16" v:groupcontext="shape" transform="translate(421.56,-214.434)">		<title>Sheet.16</title>		<desc>Qualcomm AI Engine Direct</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="160.968" cy="499.356" width="321.94" height="62.7887"></v:textrect>		<path d="M0 526.25 A4.50009 4.50009 -180 0 0 4.5 530.75 L317.44 530.75 A4.50009 4.50009 -180 0 0 321.94 526.25 L321.94					 472.46 A4.50009 4.50009 -180 0 0 317.44 467.96 L4.5 467.96 A4.50009 4.50009 -180 0 0 -0 472.46 L0 526.25					 Z" class="st11"></path>		<text x="38" y="493.36" class="st7" v:langid="1033"><v:paragraph v:indentleft="34" v:spline="-1.5"></v:paragraph><v:tablist></v:tablist>Qualcomm AI  <v:lf></v:lf><tspan x="38" dy="1.5em" class="st10">Engine Direct</tspan></text>		</g>	<g id="shape17-70" v:mid="17" v:groupcontext="shape" transform="translate(1219.45,182.401) rotate(90)">		<title>Sheet.17</title>		<path d="M0 530.75 L58.77 530.75 L72.33 530.75" class="st15"></path>	</g>	<g id="shape18-75" v:mid="18" v:groupcontext="shape" transform="translate(1029.94,182.49) rotate(90)">		<title>Sheet.18</title>		<path d="M0 530.75 L58.77 530.75 L72.33 530.75" class="st15"></path>	</g>	<g id="shape19-80" v:mid="19" v:groupcontext="shape" transform="translate(630.373,-225.852)">		<title>Sheet.19</title>		<desc>TFLite Delegate</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="48.5694" cy="510.772" width="97.14" height="39.9565"></v:textrect>		<path d="M0 526.25 A4.50009 4.50009 -180 0 0 4.5 530.75 L92.64 530.75 A4.50009 4.50009 -180 0 0 97.14 526.25 L97.14 495.29					 A4.50009 4.50009 -180 0 0 92.64 490.79 L4.5 490.79 A4.50009 4.50009 -180 0 0 0 495.29 L0 526.25 Z" class="st19"></path>		<text x="28.73" y="506.57" class="st20" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>TFLite <tspan x="20.55" dy="1.2em" class="st10">Delegate</tspan></text>		</g>	<g id="shape20-84" v:mid="20" v:groupcontext="shape" transform="translate(361.661,-237.266) rotate(-0.105469)">		<title>Sheet.20</title>		<path d="M0 530.75 L45.36 530.75 L58.92 530.75" class="st15"></path>	</g>	<g id="shape21-89" v:mid="21" v:groupcontext="shape" transform="translate(19.409,-10.3761)">		<title>Sheet.21</title>		<desc>QTI</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="45.6645" cy="514.342" width="91.33" height="32.8166"></v:textrect>		<path d="M0 526.75 A4.00008 4.00008 -180 0 0 4 530.75 L87.33 530.75 A4.00008 4.00008 -180 0 0 91.33 526.75 L91.33 501.93					 A4.00008 4.00008 -180 0 0 87.33 497.93 L4 497.93 A4.00008 4.00008 -180 0 0 0 501.93 L0 526.75 Z" class="st21"></path>		<text x="34" y="518.54" class="st20" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>QTI</text>		</g>	<g id="shape22-92" v:mid="22" v:groupcontext="shape" transform="translate(125.008,-10.3761)">		<title>Sheet.22</title>		<desc>Hardware</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="45.8875" cy="514.342" width="91.78" height="32.8166"></v:textrect>		<path d="M0 526.75 A4.00008 4.00008 -180 0 0 4 530.75 L87.77 530.75 A4.00008 4.00008 -180 0 0 91.77 526.75 L91.77 501.93					 A4.00008 4.00008 -180 0 0 87.77 497.93 L4 497.93 A4.00008 4.00008 -180 0 0 0 501.93 L0 526.75 Z" class="st22"></path>		<text x="31.89" y="518.6" class="st23" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>硬件</text>		</g>	<g id="shape23-95" v:mid="23" v:groupcontext="shape" transform="translate(230.607,-10.3761)">		<title>Sheet.23</title>		<desc>Third-party</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="62.3833" cy="514.342" width="124.77" height="32.8166"></v:textrect>		<path d="M0 526.75 A4.00008 4.00008 -180 0 0 4 530.75 L120.77 530.75 A4.00008 4.00008 -180 0 0 124.77 526.75 L124.77					 501.93 A4.00008 4.00008 -180 0 0 120.77 497.93 L4 497.93 A4.00008 4.00008 -180 0 0 0 501.93 L0 526.75 Z" class="st24"></path>		<text x="41.38" y="518.6" class="st25" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>第三方</text>		</g></g>
</svg>

**Qualcomm Linux AI 栈的顶层 AI 硬件和软件模块**

Qualcomm Linux AI 栈的关键组件包括：

- **AI 应用** - 基于 Gstreamer 的示例程序，可以根据需要使用或定制。
- **GStreamer 插件** - Qualcomm Linux 软件提供基于 GStreamer 的机器学习插件，用于通过 TFLite、Qualcomm^®^ Neural Processing Engine SDK 等加速 AI 推理，以及用于预处理和后处理的 GStreamer 插件。
- **Qualcomm AI 栈**包含两个用于加速 AI 工作负载的 SDK。**Qualcomm Neural Processing Engine SDK** 和 **AI Engine Direct** 提供工具、库等，旨在多个硬件加速器上最优地加速 AI 模型。
- Qualcomm SoC 提供三种用于 AI 负载的**硬件核心**。

    - **神经网络处理单元 (NPU)** - 也称为 Qualcomm® Hexagon™ Tensor Processor (HTP) 或 DSP/HMX，适合以低功耗、高性能执行 AI 工作负载。为优化性能，需要把预训练模型量化到任意一种支持的精度。
    - **图形处理单元 (GPU)** - Qualcomm® Adreno™ GPU 适合执行中等功率、中等性能的 AI 工作负载。AI 工作负载可以通过 OpenCL 内核进行加速。GPU 还可用于加速模型预处理/后处理。
    - **中央处理器 (CPU)** - 在 CPU 上进行 AI 推理可以用来与其他硬件加速器进行模型准确性/性能的基准测试。CPU 还可以用于运行模型的预处理/后处理。

## 架构

Qualcomm AI 产品包括硬件加速器和 AI SDK，以充分利用硬件的强大功能。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by Microsoft Visio, SVG Export ai_arch.svg ai_arch -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:v="http://schemas.microsoft.com/visio/2003/SVGExtensions/" width="10.5139in" height="10.8472in" viewbox="0 0 757.001 780.998" xml:space="preserve" color-interpolation-filters="sRGB" class="st30" aria-label="../_images/ai_arch.svg"><v:documentproperties v:langid="1033" v:viewmarkup="false"></v:documentproperties>
<style>.svg-2 .st1 { fill: #ffffff; stroke: #ffffff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999998 }
.svg-2 .st2 { marker-end: url("#mrkr4-8"); stroke: #000000; stroke-linecap: butt; stroke-width: 2 }
.svg-2 .st3 { fill: #000000; fill-opacity: 1; stroke: #000000; stroke-opacity: 1; stroke-width: 0.44247737072042 }
.svg-2 .st4 { fill: none; stroke: #7f7f7f; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999998 }
.svg-2 .st5 { fill: #000000; font-family: Microsoft YaHei; font-size: 1.5em; font-weight: bold }
.svg-2 .st6 { fill: #f5f6f7; stroke: #7f7f7f; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999998 }
.svg-2 .st7 { fill: #3253dc; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999998 }
.svg-2 .st8 { fill: #ffffff; font-family: Arial; font-size: 1.33333em }
.svg-2 .st9 { font-size: 1em }
.svg-2 .st10 { fill: #ffffff; font-family: Microsoft YaHei UI; font-size: 1.5em }
.svg-2 .st11 { fill: #ffffff; font-family: Arial; font-size: 1.5em }
.svg-2 .st12 { font-family: Microsoft YaHei UI; font-size: 1em }
.svg-2 .st13 { fill: #000000; font-family: Microsoft YaHei UI; font-size: 1.5em; font-weight: bold }
.svg-2 .st14 { font-family: Arial; font-size: 1em }
.svg-2 .st15 { fill: #dee3ec; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.749998 }
.svg-2 .st16 { fill: #000000; font-family: Arial; font-size: 1.33333em }
.svg-2 .st17 { fill: #000000; font-family: Arial; font-size: 1.5em }
.svg-2 .st18 { fill: #007884; stroke: #007884; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2 }
.svg-2 .st19 { fill: #007884; stroke: #007884; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.749998 }
.svg-2 .st20 { fill: #3253dc; stroke: #3253dc; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.749998 }
.svg-2 .st21 { fill: #ffffff; font-family: Arial; font-size: 1.16666em }
.svg-2 .st22 { fill: #dee3ec; stroke: #dee3ec; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.749998 }
.svg-2 .st23 { fill: #000000; font-family: Microsoft YaHei UI; font-size: 1.16666em }
.svg-2 .st24 { fill: #040a40; stroke: #040a40; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.749998 }
.svg-2 .st25 { fill: #ffffff; font-family: Microsoft YaHei UI; font-size: 1.16666em }
.svg-2 .st26 { fill: #000000; font-family: Arial; font-size: 1.5em; font-weight: bold }
.svg-2 .st27 { fill: #2a2aea; stroke: #2a2aea; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999998 }
.svg-2 .st28 { fill: #007884; stroke: #007884; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999998 }
.svg-2 .st29 { fill: #040a40; stroke: #040a40; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.999998 }
.svg-2 .st30 { fill: none; fill-rule: evenodd; font-size: 12px; overflow: visible; stroke-linecap: square; stroke-miterlimit: 3 }</style>
<defs id="Markers">	<g id="lend4">		<path d="M 2 1 L 0 0 L 2 -1 L 2 1 " style="stroke:none"></path>	</g>	<marker id="mrkr4-8" class="st3" v:arrowtype="4" v:arrowsize="2" v:setback="0" refx="-0" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend4" transform="scale(-2.2600025813113,-2.2600025813113) "></use>	</marker></defs><g v:mid="0" v:index="1" v:groupcontext="foregroundPage">	<title>ai_arch</title>	<v:pageproperties v:drawingscale="1" v:pagescale="1" v:drawingunits="19" v:shadowoffsetx="8.99998" v:shadowoffsety="-8.99998"></v:pageproperties>	<v:layer v:name="interfaces" v:index="0"></v:layer>	<g id="shape1-1" v:mid="1" v:groupcontext="shape" transform="translate(18.5011,-18.5)">		<title>Sheet.1</title>		<path d="M0 773 A8.00017 8.00017 -180 0 0 8 781 L712 781 A8.00017 8.00017 -180 0 0 720 773 L720 45 A8.00017 8.00017 -180					 0 0 712 37 L8 37 A8.00017 8.00017 -180 0 0 -0 45 L0 773 Z" class="st1"></path>	</g>	<g id="shape2-3" v:mid="2" v:groupcontext="shape" transform="translate(1415.2,72.9772) rotate(89.3823)">		<title>Sheet.2</title>		<path d="M0 781 L30.81 781 L39.85 781" class="st2"></path>	</g>	<g id="shape3-9" v:mid="3" v:groupcontext="shape" transform="translate(36.2428,-210.85)">		<title>Sheet.3</title>		<desc>Backend libraries</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(7.99998,7.99998,7.99998,7.99998)" v:verticalalign="0"></v:textblock>		<v:textrect cx="339.998" cy="667.084" width="680" height="227.83"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L675.5 781 A4.50009 4.50009 -180 0 0 680 776.5 L680 557.67 A4.50009					 4.50009 -180 0 0 675.5 553.17 L4.5 553.17 A4.50009 4.50009 -180 0 0 0 557.67 L0 776.5 Z" class="st4"></path>		<text x="8" y="577.37" class="st5" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>后端库</text>		</g>	<g id="shape4-12" v:mid="4" v:groupcontext="shape" transform="translate(276.243,-232.631)">		<title>Sheet.4</title>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L195.5 781 A4.50009 4.50009 -180 0 0 200 776.5 L200 611.63 A4.50009					 4.50009 -180 0 0 195.5 607.13 L4.5 607.13 A4.50009 4.50009 -180 0 0 -0 611.63 L0 776.5 Z" class="st6"></path>	</g>	<g id="shape5-14" v:mid="5" v:groupcontext="shape" transform="translate(282.183,-352.983)">		<title>Sheet.5</title>		<desc>Qualcomm AI Engine Direct API</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="91.2326" cy="758.525" width="182.47" height="44.9486"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L177.97 781 A4.50009 4.50009 -180 0 0 182.47 776.5 L182.47 740.55					 A4.50009 4.50009 -180 0 0 177.97 736.05 L4.5 736.05 A4.50009 4.50009 -180 0 0 -0 740.55 L0 776.5 Z" class="st7"></path>		<text x="15.64" y="753.72" class="st8" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm AI Engine <tspan x="55.22" dy="1.2em" class="st9">Direct API</tspan></text>		</g>	<g id="shape6-18" v:mid="6" v:groupcontext="shape" transform="translate(284.782,-298.65)">		<title>Sheet.6</title>		<desc>Kernels</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="91.2326" cy="758.525" width="182.47" height="44.9486"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L177.97 781 A4.50009 4.50009 -180 0 0 182.47 776.5 L182.47 740.55					 A4.50009 4.50009 -180 0 0 177.97 736.05 L4.5 736.05 A4.50009 4.50009 -180 0 0 -0 740.55 L0 776.5 Z" class="st7"></path>		<text x="73.23" y="764" class="st10" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>内核</text>		</g>	<g id="shape7-21" v:mid="7" v:groupcontext="shape" transform="translate(284.782,-242.834)">		<title>Sheet.7</title>		<desc>OpenCL</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="91.2326" cy="758.525" width="182.47" height="44.9486"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L177.97 781 A4.50009 4.50009 -180 0 0 182.47 776.5 L182.47 740.55					 A4.50009 4.50009 -180 0 0 177.97 736.05 L4.5 736.05 A4.50009 4.50009 -180 0 0 -0 740.55 L0 776.5 Z" class="st7"></path>		<text x="57.71" y="763.92" class="st11" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>OpenCL</text>		</g>	<g id="shape8-24" v:mid="8" v:groupcontext="shape" transform="translate(502.242,-232.631)">		<title>Sheet.8</title>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L195.5 781 A4.50009 4.50009 -180 0 0 200 776.5 L200 611.63 A4.50009					 4.50009 -180 0 0 195.5 607.13 L4.5 607.13 A4.50009 4.50009 -180 0 0 -0 611.63 L0 776.5 Z" class="st6"></path>	</g>	<g id="shape9-26" v:mid="9" v:groupcontext="shape" transform="translate(508.62,-352.983)">		<title>Sheet.9</title>		<desc>Qualcomm AI Engine Direct API</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="91.2326" cy="758.525" width="182.47" height="44.9486"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L177.97 781 A4.50009 4.50009 -180 0 0 182.47 776.5 L182.47 740.55					 A4.50009 4.50009 -180 0 0 177.97 736.05 L4.5 736.05 A4.50009 4.50009 -180 0 0 -0 740.55 L0 776.5 Z" class="st7"></path>		<text x="15.64" y="753.72" class="st8" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm AI Engine <tspan x="55.22" dy="1.2em" class="st9">Direct API</tspan></text>		</g>	<g id="shape10-30" v:mid="10" v:groupcontext="shape" transform="translate(511.22,-298.65)">		<title>Sheet.10</title>		<desc>QML</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="91.2326" cy="758.525" width="182.47" height="44.9486"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L177.97 781 A4.50009 4.50009 -180 0 0 182.47 776.5 L182.47 740.55					 A4.50009 4.50009 -180 0 0 177.97 736.05 L4.5 736.05 A4.50009 4.50009 -180 0 0 -0 740.55 L0 776.5 Z" class="st7"></path>		<text x="71.73" y="763.92" class="st11" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>QML</text>		</g>	<g id="shape11-33" v:mid="11" v:groupcontext="shape" transform="translate(511.22,-242.834)">		<title>Sheet.11</title>		<desc>Neon</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="91.2326" cy="758.525" width="182.47" height="44.9486"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L177.97 781 A4.50009 4.50009 -180 0 0 182.47 776.5 L182.47 740.55					 A4.50009 4.50009 -180 0 0 177.97 736.05 L4.5 736.05 A4.50009 4.50009 -180 0 0 -0 740.55 L0 776.5 Z" class="st7"></path>		<text x="69.72" y="763.92" class="st11" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Neon</text>		</g>	<g id="shape12-36" v:mid="12" v:groupcontext="shape" transform="translate(50.2428,-232.631)">		<title>Sheet.12</title>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L195.5 781 A4.50009 4.50009 -180 0 0 200 776.5 L200 611.63 A4.50009					 4.50009 -180 0 0 195.5 607.13 L4.5 607.13 A4.50009 4.50009 -180 0 0 -0 611.63 L0 776.5 Z" class="st6"></path>	</g>	<g id="shape13-38" v:mid="13" v:groupcontext="shape" transform="translate(57.3068,-352.983)">		<title>Sheet.13</title>		<desc>Qualcomm AI Engine Direct API</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="91.2326" cy="758.525" width="182.47" height="44.9486"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L177.97 781 A4.50009 4.50009 -180 0 0 182.47 776.5 L182.47 740.55					 A4.50009 4.50009 -180 0 0 177.97 736.05 L4.5 736.05 A4.50009 4.50009 -180 0 0 -0 740.55 L0 776.5 Z" class="st7"></path>		<text x="15.64" y="753.72" class="st8" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm AI Engine <tspan x="55.22" dy="1.2em" class="st9">Direct API</tspan></text>		</g>	<g id="shape14-42" v:mid="14" v:groupcontext="shape" transform="translate(59.9063,-298.65)">		<title>Sheet.14</title>		<desc>HTP core</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="91.2326" cy="758.525" width="182.47" height="44.9486"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L177.97 781 A4.50009 4.50009 -180 0 0 182.47 776.5 L182.47 740.55					 A4.50009 4.50009 -180 0 0 177.97 736.05 L4.5 736.05 A4.50009 4.50009 -180 0 0 -0 740.55 L0 776.5 Z" class="st7"></path>		<text x="52.73" y="764" class="st11" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>HTP <tspan class="st12">核心</tspan></text>		</g>	<g id="shape15-46" v:mid="15" v:groupcontext="shape" transform="translate(59.9063,-242.834)">		<title>Sheet.15</title>		<desc>HMX/HVX</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="91.2326" cy="758.525" width="182.47" height="44.9486"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L177.97 781 A4.50009 4.50009 -180 0 0 182.47 776.5 L182.47 740.55					 A4.50009 4.50009 -180 0 0 177.97 736.05 L4.5 736.05 A4.50009 4.50009 -180 0 0 -0 740.55 L0 776.5 Z" class="st7"></path>		<text x="50.23" y="763.92" class="st11" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>HMX/HVX</text>		</g>	<g id="shape16-49" v:mid="16" v:groupcontext="shape" transform="translate(36.2428,-74.8497)">		<title>Sheet.16</title>		<desc>Hardware IP cores</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(7.99998,7.99998,7.99998,7.99998)" v:verticalalign="2"></v:textblock>		<v:textrect cx="339.998" cy="722.038" width="680" height="117.922"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L675.5 781 A4.50009 4.50009 -180 0 0 680 776.5 L680 667.58 A4.50009					 4.50009 -180 0 0 675.5 663.08 L4.5 663.08 A4.50009 4.50009 -180 0 0 0 667.58 L0 776.5 Z" class="st4"></path>		<text x="8" y="767.52" class="st13" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>硬件<tspan class="st14"> </tspan><tspan class="st14">IP </tspan>核心</text>		</g>	<g id="shape17-54" v:mid="17" v:groupcontext="shape" transform="translate(50.2428,-114.867)">		<title>Sheet.17</title>		<desc>NPU (DSP/HMX/HTP)</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="99.9986" cy="758.265" width="200.01" height="45.4663"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L195.5 781 A4.50009 4.50009 -180 0 0 200 776.5 L200 740.03 A4.50009					 4.50009 -180 0 0 195.5 735.53 L4.5 735.53 A4.50009 4.50009 -180 0 0 0 740.03 L0 776.5 Z" class="st15"></path>		<text x="83.11" y="753.47" class="st16" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>NPU <v:newlinechar></v:newlinechar><v:paragraph v:horizalign="1"></v:paragraph><tspan x="40" dy="1.2em" class="st9">(DSP/HMX/HTP)</tspan></text>		</g>	<g id="shape18-58" v:mid="18" v:groupcontext="shape" transform="translate(276.243,-114.867)">		<title>Sheet.18</title>		<desc>GPU</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="99.9986" cy="758.265" width="200.01" height="45.4663"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L195.5 781 A4.50009 4.50009 -180 0 0 200 776.5 L200 740.03 A4.50009					 4.50009 -180 0 0 195.5 735.53 L4.5 735.53 A4.50009 4.50009 -180 0 0 0 740.03 L0 776.5 Z" class="st15"></path>		<text x="80.5" y="763.67" class="st17" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>GPU</text>		</g>	<g id="shape19-61" v:mid="19" v:groupcontext="shape" transform="translate(502.242,-114.867)">		<title>Sheet.19</title>		<desc>CPU</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="99.9986" cy="758.265" width="200.01" height="45.4663"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L195.5 781 A4.50009 4.50009 -180 0 0 200 776.5 L200 740.03 A4.50009					 4.50009 -180 0 0 195.5 735.53 L4.5 735.53 A4.50009 4.50009 -180 0 0 0 740.03 L0 776.5 Z" class="st15"></path>		<text x="81" y="763.67" class="st17" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>CPU</text>		</g>	<g id="shape20-64" v:mid="20" v:groupcontext="shape" transform="translate(897.241,81.3962) rotate(90)">		<title>Sheet.20</title>		<path d="M0 781 L30.8 781 L39.84 781" class="st2"></path>	</g>	<g id="shape21-69" v:mid="21" v:groupcontext="shape" transform="translate(53.7428,-699.603)">		<title>Sheet.21</title>		<desc>TensorFlow</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="62.4987" cy="756.851" width="125" height="48.2965"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L120.5 781 A4.50009 4.50009 -180 0 0 125 776.5 L125 737.2 A4.50009					 4.50009 -180 0 0 120.5 732.7 L4.5 732.7 A4.50009 4.50009 -180 0 0 0 737.2 L0 776.5 Z" class="st18"></path>		<text x="15.49" y="762.25" class="st11" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>TensorFlow</text>		</g>	<g id="shape22-72" v:mid="22" v:groupcontext="shape" transform="translate(221.743,-699.603)">		<title>Sheet.22</title>		<desc>LiteRT</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="62.4987" cy="756.851" width="125" height="48.2965"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L120.5 781 A4.50009 4.50009 -180 0 0 125 776.5 L125 737.2 A4.50009					 4.50009 -180 0 0 120.5 732.7 L4.5 732.7 A4.50009 4.50009 -180 0 0 0 737.2 L0 776.5 Z" class="st19"></path>		<text x="35.99" y="762.25" class="st11" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>LiteRT</text>		</g>	<g id="shape23-75" v:mid="23" v:groupcontext="shape" transform="translate(397.742,-699.603)">		<title>Sheet.23</title>		<desc>ONNX</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="62.4987" cy="756.851" width="125" height="48.2965"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L120.5 781 A4.50009 4.50009 -180 0 0 125 776.5 L125 737.2 A4.50009					 4.50009 -180 0 0 120.5 732.7 L4.5 732.7 A4.50009 4.50009 -180 0 0 0 737.2 L0 776.5 Z" class="st19"></path>		<text x="36.5" y="762.25" class="st11" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>ONNX</text>		</g>	<g id="shape24-78" v:mid="24" v:groupcontext="shape" transform="translate(573.742,-699.603)">		<title>Sheet.24</title>		<desc>PyTorch</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="62.4987" cy="756.851" width="125" height="48.2965"></v:textrect>		<path d="M0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L120.5 781 A4.50009 4.50009 -180 0 0 125 776.5 L125 737.2 A4.50009					 4.50009 -180 0 0 120.5 732.7 L4.5 732.7 A4.50009 4.50009 -180 0 0 0 737.2 L0 776.5 Z" class="st19"></path>		<text x="28.99" y="762.25" class="st11" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>PyTorch</text>		</g>	<g id="shape25-81" v:mid="25" v:groupcontext="shape" transform="translate(53.7428,-635.609)">		<title>Sheet.25</title>		<desc>.pb</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="62.4987" cy="768.924" width="125" height="24.1483"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L120.5 781 A4.50009 4.50009 -180 0 0 125 776.5 L125 761.35 A4.50009					 4.50009 -180 0 0 120.5 756.85 L4.5 756.85 A4.50009 4.50009 -180 0 0 0 761.35 L0 776.5 Z" class="st19"></path>		<text x="49.99" y="774.32" class="st11" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>.pb</text>		</g>	<g id="shape26-84" v:mid="26" v:groupcontext="shape" transform="translate(221.743,-635.609)">		<title>Sheet.26</title>		<desc>.tflite</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="62.4987" cy="768.924" width="125" height="24.1483"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L120.5 781 A4.50009 4.50009 -180 0 0 125 776.5 L125 761.35 A4.50009					 4.50009 -180 0 0 120.5 756.85 L4.5 756.85 A4.50009 4.50009 -180 0 0 0 761.35 L0 776.5 Z" class="st19"></path>		<text x="43.49" y="774.32" class="st11" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>.tflite</text>		</g>	<g id="shape27-87" v:mid="27" v:groupcontext="shape" transform="translate(397.742,-633.799)">		<title>Sheet.27</title>		<desc>.onnx</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="62.4987" cy="767.416" width="125" height="27.1667"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L120.5 781 A4.50009 4.50009 -180 0 0 125 776.5 L125 758.33 A4.50009					 4.50009 -180 0 0 120.5 753.83 L4.5 753.83 A4.50009 4.50009 -180 0 0 0 758.33 L0 776.5 Z" class="st19"></path>		<text x="40.48" y="772.82" class="st11" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>.onnx</text>		</g>	<g id="shape28-90" v:mid="28" v:groupcontext="shape" transform="translate(573.742,-635.609)">		<title>Sheet.28</title>		<desc>.ts</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="62.4987" cy="768.924" width="125" height="24.1483"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L120.5 781 A4.50009 4.50009 -180 0 0 125 776.5 L125 761.35 A4.50009					 4.50009 -180 0 0 120.5 756.85 L4.5 756.85 A4.50009 4.50009 -180 0 0 0 761.35 L0 776.5 Z" class="st19"></path>		<text x="53" y="774.32" class="st11" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>.ts</text>		</g>	<g id="shape29-93" v:mid="29" v:groupcontext="shape" transform="translate(1066.82,81.3962) rotate(90)">		<title>Sheet.29</title>		<path d="M0 781 L29.6 781 L38.64 781" class="st2"></path>	</g>	<g id="shape30-98" v:mid="30" v:groupcontext="shape" transform="translate(1241.24,81.3962) rotate(90)">		<title>Sheet.30</title>		<path d="M0 781 L29.6 781 L38.64 781" class="st2"></path>	</g>	<g id="shape31-103" v:mid="31" v:groupcontext="shape" v:layermember="0" transform="translate(1157.24,548.036) rotate(90)">		<title>Sheet.31</title>		<path d="M0 781 L63.59 781 L72.63 781" class="st2"></path>	</g>	<g id="shape32-108" v:mid="32" v:groupcontext="shape" v:layermember="0" transform="translate(1382.92,548.602) rotate(90)">		<title>Sheet.32</title>		<path d="M0 781 L63.02 781 L72.06 781" class="st2"></path>	</g>	<g id="shape33-113" v:mid="33" v:groupcontext="shape" transform="translate(36.2428,-36.875)">		<title>Sheet.33</title>		<desc>QTI</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="51.9987" cy="770.012" width="104" height="21.9749"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L99.5 781 A4.50009 4.50009 -180 0 0 104 776.5 L104 763.52 A4.50009					 4.50009 -180 0 0 99.5 759.02 L4.5 759.02 A4.50009 4.50009 -180 0 0 0 763.52 L0 776.5 Z" class="st20"></path>		<text x="40.33" y="774.21" class="st21" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>QTI</text>		</g>	<g id="shape34-116" v:mid="34" v:groupcontext="shape" transform="translate(156.243,-36.875)">		<title>Sheet.34</title>		<desc>Hardware</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="51.9987" cy="770.012" width="104" height="21.9749"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L99.5 781 A4.50009 4.50009 -180 0 0 104 776.5 L104 763.52 A4.50009					 4.50009 -180 0 0 99.5 759.02 L4.5 759.02 A4.50009 4.50009 -180 0 0 0 763.52 L0 776.5 Z" class="st22"></path>		<text x="38" y="774.27" class="st23" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>硬件</text>		</g>	<g id="shape35-119" v:mid="35" v:groupcontext="shape" transform="translate(276.243,-36.875)">		<title>Sheet.35</title>		<desc>OSS</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="51.9987" cy="770.012" width="104" height="21.9749"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L99.5 781 A4.50009 4.50009 -180 0 0 104 776.5 L104 763.52 A4.50009					 4.50009 -180 0 0 99.5 759.02 L4.5 759.02 A4.50009 4.50009 -180 0 0 -0 763.52 L0 776.5 Z" class="st19"></path>		<text x="37.22" y="774.21" class="st21" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>OSS</text>		</g>	<g id="shape36-122" v:mid="36" v:groupcontext="shape" transform="translate(396.242,-36.875)">		<title>Sheet.36</title>		<desc>Third-party</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="51.9987" cy="770.012" width="104" height="21.9749"></v:textrect>		<path d="M-0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L99.5 781 A4.50009 4.50009 -180 0 0 104 776.5 L104 763.52 A4.50009					 4.50009 -180 0 0 99.5 759.02 L4.5 759.02 A4.50009 4.50009 -180 0 0 0 763.52 L0 776.5 Z" class="st24"></path>		<text x="31" y="774.27" class="st25" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>第三方</text>		</g>	<g id="shape37-125" v:mid="37" v:groupcontext="shape" transform="translate(36.2428,-458.849)">		<title>Sheet.37</title>		<desc>ML runtime frameworks, applications</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(7.99998,7.99998,7.99998,7.99998)" v:verticalalign="0"></v:textblock>		<v:textrect cx="339.998" cy="701.839" width="680" height="158.321"></v:textrect>		<path d="M0 776.5 A4.50009 4.50009 -180 0 0 4.5 781 L675.5 781 A4.50009 4.50009 -180 0 0 680 776.5 L680 627.18 A4.50009					 4.50009 -180 0 0 675.5 622.68 L4.5 622.68 A4.50009 4.50009 -180 0 0 0 627.18 L0 776.5 Z" class="st4"></path>		<text x="8" y="647.1" class="st26" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>ML runtime <tspan class="st12">框架</tspan><tspan class="st12">、</tspan><tspan class="st12">应用程序</tspan></text>		</g>	<g id="shape38-131" v:mid="38" v:groupcontext="shape" transform="translate(53.3019,-473.849)">		<title>Sheet.38</title>		<desc>Qualcomm Neural Processing SDK</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="62.9396" cy="728.499" width="125.89" height="105"></v:textrect>		<path d="M-0 773 A8.00017 8.00017 -180 0 0 8 781 L117.88 781 A8.00017 8.00017 -180 0 0 125.88 773 L125.88 684 A8.00017					 8.00017 -180 0 0 117.88 676 L8 676 A8.00017 8.00017 -180 0 0 0 684 L0 773 Z" class="st27"></path>		<text x="19.43" y="701.5" class="st11" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm <tspan x="36.43" dy="1.2em" class="st9">Neural </tspan><tspan x="18.42" dy="1.2em" class="st9">Processing </tspan><tspan x="44.43" dy="1.2em" class="st9">SDK</tspan></text>		</g>	<g id="shape39-137" v:mid="39" v:groupcontext="shape" transform="translate(221.361,-473.849)">		<title>Sheet.39</title>		<desc>LiteRT</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="62.9396" cy="728.499" width="125.89" height="105"></v:textrect>		<path d="M-0 773 A8.00017 8.00017 -180 0 0 8 781 L117.88 781 A8.00017 8.00017 -180 0 0 125.88 773 L125.88 684 A8.00017					 8.00017 -180 0 0 117.88 676 L8 676 A8.00017 8.00017 -180 0 0 0 684 L0 773 Z" class="st28"></path>		<text x="36.43" y="735.25" class="st11" v:langid="1033"><v:paragraph v:spline="-1.5" v:horizalign="1"></v:paragraph><v:tablist></v:tablist>LiteRT</text>		</g>	<g id="shape40-140" v:mid="40" v:groupcontext="shape" transform="translate(397.301,-473.849)">		<title>Sheet.40</title>		<desc>ONNX RT</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="62.9396" cy="728.499" width="125.89" height="105"></v:textrect>		<path d="M-0 773 A8.00017 8.00017 -180 0 0 8 781 L117.88 781 A8.00017 8.00017 -180 0 0 125.88 773 L125.88 684 A8.00017					 8.00017 -180 0 0 117.88 676 L8 676 A8.00017 8.00017 -180 0 0 0 684 L0 773 Z" class="st28"></path>		<text x="19.94" y="735.25" class="st11" v:langid="1033"><v:paragraph v:spline="-1.5" v:horizalign="1"></v:paragraph><v:tablist></v:tablist>ONNX  RT</text>		</g>	<g id="shape41-143" v:mid="41" v:groupcontext="shape" transform="translate(573.301,-473.849)">		<title>Sheet.41</title>		<desc>Other ML frameworks</desc>		<v:userdefs></v:userdefs>		<v:textblock v:margins="rect(3.99999,3.99999,3.99999,3.99999)"></v:textblock>		<v:textrect cx="62.9396" cy="728.499" width="125.89" height="105"></v:textrect>		<path d="M-0 773 A8.00017 8.00017 -180 0 0 8 781 L117.88 781 A8.00017 8.00017 -180 0 0 125.88 773 L125.88 684 A8.00017					 8.00017 -180 0 0 117.88 676 L8 676 A8.00017 8.00017 -180 0 0 0 684 L0 773 Z" class="st29"></path>		<text x="9.44" y="735.34" class="st10" v:langid="1033"><v:paragraph v:spline="-1.5" v:horizalign="1"></v:paragraph><v:tablist></v:tablist>其他<tspan class="st14"> </tspan><tspan class="st14">ML </tspan>框架</text>		</g>	<g id="shape42-148" v:mid="42" v:groupcontext="shape" v:layermember="0" transform="translate(930.915,548.435) rotate(90)">		<title>Sheet.42</title>		<path d="M0 781 L63.19 781 L72.23 781" class="st2"></path>	</g></g>
</svg>

### AI 硬件加速器

AI 工作负载可以在多个硬件核心上加速：

- Qualcomm^®^ Hexagon™ 张量处理器 (HTP) - 又称 NPU/DSP/HMX，适合以低功耗、高性能执行 AI 工作负载。为优化性能，需要对预训练模型进行量化，使其达到支持的任一种精度。
- Qualcomm^®^ Adreno™ GPU - 适合以中等功率、中等性能执行 AI 工作负载。AI 工作负载可以通过 OpenCL 内核进行加速。GPU 还可用于加速模型预处理/后处理。
- Qualcomm^®^ Kryo™ CPU - 在 CPU 上进行 AI 推理可以用来与其他硬件加速器进行模型准确性/性能的基准测试。CPU 还可以用于运行模型的预处理/后处理。

### AI 软件栈

AI 堆栈包含各种 SDK，以便利用 AI 硬件加速器的强大功能。开发者可以选择他们喜欢的技术栈来部署 AI 工作负载。预训练模型（TFLite 模型除外）在运行之前需要使用所选 AI 栈 SDK 将其转换为可执行格式。需要注意的是，TFLite Delegate 允许开发者直接运行 TFLite 模型。

- [Qualcomm Neural Processing Engine (SNPE)](https://docs.qualcomm.com/bundle/publicresource/topics/80-63442-2)

    一站式解决方案 SDK 提供 C、C++ 和 Java API，以支持异构计算、系统级配置并将 AI 工作负载引导至所有加速器核心。为开发者提供灵活性，包括核心间的协作支持和其他高级功能。
- [Qualcomm AI Engine Direct (QNN)](https://docs.qualcomm.com/bundle/publicresource/topics/80-63442-50)

    Lower-level的，高度可定制的统一 API，通过各自的库加速所有 AI 加速核心上的 AI 模型。可以直接用于针对特定的加速器核心或从各流行 runtime（包括 Qualcomm Neural Processing Engine SDK、TensorFlow Lite 和 ONNX runtime）的 delegate 工作负载。Low-level SDK 提供更多功能和调试能力。
- [AI Model Efficiency Toolkit (AIMET)](https://quic.github.io/aimet-pages/releases/latest/index.html)

    用于优化（压缩和量化）训练后的神经网络模型的开源库。这是一个旨在生成优化过的量化模型的复杂 SDK。它仅适用于高级开发者。

参考资料

| 标题 | 文档号 |
| --- | --- |
| [AI Hub](https://aihub.qualcomm.com/get-started) | — |
| [Qualcomm AI Model Efficiency Toolkit](https://quic.github.io/aimet-pages/releases/latest/index.html) | — |
| [Qualcomm Neural Processing Engine](https://docs.qualcomm.com/bundle/publicresource/topics/80-63442-2/) | 80-63442-2 |
| [Qualcomm AI Engine Direct](https://docs.qualcomm.com/bundle/publicresource/topics/80-63442-50/) | 80-63442-50 |
| [AI Engine Direct: TFLite Delegate](https://docs.qualcomm.com/bundle/publicresource/topics/80-63442-50/tflite_delegate.html) | 80-63442-50 |
| [Qualcomm Intelligent Multimedia SDK](https://docs.qualcomm.com/bundle/publicresource/topics/80-70020-50/example-applications.html) | 80-70020-50 |

Last Published: Jul 23, 2025

[Previous Topic
AI/ML 文档](https://docs.qualcomm.com/bundle/publicresource/80-70020-15SC/topics/home.md) [Next Topic
API](https://docs.qualcomm.com/bundle/publicresource/80-70020-15SC/topics/interfaces.md)