# AI 軟體概覽與架構

Qualcomm^®^ Linux AI 軟體使您得以在高通的硬體加速器 (例如神經處理單元 (NPU)、圖形處理單元 (GPU) 和中央處理器 (CPU) ) 上，以最佳方式部署預先訓練的深度學習模型。Qualcomm Linux 包含軟體開發套件 (SDK)、API、範例應用程式、開發工具和第三方框架支援，例如 GStreamer 與 TFLite，以利應用程式的開發。

多媒體 AI 應用程式使用 Qualcomm IM SDK GStreamer 外掛程式 API，以充分發揮 Qualcomm AI Engine Direct 和 Qualcomm Neural Processing Engine API 的功能，這些介面可為各種 AI 使用案例提供低階硬體加速，如下圖所示：

<?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 Page-1 -->
<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="8.28453in" viewbox="0 0 800.75 596.486" xml:space="preserve" color-interpolation-filters="sRGB" class="st24" aria-label="../_images/top_level_ai_hw.svg"><v:documentproperties v:langid="1033" v:viewmarkup="false"></v:documentproperties>
<style>.svg-1 .st1 { fill: #fafafa; stroke: #d2d7e1; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st2 { fill: #000000; font-family: Roboto; font-size: 1.33333em }
.svg-1 .st3 { font-size: 1em }
.svg-1 .st4 { fill: #040a40; stroke: #4a5a75; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st5 { fill: #ffffff; font-family: Roboto; font-size: 1.33333em }
.svg-1 .st6 { fill: #3253dc; stroke: #d8d8d8; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st7 { baseline-shift: 32.4948%; font-size: 0.649895em }
.svg-1 .st8 { fill: #3253dc; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st9 { fill: #ffffff; font-family: Roboto; font-size: 1.24999em }
.svg-1 .st10 { baseline-shift: 32.495%; font-size: 0.6499em }
.svg-1 .st11 { fill: #7c8aa3; stroke: #7c8aa3; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st12 { fill: #fafafa; font-family: Roboto; font-size: 1.33333em }
.svg-1 .st13 { marker-end: url("#mrkr4-54"); stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2 }
.svg-1 .st14 { fill: #000000; fill-opacity: 1; stroke: #000000; stroke-opacity: 1; stroke-width: 0.44247787610619 }
.svg-1 .st15 { marker-end: url("#mrkr4-65"); stroke: #000000; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.75 }
.svg-1 .st16 { fill: #000000; fill-opacity: 1; stroke: #000000; stroke-opacity: 1; stroke-width: 0.40983606557377 }
.svg-1 .st17 { fill: #6280cc; stroke: #6280cc; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st18 { fill: #ffffff; font-family: Roboto; font-size: 1.16666em }
.svg-1 .st19 { fill: #3253dc; stroke: #f5f6f7; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st20 { fill: #7c8aa3; stroke: #7c8aa3; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st21 { fill: #040a40; stroke: #f5f6f7; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st22 { fill: none; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st23 { fill: #000000; font-family: Roboto; font-size: 1.16666em }
.svg-1 .st24 { 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-54" class="st14" v:arrowtype="4" v:arrowsize="2" v:setback="4.52" refx="-4.52" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend4" transform="scale(-2.26,-2.26) "></use>	</marker>	<marker id="mrkr4-65" class="st16" v:arrowtype="4" v:arrowsize="2" v:setback="4.88" refx="-4.88" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend4" transform="scale(-2.44,-2.44) "></use>	</marker></defs><g v:mid="0" v:index="1" v:groupcontext="foregroundPage">	<title>Page-1</title>	<v:pageproperties v:drawingscale="0.0138889" v:pagescale="0.0138889" v:drawingunits="29" v:shadowoffsetx="9" v:shadowoffsety="-9"></v:pageproperties>	<v:layer v:name="full" v:index="0"></v:layer>	<g id="shape1313-1" v:mid="1313" v:groupcontext="shape" transform="translate(0.375,-0.375)">		<title>Sheet.1313</title>		<rect x="0" y="0.750005" width="800" height="595.736" rx="4" ry="4" class="st1"></rect>	</g>	<g id="shape1218-3" v:mid="1218" v:groupcontext="shape" transform="translate(18.584,-54.6081)">		<title>Sheet.1218</title>		<desc>Hardware</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:verticalalign="0"></v:textblock>		<v:textrect cx="383.583" cy="539.405" width="767.17" height="114.162"></v:textrect>		<rect x="0" y="482.325" width="767.166" height="114.162" rx="4.5" ry="4.5" class="st1"></rect>		<text x="4" y="500.73" class="st2" v:langid="1041"><v:paragraph></v:paragraph><v:tablist></v:tablist>Hardware</text>		</g>	<g id="shape1219-6" v:mid="1219" v:groupcontext="shape" transform="translate(18.584,-190.967)">		<title>Sheet.1219</title>		<desc>AI SDKs</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:verticalalign="0"></v:textblock>		<v:textrect cx="383.583" cy="539.405" width="767.17" height="114.162"></v:textrect>		<rect x="0" y="482.325" width="767.166" height="114.162" rx="4.5" ry="4.5" class="st1"></rect>		<text x="4" y="500.73" class="st2" v:langid="1041"><v:paragraph></v:paragraph><v:tablist></v:tablist>AI SDKs</text>		</g>	<g id="shape1220-9" v:mid="1220" v:groupcontext="shape" transform="translate(18.584,-326.375)">		<title>Sheet.1220</title>		<desc>Qualcomm IMSDK Gstreamer plugins</desc>		<v:textblock v:margins="rect(4,4,4,4)" v:verticalalign="0"></v:textblock>		<v:textrect cx="383.583" cy="519.118" width="767.17" height="154.736"></v:textrect>		<rect x="0" y="441.75" width="767.166" height="154.736" rx="4.5" ry="4.5" class="st1"></rect>		<text x="4" y="460.15" class="st2" v:langid="1041"><v:paragraph></v:paragraph><v:tablist></v:tablist>Qualcomm <tspan class="st3" v:langid="1033">IMSDK </tspan>Gstreamer <tspan class="st3" v:langid="1033">plugins</tspan></text>		</g>	<g id="shape1221-14" v:mid="1221" v:groupcontext="shape" transform="translate(18.584,-510.779)">		<title>Sheet.1221</title>		<desc>AI applications</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="383.583" cy="572.604" width="767.17" height="47.7652"></v:textrect>		<rect x="0" y="548.721" width="767.166" height="47.7652" rx="4.5" ry="4.5" class="st4"></rect>		<text x="330.8" y="577.4" class="st5" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>AI applications</text>		</g>	<g id="shape1222-17" v:mid="1222" v:groupcontext="shape" transform="translate(52.1191,-336.111)">		<title>Sheet.1222</title>		<desc>Qualcomm® Neural Processing Engine plugin (qtimlsnpe)</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="155.26" cy="541.236" width="310.52" height="110.5"></v:textrect>		<rect x="0" y="485.986" width="310.52" height="110.5" rx="4.5" ry="4.5" class="st6"></rect>		<text x="19.02" y="536.44" class="st5" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm<tspan dy="-0.235em" class="st7" v:basefontsize="16">®</tspan><tspan dy="0.153em" class="st3"> </tspan>Neural Processing Engine <tspan x="90.76" dy="1.2em" class="st3">plugin (qtimlsnpe)</tspan></text>		</g>	<g id="shape1223-23" v:mid="1223" v:groupcontext="shape" transform="translate(52.1191,-212.213)">		<title>Sheet.1223</title>		<desc>Qualcomm Neural Processing Engine</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="155.26" cy="565.092" width="310.52" height="62.7889"></v:textrect>		<rect x="0" y="533.697" width="310.52" height="62.7889" rx="4.5" ry="4.5" class="st8"></rect>		<text x="23.11" y="569.89" class="st5" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm Neural Processing Engine</text>		</g>	<g id="shape1224-26" v:mid="1224" v:groupcontext="shape" transform="translate(421.561,-336.111)">		<title>Sheet.1224</title>		<desc>Qualcomm® AI Engine Direct plugin (qtimlqnn)</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="77.6299" cy="538.986" width="155.26" height="115"></v:textrect>		<rect x="0" y="481.486" width="155.26" height="115" rx="4.5" ry="4.5" class="st6"></rect>		<text x="37.26" y="525.49" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm<tspan dy="-0.235em" class="st10" v:basefontsize="15">®</tspan><tspan dy="0.153em" class="st3"> </tspan><tspan x="24.82" dy="1.2em" class="st3">AI </tspan><tspan class="st3" v:langid="1033">E</tspan>ngine Direct <tspan x="20.81" dy="1.2em" class="st3">plugin (qtimlqnn)</tspan></text>		</g>	<g id="shape1225-34" v:mid="1225" v:groupcontext="shape" transform="translate(588.237,-336.111)">		<title>Sheet.1225</title>		<desc>TensorFlow Lite plugin (qtimltflite)</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="77.6299" cy="538.986" width="155.26" height="115"></v:textrect>		<rect x="0" y="481.486" width="155.26" height="115" rx="4.5" ry="4.5" class="st6"></rect>		<text x="24.35" y="525.49" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>TensorFlow Lite <tspan x="57.3" dy="1.2em" class="st3">plugin<v:lf></v:lf></tspan><tspan x="38.56" dy="1.2em" class="st3"> </tspan>(qtimltflite)</text>		</g>	<g id="shape1226-39" v:mid="1226" v:groupcontext="shape" transform="translate(52.1191,-75.0209)">		<title>Sheet.1226</title>		<desc>NPU (DSP/HMX/HTP)</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="91.3293" cy="565.434" width="182.66" height="62.1039"></v:textrect>		<rect x="0" y="534.382" width="182.659" height="62.1039" rx="4.5" ry="4.5" class="st11"></rect>		<text x="75.39" y="560.63" class="st12" v:langid="1041"><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="30.95" dy="1.2em" class="st3">(DSP/HMX/HTP)</tspan></text>		</g>	<g id="shape1227-43" v:mid="1227" v:groupcontext="shape" transform="translate(306.479,-75.0209)">		<title>Sheet.1227</title>		<desc>GPU</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="91.3293" cy="565.434" width="182.66" height="62.1039"></v:textrect>		<rect x="0" y="534.382" width="182.659" height="62.1039" rx="4.5" ry="4.5" class="st11"></rect>		<text x="75.65" y="570.23" class="st12" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>GPU</text>		</g>	<g id="shape1228-46" v:mid="1228" v:groupcontext="shape" transform="translate(560.838,-75.0209)">		<title>Sheet.1228</title>		<desc>CPU</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="91.3293" cy="565.434" width="182.66" height="62.1039"></v:textrect>		<rect x="0" y="534.382" width="182.659" height="62.1039" rx="4.5" ry="4.5" class="st11"></rect>		<text x="75.89" y="570.23" class="st12" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>CPU</text>		</g>	<g id="shape1229-49" v:mid="1229" v:groupcontext="shape" v:layermember="0" transform="translate(998.653,85.7072) rotate(90)">		<title>Sheet.1229</title>		<path d="M0 596.49 L18.06 596.49" class="st13"></path>	</g>	<g id="shape1230-55" v:mid="1230" v:groupcontext="shape" transform="translate(803.865,259.76) rotate(90)">		<title>Sheet.1230</title>		<path d="M0 596.49 L52.68 596.49" class="st13"></path>	</g>	<g id="shape1231-60" v:mid="1231" v:groupcontext="shape" v:layermember="0" transform="translate(998.653,405.519) rotate(90)">		<title>Sheet.1231</title>		<path d="M0 596.49 L14.11 596.49" class="st15"></path>	</g>	<g id="shape1233-66" v:mid="1233" v:groupcontext="shape" transform="translate(421.561,-214.434)">		<title>Sheet.1233</title>		<desc>Qualcomm AI Engine Direct</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="160.968" cy="565.092" width="321.94" height="62.7889"></v:textrect>		<rect x="0" y="533.697" width="321.936" height="62.7889" rx="4.5" ry="4.5" class="st8"></rect>		<text x="38" y="559.09" class="st5" v:langid="1033"><v:paragraph v:indentleft="34" v:spline="-1.5"></v:paragraph><v:tablist></v:tablist>Q<tspan class="st3" v:langid="1041">ualcomm AI <v:lf></v:lf></tspan><tspan x="38" dy="1.5em" class="st3" v:langid="1041">Engine Direct</tspan></text>		</g>	<g id="shape1234-71" v:mid="1234" v:groupcontext="shape" transform="translate(1285.19,260.486) rotate(90)">		<title>Sheet.1234</title>		<path d="M0 596.49 L50.94 596.49" class="st13"></path>	</g>	<g id="shape1235-76" v:mid="1235" v:groupcontext="shape" transform="translate(1095.68,260.875) rotate(90)">		<title>Sheet.1235</title>		<path d="M0 596.49 L50.64 596.49" class="st13"></path>	</g>	<g id="shape1240-81" v:mid="1240" v:groupcontext="shape" transform="translate(630.375,-225.851)">		<title>Sheet.1240</title>		<desc>TFLite Delegate</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="48.5695" cy="576.508" width="97.14" height="39.9566"></v:textrect>		<rect x="0" y="556.53" width="97.139" height="39.9566" rx="4.5" ry="4.5" class="st17"></rect>		<text x="29.06" y="572.31" class="st18" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>TFLite <tspan x="21.13" dy="1.2em" class="st3">Delegate</tspan></text>		</g>	<g id="shape1244-85" v:mid="1244" v:groupcontext="shape" transform="translate(361.541,-237.266) rotate(-0.105469)">		<title>Sheet.1244</title>		<path d="M0 596.49 L49.88 596.49" class="st13"></path>	</g>	<g id="shape1310-90" v:mid="1310" v:groupcontext="shape" transform="translate(453.28,-14.2835)">		<title>Sheet.1310</title>		<rect x="0" y="571.486" width="25" height="25" rx="4" ry="4" class="st19"></rect>	</g>	<g id="shape1311-92" v:mid="1311" v:groupcontext="shape" transform="translate(559.102,-14.2835)">		<title>Sheet.1311</title>		<rect x="0" y="571.486" width="25" height="25" rx="4" ry="4" class="st20"></rect>	</g>	<g id="shape1312-94" v:mid="1312" v:groupcontext="shape" transform="translate(661.081,-14.2835)">		<title>Sheet.1312</title>		<rect x="0" y="571.486" width="25" height="25" rx="4" ry="4" class="st21"></rect>	</g>	<g id="shape1314-96" v:mid="1314" v:groupcontext="shape" transform="translate(454.692,-13.6112)">		<title>Sheet.1314</title>		<desc>Qualcomm</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="63.1944" cy="583.986" width="126.39" height="25"></v:textrect>		<rect x="0" y="571.486" width="126.389" height="25" rx="4" ry="4" class="st22"></rect>		<text x="29.09" y="588.19" class="st23" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm</text>		</g>	<g id="shape1315-99" v:mid="1315" v:groupcontext="shape" transform="translate(559.692,-13.6112)">		<title>Sheet.1315</title>		<desc>Hardware</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="63.1944" cy="583.986" width="126.39" height="25"></v:textrect>		<rect x="0" y="571.486" width="126.389" height="25" rx="4" ry="4" class="st22"></rect>		<text x="32.94" y="588.19" class="st23" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Hardware</text>		</g>	<g id="shape1316-102" v:mid="1316" v:groupcontext="shape" transform="translate(661.081,-13.6112)">		<title>Sheet.1316</title>		<desc>Third-party</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="63.1944" cy="583.986" width="126.39" height="25"></v:textrect>		<rect x="0" y="571.486" width="126.389" height="25" rx="4" ry="4" class="st22"></rect>		<text x="29.51" y="588.19" class="st23" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Third-party</text>		</g></g>
</svg>

**Qualcomm Linux AI 堆疊的頂層 AI 硬體和軟體區塊**

Qualcomm Linux AI 軟體的關鍵組件如下：

- [AI 應用程式](https://docs.qualcomm.com/doc/80-70022-15TC/topic/sample-apps.html) ：基於 GStreamer 的範例應用程式，可供 [自訂](https://docs.qualcomm.com/bundle/publicresource/topics/80-70022-15B/customize-reference-app.html)。
- [GStreamer 外掛程式](https://docs.qualcomm.com/bundle/publicresource/topics/80-70022-50/gst-plugin-architecture.html) ：Qualcomm Linux 軟體提供基於 GStreamer 的機器學習外掛程式，其使用 TFLite 和 Qualcomm^®^ Neural Processing Engine SDK 等工具以加速 AI 推理，另搭配 GStreamer 外掛程式以進行預處理和後處理。
- Qualcomm AI 軟體包含兩個用於加速 AI 工作負載的 SDK。[Qualcomm Neural Processing Engine SDK](https://docs.qualcomm.com/bundle/publicresource/topics/80-63442-2/) 和 [Qualcomm AI Engine Direct](https://docs.qualcomm.com/bundle/publicresource/topics/80-63442-50/) 提供工具和函式庫，以便以最佳方式加速多個硬體加速器上的 AI 模型。
- 高通的 <abbr title="系統單晶片">系統單晶片 (SoC)</abbr> 提供三個用於處理 AI 負載的硬體核心。

    - [神經處理單元 (NPU)](https://docs.qualcomm.com/bundle/publicresource/topics/80-70022-15B/run-models.html) ：NPU，亦稱為 Qualcomm® Hexagon™ Tensor 處理器 (HTP) 或 DSP/HMX，適用於以低功耗、高效能的方式執行 AI 工作負載。為了優化效能，請將預先訓練的模型依照所支援的其中一種精度進行量化。
    - [圖形處理單元 (GPU)](https://docs.qualcomm.com/bundle/publicresource/topics/80-70022-15B/run-models.html) ：Qualcomm® Adreno™ GPU 適用於以中等功耗、中等效能的方式執行 AI 工作負載。AI 工作負載透過 OpenCL 核心獲得加速。您也可使用 GPU 加速模型的預處理和後處理。
    - [中央處理器 (CPU)](https://docs.qualcomm.com/bundle/publicresource/topics/80-70022-15B/run-models.html) ：您可藉由 CPU 上的 AI 推理，衡量模型的準確度或效能，並與其他硬體加速器進行比較。您也可利用 CPU 執行模型的預處理和後處理。

## 架構

下圖顯示可供使用的 AI 執行階段，例如 ONNX 和 LiteRT 的執行階段；可供使用的硬體加速器，例如 <abbr title="Neural Processing Unit">neural Processing Unit (NPU)</abbr> 、 <abbr title="Graphics Processing Unit">graphics Processing Unit (GPU)</abbr> 和 <abbr title="Central Processing Unit">central Processing Unit (CPU)</abbr> ；以及各加速器所對應的後端函式庫。

<?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 Page-1 -->
<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="12.6458in" height="10.3472in" viewbox="0 0 910.5 745" xml:space="preserve" color-interpolation-filters="sRGB" class="st23" aria-label="方塊圖顯示可供使用的執行階段、後端函式庫與硬體加速器。"><v:documentproperties v:langid="1033" v:viewmarkup="false"></v:documentproperties>
<style>.svg-2 .st1 { fill: #fafafa; stroke: #d2d7e1; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st2 { marker-end: url("#mrkr4-8"); stroke: #000000; stroke-width: 2 }
.svg-2 .st3 { fill: #000000; fill-opacity: 1; stroke: #000000; stroke-opacity: 1; stroke-width: 0.44247787610619 }
.svg-2 .st4 { fill: #000000; font-family: Roboto; font-size: 1.5em; font-weight: bold }
.svg-2 .st5 { font-size: 1em }
.svg-2 .st6 { fill: #f5f6f7; stroke: #d2d7e1; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st7 { fill: #3253dc; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st8 { fill: #ffffff; font-family: Roboto; font-size: 1.33333em }
.svg-2 .st9 { fill: #ffffff; font-family: Roboto; font-size: 1.5em }
.svg-2 .st10 { fill: #7c8aa3; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-2 .st11 { marker-end: url("#mrkr4-8"); stroke: #000000; stroke-linecap: butt; stroke-width: 2 }
.svg-2 .st12 { fill: #007884; stroke: #007884; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2 }
.svg-2 .st13 { fill: #007884; stroke: #007884; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-2 .st14 { fill: #2a2aea; stroke: #2a2aea; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st15 { fill: #007884; stroke: #007884; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st16 { fill: #040a40; stroke: #040a40; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st17 { fill: #3253dc; stroke: #f5f6f7; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st18 { fill: #7c8aa3; stroke: #7c8aa3; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st19 { fill: #040a40; stroke: #f5f6f7; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st20 { fill: none; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st21 { fill: #000000; font-family: Roboto; font-size: 1.00001em }
.svg-2 .st22 { fill: #007884; stroke: #f5f6f7; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st23 { 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="4.52" refx="-4.52" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend4" transform="scale(-2.26,-2.26) "></use>	</marker></defs><g v:mid="0" v:index="1" v:groupcontext="foregroundPage">	<title>Page-1</title>	<v:pageproperties v:drawingscale="0.0138889" v:pagescale="0.0138889" v:drawingunits="29" v:shadowoffsetx="9" v:shadowoffsety="-9"></v:pageproperties>	<v:layer v:name="interfaces" v:index="0"></v:layer>	<g id="shape61-1" v:mid="61" v:groupcontext="shape" transform="translate(0.5,-0.5)">		<title>Sheet.61</title>		<rect x="0" y="0.999977" width="909.5" height="744" rx="4.5" ry="4.5" class="st1"></rect>	</g>	<g id="shape38-3" v:mid="38" v:groupcontext="shape" transform="translate(1523.23,53.252) rotate(89.2198)">		<title>Sheet.38</title>		<path d="M0 745 L30.81 745" class="st2"></path>	</g>	<g id="shape1-9" v:mid="1" v:groupcontext="shape" transform="translate(22.9112,-192.85)">		<title>Sheet.1</title>		<desc>Backend libraries</desc>		<v:textblock v:margins="rect(8,8,8,8)" v:verticalalign="0"></v:textblock>		<v:textrect cx="429.486" cy="631.085" width="858.98" height="227.83"></v:textrect>		<rect x="0" y="517.17" width="858.972" height="227.83" rx="4.5" ry="4.5" class="st1"></rect>		<text x="8" y="541.37" class="st4" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>B<tspan class="st5" v:langid="1041">ackend libraries</tspan></text>		</g>	<g id="shape4-13" v:mid="4" v:groupcontext="shape" transform="translate(326.078,-208.132)">		<title>Sheet.4</title>		<rect x="0" y="571.132" width="252.639" height="173.868" rx="4.5" ry="4.5" class="st6"></rect>	</g>	<g id="shape5-15" v:mid="5" v:groupcontext="shape" transform="translate(333.581,-328.485)">		<title>Sheet.5</title>		<desc>Qualcomm AI Engine Direct API</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="115.246" cy="722.526" width="230.5" height="44.9487"></v:textrect>		<rect x="0" y="700.051" width="230.493" height="44.9487" rx="4.5" ry="4.5" class="st7"></rect>		<text x="66.89" y="717.73" class="st8" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm AI<v:lf></v:lf><tspan x="53.87" dy="1.2em" class="st5">Engine Direct API</tspan></text>		</g>	<g id="shape6-19" v:mid="6" v:groupcontext="shape" transform="translate(336.865,-274.151)">		<title>Sheet.6</title>		<desc>Kernels</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="115.246" cy="722.526" width="230.5" height="44.9487"></v:textrect>		<rect x="0" y="700.051" width="230.493" height="44.9487" rx="4.5" ry="4.5" class="st7"></rect>		<text x="85.23" y="727.93" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Kernels</text>		</g>	<g id="shape7-22" v:mid="7" v:groupcontext="shape" transform="translate(336.865,-218.335)">		<title>Sheet.7</title>		<desc>OpenCL</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="115.246" cy="722.526" width="230.5" height="44.9487"></v:textrect>		<rect x="0" y="700.051" width="230.493" height="44.9487" rx="4.5" ry="4.5" class="st7"></rect>		<text x="83.57" y="727.93" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>OpenCL</text>		</g>	<g id="shape9-25" v:mid="9" v:groupcontext="shape" transform="translate(611.56,-207.066)">		<title>Sheet.9</title>		<rect x="0" y="571.132" width="252.639" height="173.868" rx="4.5" ry="4.5" class="st6"></rect>	</g>	<g id="shape10-27" v:mid="10" v:groupcontext="shape" transform="translate(619.617,-327.418)">		<title>Sheet.10</title>		<desc>Qualcomm AI Engine Direct API</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="115.246" cy="722.526" width="230.5" height="44.9487"></v:textrect>		<rect x="0" y="700.051" width="230.493" height="44.9487" rx="4.5" ry="4.5" class="st7"></rect>		<text x="66.89" y="717.73" class="st8" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm AI<v:lf></v:lf><tspan x="53.87" dy="1.2em" class="st5">Engine Direct API</tspan></text>		</g>	<g id="shape11-31" v:mid="11" v:groupcontext="shape" transform="translate(622.901,-273.085)">		<title>Sheet.11</title>		<desc>QML</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="115.246" cy="722.526" width="230.5" height="44.9487"></v:textrect>		<rect x="0" y="700.051" width="230.493" height="44.9487" rx="4.5" ry="4.5" class="st7"></rect>		<text x="96.36" y="727.93" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>QML</text>		</g>	<g id="shape12-34" v:mid="12" v:groupcontext="shape" transform="translate(622.901,-217.269)">		<title>Sheet.12</title>		<desc>Neon</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="115.246" cy="722.526" width="230.5" height="44.9487"></v:textrect>		<rect x="0" y="700.051" width="230.493" height="44.9487" rx="4.5" ry="4.5" class="st7"></rect>		<text x="93.96" y="727.93" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Neon</text>		</g>	<g id="shape14-37" v:mid="14" v:groupcontext="shape" transform="translate(40.5959,-207.066)">		<title>Sheet.14</title>		<rect x="0" y="571.132" width="252.639" height="173.868" rx="4.5" ry="4.5" class="st6"></rect>	</g>	<g id="shape15-39" v:mid="15" v:groupcontext="shape" transform="translate(49.5191,-327.418)">		<title>Sheet.15</title>		<desc>Qualcomm AI Engine Direct API</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="115.246" cy="722.526" width="230.5" height="44.9487"></v:textrect>		<rect x="0" y="700.051" width="230.493" height="44.9487" rx="4.5" ry="4.5" class="st7"></rect>		<text x="66.89" y="717.73" class="st8" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm<tspan class="st5" v:langid="1033"> </tspan>AI<v:lf></v:lf><tspan x="53.87" dy="1.2em" class="st5">Engine Direct API</tspan></text>		</g>	<g id="shape16-44" v:mid="16" v:groupcontext="shape" transform="translate(52.8029,-273.085)">		<title>Sheet.16</title>		<desc>HTP core</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="115.246" cy="722.526" width="230.5" height="44.9487"></v:textrect>		<rect x="0" y="700.051" width="230.493" height="44.9487" rx="4.5" ry="4.5" class="st7"></rect>		<text x="77.9" y="727.93" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>HTP core</text>		</g>	<g id="shape17-47" v:mid="17" v:groupcontext="shape" transform="translate(52.8029,-217.269)">		<title>Sheet.17</title>		<desc>HMX/HVX</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="115.246" cy="722.526" width="230.5" height="44.9487"></v:textrect>		<rect x="0" y="700.051" width="230.493" height="44.9487" rx="4.5" ry="4.5" class="st7"></rect>		<text x="73.84" y="727.93" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>HMX/HVX</text>		</g>	<g id="shape18-50" v:mid="18" v:groupcontext="shape" transform="translate(22.9112,-56.8499)">		<title>Sheet.18</title>		<desc>Hardware IP cores</desc>		<v:textblock v:margins="rect(8,8,8,8)" v:verticalalign="2"></v:textblock>		<v:textrect cx="429.486" cy="686.039" width="858.98" height="117.922"></v:textrect>		<rect x="0" y="627.078" width="858.972" height="117.922" rx="4.5" ry="4.5" class="st1"></rect>		<text x="8" y="731.6" class="st4" v:langid="1041"><v:paragraph></v:paragraph><v:tablist></v:tablist>Hardware IP cores</text>		</g>	<g id="shape19-53" v:mid="19" v:groupcontext="shape" transform="translate(40.5959,-96.8682)">		<title>Sheet.19</title>		<desc>NPU (DSP/HMX/HTP)</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="126.319" cy="722.267" width="252.64" height="45.4664"></v:textrect>		<rect x="0" y="699.534" width="252.639" height="45.4664" rx="4.5" ry="4.5" class="st10"></rect>		<text x="110.38" y="717.47" class="st8" v:langid="1041"><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="65.94" dy="1.2em" class="st5">(DSP/HMX/HTP)</tspan></text>		</g>	<g id="shape20-57" v:mid="20" v:groupcontext="shape" transform="translate(326.078,-96.8682)">		<title>Sheet.20</title>		<desc>GPU</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="126.319" cy="722.267" width="252.64" height="45.4664"></v:textrect>		<rect x="0" y="699.534" width="252.639" height="45.4664" rx="4.5" ry="4.5" class="st10"></rect>		<text x="108.68" y="727.67" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>GPU</text>		</g>	<g id="shape21-60" v:mid="21" v:groupcontext="shape" transform="translate(611.56,-96.8682)">		<title>Sheet.21</title>		<desc>CPU</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="126.319" cy="722.267" width="252.64" height="45.4664"></v:textrect>		<rect x="0" y="699.534" width="252.639" height="45.4664" rx="4.5" ry="4.5" class="st10"></rect>		<text x="108.95" y="727.67" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>CPU</text>		</g>	<g id="shape35-63" v:mid="35" v:groupcontext="shape" transform="translate(868.967,63.3964) rotate(90)">		<title>Sheet.35</title>		<path d="M0 745 L30.8 745" class="st11"></path>	</g>	<g id="shape27-68" v:mid="27" v:groupcontext="shape" transform="translate(45.0171,-681.604)">		<title>Sheet.27</title>		<desc>TensorFlow</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="78.9497" cy="720.852" width="157.9" height="48.2966"></v:textrect>		<rect x="0" y="696.703" width="157.899" height="48.2966" rx="4.5" ry="4.5" class="st12"></rect>		<text x="31.97" y="726.25" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>TensorFlow</text>		</g>	<g id="shape28-71" v:mid="28" v:groupcontext="shape" transform="translate(257.234,-681.604)">		<title>Sheet.28</title>		<desc>LiteRT</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="78.9497" cy="720.852" width="157.9" height="48.2966"></v:textrect>		<rect x="0" y="696.703" width="157.899" height="48.2966" rx="4.5" ry="4.5" class="st13"></rect>		<text x="53.3" y="726.25" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Lite<tspan class="st5" v:langid="1033">RT</tspan></text>		</g>	<g id="shape29-75" v:mid="29" v:groupcontext="shape" transform="translate(479.556,-681.604)">		<title>Sheet.29</title>		<desc>ONNX</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="78.9497" cy="720.852" width="157.9" height="48.2966"></v:textrect>		<rect x="0" y="696.703" width="157.899" height="48.2966" rx="4.5" ry="4.5" class="st13"></rect>		<text x="54.29" y="726.25" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>ONNX</text>		</g>	<g id="shape30-78" v:mid="30" v:groupcontext="shape" transform="translate(701.878,-681.604)">		<title>Sheet.30</title>		<desc>PyTorch</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="78.9497" cy="720.852" width="157.9" height="48.2966"></v:textrect>		<rect x="0" y="696.703" width="157.899" height="48.2966" rx="4.5" ry="4.5" class="st13"></rect>		<text x="45.8" y="726.25" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>PyTorch</text>		</g>	<g id="shape31-81" v:mid="31" v:groupcontext="shape" transform="translate(45.0171,-617.611)">		<title>Sheet.31</title>		<desc>.pb</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="78.9497" cy="732.926" width="157.9" height="24.1483"></v:textrect>		<rect x="0" y="720.852" width="157.899" height="24.1483" rx="4.5" ry="4.5" class="st13"></rect>		<text x="66.48" y="738.33" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>.pb</text>		</g>	<g id="shape32-84" v:mid="32" v:groupcontext="shape" transform="translate(257.234,-617.611)">		<title>Sheet.32</title>		<desc>.tflite</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="78.9497" cy="732.926" width="157.9" height="24.1483"></v:textrect>		<rect x="0" y="720.852" width="157.899" height="24.1483" rx="4.5" ry="4.5" class="st13"></rect>		<text x="58.44" y="738.33" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>.tflite</text>		</g>	<g id="shape33-87" v:mid="33" v:groupcontext="shape" transform="translate(479.556,-615.8)">		<title>Sheet.33</title>		<desc>.onnx</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="78.9497" cy="731.417" width="157.9" height="27.1668"></v:textrect>		<rect x="0" y="717.833" width="157.899" height="27.1668" rx="4.5" ry="4.5" class="st13"></rect>		<text x="57.06" y="736.82" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>.onnx</text>		</g>	<g id="shape34-90" v:mid="34" v:groupcontext="shape" transform="translate(701.878,-617.611)">		<title>Sheet.34</title>		<desc>.ts</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="78.9497" cy="732.926" width="157.9" height="24.1483"></v:textrect>		<rect x="0" y="720.852" width="157.899" height="24.1483" rx="4.5" ry="4.5" class="st13"></rect>		<text x="69" y="738.33" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>.<tspan class="st5" v:langid="1033">ts</tspan></text>		</g>	<g id="shape36-94" v:mid="36" v:groupcontext="shape" transform="translate(1083.18,63.3964) rotate(90)">		<title>Sheet.36</title>		<path d="M0 745 L29.6 745" class="st11"></path>	</g>	<g id="shape37-99" v:mid="37" v:groupcontext="shape" transform="translate(1303.51,63.3964) rotate(90)">		<title>Sheet.37</title>		<path d="M0 745 L29.6 745" class="st11"></path>	</g>	<g id="shape39-104" v:mid="39" v:groupcontext="shape" v:layermember="0" transform="translate(1197.4,539) rotate(90)">		<title>Sheet.39</title>		<path d="M0 745 L54.63 745" class="st11"></path>	</g>	<g id="shape40-109" v:mid="40" v:groupcontext="shape" v:layermember="0" transform="translate(1482.47,537.286) rotate(90)">		<title>Sheet.40</title>		<path d="M0 745 L56.34 745" class="st11"></path>	</g>	<g id="shape22-114" v:mid="22" v:groupcontext="shape" transform="translate(22.9112,-440.85)">		<title>Sheet.22</title>		<desc>ML runtime frameworks, applications</desc>		<v:textblock v:margins="rect(8,8,8,8)" v:verticalalign="0"></v:textblock>		<v:textrect cx="429.486" cy="665.839" width="858.98" height="158.321"></v:textrect>		<rect x="0" y="586.679" width="858.972" height="158.321" rx="4.5" ry="4.5" class="st1"></rect>		<text x="8" y="610.88" class="st4" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>ML runtime frameworks, applications</text>		</g>	<g id="shape52-117" v:mid="52" v:groupcontext="shape" transform="translate(44.4602,-455.85)">		<title>Sheet.52</title>		<desc>Qualcomm Neural Processing SDK</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="88.7699" cy="692.5" width="177.54" height="105"></v:textrect>		<rect x="0" y="640" width="177.54" height="105" rx="8" ry="8" class="st14"></rect>		<text x="16.42" y="685.75" class="st9" v:langid="1033"><v:paragraph v:spline="-1.5" v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm Neural <tspan x="24.84" dy="1.5em" class="st5">Processing SDK</tspan></text>		</g>	<g id="shape53-121" v:mid="53" v:groupcontext="shape" transform="translate(269.569,-454)">		<title>Sheet.53</title>		<desc>LiteRT</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="88.8" cy="691.65" width="177.6" height="106.7"></v:textrect>		<rect x="0" y="638.3" width="177.6" height="106.7" rx="8" ry="8" class="st15"></rect>		<text x="63.15" y="698.4" class="st9" v:langid="1033"><v:paragraph v:spline="-1.5" v:horizalign="1"></v:paragraph><v:tablist></v:tablist>LiteRT</text>		</g>	<g id="shape54-124" v:mid="54" v:groupcontext="shape" transform="translate(494.739,-455.8)">		<title>Sheet.54</title>		<desc>ONNX RT</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="79.5066" cy="692.5" width="159.02" height="105"></v:textrect>		<rect x="0" y="640" width="159.013" height="105" rx="8" ry="8" class="st15"></rect>		<text x="54.84" y="685.75" class="st9" v:langid="1033"><v:paragraph v:spline="-1.5" v:horizalign="1"></v:paragraph><v:tablist></v:tablist>ONNX <v:lf></v:lf><tspan x="68.6" dy="1.5em" class="st5">RT</tspan></text>		</g>	<g id="shape55-128" v:mid="55" v:groupcontext="shape" transform="translate(701.321,-455.75)">		<title>Sheet.55</title>		<desc>Other ML frameworks</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="79.5066" cy="692.5" width="159.02" height="105"></v:textrect>		<rect x="0" y="640" width="159.013" height="105" rx="8" ry="8" class="st16"></rect>		<text x="57.61" y="672.25" class="st9" v:langid="1033"><v:paragraph v:spline="-1.5" v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Other<v:lf></v:lf><tspan x="66.81" dy="1.5em" class="st5">ML<v:lf></v:lf></tspan><tspan x="31.64" dy="1.5em" class="st5">frameworks</tspan></text>		</g>	<g id="shape59-133" v:mid="59" v:groupcontext="shape" v:layermember="0" transform="translate(911.503,539.571) rotate(90)">		<title>Sheet.59</title>		<path d="M0 745 L54.05 745" class="st11"></path>	</g>	<g id="shape62-138" v:mid="62" v:groupcontext="shape" transform="translate(442.405,-17.8361)">		<title>Sheet.62</title>		<rect x="0" y="720" width="25" height="25" rx="4" ry="4" class="st17"></rect>	</g>	<g id="shape63-140" v:mid="63" v:groupcontext="shape" transform="translate(548.227,-17.8361)">		<title>Sheet.63</title>		<rect x="0" y="720" width="25" height="25" rx="4" ry="4" class="st18"></rect>	</g>	<g id="shape64-142" v:mid="64" v:groupcontext="shape" transform="translate(650.206,-17.8361)">		<title>Sheet.64</title>		<rect x="0" y="720" width="25" height="25" rx="4" ry="4" class="st19"></rect>	</g>	<g id="shape65-144" v:mid="65" v:groupcontext="shape" transform="translate(443.611,-17.1639)">		<title>Sheet.65</title>		<desc>Qualcomm</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="58.6944" cy="732.5" width="117.39" height="25"></v:textrect>		<rect x="0" y="720" width="117.389" height="25" rx="4" ry="4" class="st20"></rect>		<text x="29.46" y="736.1" class="st21" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm</text>		</g>	<g id="shape66-147" v:mid="66" v:groupcontext="shape" transform="translate(548.817,-17.1639)">		<title>Sheet.66</title>		<desc>Hardware</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="56.5913" cy="732.5" width="113.19" height="25"></v:textrect>		<rect x="0" y="720" width="113.183" height="25" rx="4" ry="4" class="st20"></rect>		<text x="30.65" y="736.1" class="st21" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Hardware</text>		</g>	<g id="shape67-150" v:mid="67" v:groupcontext="shape" transform="translate(650.206,-17.1639)">		<title>Sheet.67</title>		<desc>Third-party</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="57.8969" cy="732.5" width="115.8" height="25"></v:textrect>		<rect x="0" y="720" width="115.794" height="25" rx="4" ry="4" class="st20"></rect>		<text x="29.03" y="736.1" class="st21" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Third-party</text>		</g>	<g id="shape68-153" v:mid="68" v:groupcontext="shape" transform="translate(752.595,-17.8361)">		<title>Sheet.68</title>		<rect x="0" y="720" width="25" height="25" rx="4" ry="4" class="st22"></rect>	</g>	<g id="shape69-155" v:mid="69" v:groupcontext="shape" transform="translate(755.206,-17.1639)">		<title>Sheet.69</title>		<desc>Open source</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="61.3969" cy="732.5" width="122.8" height="25"></v:textrect>		<rect x="0" y="720" width="122.794" height="25" rx="4" ry="4" class="st20"></rect>		<text x="27.76" y="736.1" class="st21" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Open source</text>		</g></g>
</svg>

### AI 硬體加速器

您可使用下列硬體核心加速 AI 工作流程：

- Qualcomm^®^ Hexagon™ Tensor 處理器 (HTP)：HTP，亦稱為 NPU、DSP 或 HMX，適用於以低功耗、高效能的方式執行 AI 工作負載。為了優化效能，請將預先訓練的模型依照所支援的其中一種精度進行量化。
- Qualcomm^®^ Adreno™ GPU：適用於以中等功耗、中等效能的方式執行 AI 工作負載。AI 工作負載透過 OpenCL 核心獲得加速。您也可使用 GPU 加速模型的預處理和後處理。
- Qualcomm^®^ Kryo™ CPU：您可藉由 CPU 上的 AI 推理，衡量模型的準確度及效能，並與其他硬體加速器進行比較。您也可利用 CPU 執行模型的預處理和後處理。

### AI 軟體

請從下列軟體中進行選擇，以部署 AI 工作負載。除了 TFLite 模型外，您都必須使用 SDK 將預先訓練的模型轉換為可執行格式，才能加以執行。預先訓練的模型 (LiteRT 模型除外) 必須以所選取的 AI 堆疊 SDK 轉換為可執行格式後，才能執行。TFLite Delegate 讓您可直接執行 LiteRT 模型。

- [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) ：這些低階、高度可自訂的統一 API 使用各自獨立的函式庫，可加速所有 AI 加速器核心上的 AI 模型。您可使用它們直接鎖定特定的加速器核心，或從主流執行階段 (包括 Qualcomm Neural Processing Engine SDK、LiteRT (原名為 TensorFlow Lite) 和 ONNX 的執行階段) 委派工作負載。低階 SDK 提供更多功能和除錯能力。
- [AI 模型效率工具包 (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/)
- [Qualcomm AI Engine Direct](https://docs.qualcomm.com/bundle/publicresource/topics/80-63442-50/)
- [AI Engine Direct：TFLite Delegate](https://docs.qualcomm.com/bundle/publicresource/topics/80-63442-50/tflite_delegate.html)
- [Qualcomm Intelligent Multimedia SDK](https://docs.qualcomm.com/bundle/publicresource/topics/80-70022-50/example-applications.html)

Last Published: Jan 04, 2026

[Previous Topic
AI/ML 文件](https://docs.qualcomm.com/bundle/publicresource/80-70022-15TC/topics/home.md) [Next Topic
GStreamer ML 外掛程式與 AI SDK API](https://docs.qualcomm.com/bundle/publicresource/80-70022-15TC/topics/interfaces.md)