# AI 軟體概覽與架構

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

多媒體 AI 應用程式使用 Qualcomm IM SDK GStreamer 外掛程式 API，以充分發揮 Qualcomm AI Runtime SDK 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="7.16319in" viewbox="0 0 800.75 515.75" xml:space="preserve" color-interpolation-filters="sRGB" class="st26 svg-1" 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.75 }
.svg-1 .st2 { fill: #ffffff; stroke: #d8d8d8; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st3 { fill: #000000; font-family: Roboto; font-size: 1.33333em }
.svg-1 .st4 { font-size: 1em }
.svg-1 .st5 { fill: #040a40; stroke: #4a5a75; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st6 { fill: #ffffff; font-family: Roboto; font-size: 1.33333em }
.svg-1 .st7 { fill: #3253dc; stroke: #d8d8d8; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st8 { baseline-shift: 32.4948%; font-size: 0.649895em }
.svg-1 .st9 { fill: #3253dc; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st10 { fill: #ffffff; font-family: Roboto; font-size: 1.24999em }
.svg-1 .st11 { baseline-shift: 32.495%; font-size: 0.6499em }
.svg-1 .st12 { fill: #d2d7e1; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st13 { marker-end: url("#1-mrkr13-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("#1-mrkr13-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: #7ba0ff; stroke: #7ba0ff; 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: none; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st20 { fill: #000000; font-family: Roboto; font-size: 0.833336em }
.svg-1 .st21 { fill: #2a2aea; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.24 }
.svg-1 .st22 { fill: none; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st23 { fill: #000000; font-family: Roboto; font-size: 0.75em }
.svg-1 .st24 { fill: #d2d7e1; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.24 }
.svg-1 .st25 { fill: #040a40; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.24 }
.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="1-mrkr13-54" class="st14" v:arrowtype="13" v:arrowsize="2" v:setback="6.78" refx="-6.78" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend13" transform="scale(-2.26,-2.26) "></use>	</marker>	<marker id="1-mrkr13-65" class="st16" v:arrowtype="13" v:arrowsize="2" v:setback="7.32" refx="-7.32" orient="auto" markerunits="strokeWidth" overflow="visible">		<use xlink:href="#lend13" 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.750002" width="800" height="515" rx="4" ry="4" class="st1"></rect>	</g>	<g id="shape1218-3" v:mid="1218" v:groupcontext="shape" transform="translate(18.584,-39.608)">		<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="458.669" width="767.17" height="114.162"></v:textrect>		<rect x="0" y="401.588" width="767.166" height="114.162" rx="4.5" ry="4.5" class="st2"></rect>		<text x="4" y="419.99" class="st3" 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,-175.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="458.669" width="767.17" height="114.162"></v:textrect>		<rect x="0" y="401.588" width="767.166" height="114.162" rx="4.5" ry="4.5" class="st2"></rect>		<text x="4" y="419.99" class="st3" 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,-311.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="458.669" width="767.17" height="114.162"></v:textrect>		<rect x="0" y="401.588" width="767.166" height="114.162" rx="4.5" ry="4.5" class="st2"></rect>		<text x="4" y="419.99" class="st3" v:langid="1041"><v:paragraph></v:paragraph><v:tablist></v:tablist>Qualcomm <tspan class="st4" v:langid="1033">IMSDK </tspan>Gstreamer <tspan class="st4" v:langid="1033">plugins</tspan></text>		</g>	<g id="shape1221-14" v:mid="1221" v:groupcontext="shape" transform="translate(18.584,-452.637)">		<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="491.867" width="767.17" height="47.7652"></v:textrect>		<rect x="0" y="467.985" width="767.166" height="47.7652" rx="4.5" ry="4.5" class="st5"></rect>		<text x="330.8" y="496.67" class="st6" 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,-332.623)">		<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="484.333" width="310.52" height="62.8345"></v:textrect>		<rect x="0" y="452.915" width="310.52" height="62.8345" rx="4.5" ry="4.5" class="st7"></rect>		<text x="19.02" y="479.53" class="st6" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm<tspan dy="-0.235em" class="st8" v:basefontsize="16">®</tspan><tspan dy="0.153em" class="st4"> </tspan>Neural Processing Engine <tspan x="90.76" dy="1.2em" class="st4">plugin (qtimlsnpe)</tspan></text>		</g>	<g id="shape1223-23" v:mid="1223" v:groupcontext="shape" transform="translate(52.1191,-197.213)">		<title>Sheet.1223</title>		<desc>Qualcomm AI Runtime SDK</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="346.628" cy="484.356" width="693.26" height="62.7889"></v:textrect>		<rect x="0" y="452.961" width="693.256" height="62.7889" rx="4.5" ry="4.5" class="st9"></rect>		<text x="249.75" y="489.16" class="st6" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm <tspan class="st4" v:langid="1033">AI Runtime SDK</tspan></text>		</g>	<g id="shape1224-27" v:mid="1224" v:groupcontext="shape" transform="translate(421.561,-332.623)">		<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="484.333" width="155.26" height="62.8345"></v:textrect>		<rect x="0" y="452.915" width="155.26" height="62.8345" rx="4.5" ry="4.5" class="st7"></rect>		<text x="4.07" y="470.83" class="st10" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm<tspan dy="-0.235em" class="st11" v:basefontsize="15">®</tspan><tspan dy="0.153em" class="st4"> </tspan>AI Engine <tspan x="35.82" dy="1.2em" class="st4">Direct plugin </tspan><tspan x="42.99" dy="1.2em" class="st4">(qtimlqnn)</tspan></text>		</g>	<g id="shape1225-34" v:mid="1225" v:groupcontext="shape" transform="translate(588.237,-332.623)">		<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="484.333" width="155.26" height="62.8345"></v:textrect>		<rect x="0" y="452.915" width="155.26" height="62.8345" rx="4.5" ry="4.5" class="st7"></rect>		<text x="24.35" y="470.83" class="st10" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>TensorFlow Lite <tspan x="57.3" dy="1.2em" class="st4">plugin<v:lf></v:lf></tspan><tspan x="38.56" dy="1.2em" class="st4"> </tspan>(qtimltflite)</text>		</g>	<g id="shape1226-39" v:mid="1226" v:groupcontext="shape" transform="translate(52.1191,-60.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="484.698" width="182.66" height="62.1039"></v:textrect>		<rect x="0" y="453.646" width="182.659" height="62.1039" rx="4.5" ry="4.5" class="st12"></rect>		<text x="75.39" y="479.9" class="st3" 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="st4">(DSP/HMX/HTP)</tspan></text>		</g>	<g id="shape1227-43" v:mid="1227" v:groupcontext="shape" transform="translate(306.479,-60.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="484.698" width="182.66" height="62.1039"></v:textrect>		<rect x="0" y="453.646" width="182.659" height="62.1039" rx="4.5" ry="4.5" class="st12"></rect>		<text x="75.65" y="489.5" class="st3" 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,-60.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="484.698" width="182.66" height="62.1039"></v:textrect>		<rect x="0" y="453.646" width="182.659" height="62.1039" rx="4.5" ry="4.5" class="st12"></rect>		<text x="75.89" y="489.5" class="st3" 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(917.917,63.1128) rotate(90)">		<title>Sheet.1229</title>		<path d="M0 515.75 L13.54 515.75" class="st13"></path>	</g>	<g id="shape1230-55" v:mid="1230" v:groupcontext="shape" transform="translate(723.129,183.37) rotate(90)">		<title>Sheet.1230</title>		<path d="M0 515.75 L58.82 515.75" class="st13"></path>	</g>	<g id="shape1231-60" v:mid="1231" v:groupcontext="shape" v:layermember="0" transform="translate(917.917,339.783) rotate(90)">		<title>Sheet.1231</title>		<path d="M0 515.75 L9.84 515.75" class="st15"></path>	</g>	<g id="shape1234-66" v:mid="1234" v:groupcontext="shape" transform="translate(1204.45,182.401) rotate(90)">		<title>Sheet.1234</title>		<path d="M0 515.75 L58.77 515.75" class="st13"></path>	</g>	<g id="shape1235-71" v:mid="1235" v:groupcontext="shape" transform="translate(1014.94,182.49) rotate(90)">		<title>Sheet.1235</title>		<path d="M0 515.75 L58.77 515.75" class="st13"></path>	</g>	<g id="shape1240-76" v:mid="1240" v:groupcontext="shape" transform="translate(630.375,-210.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="495.772" width="97.14" height="39.9566"></v:textrect>		<rect x="0" y="475.793" width="97.139" height="39.9566" rx="4.5" ry="4.5" class="st17"></rect>		<text x="29.06" y="491.57" 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="st4">Delegate</tspan></text>		</g>	<g id="shape1314-80" v:mid="1314" v:groupcontext="shape" transform="translate(719.183,-5.37486)">		<title>Sheet.1314</title>		<desc>Third-party</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="31.1918" cy="505.75" width="62.39" height="20"></v:textrect>		<rect x="0" y="495.75" width="62.3835" height="20" rx="4" ry="4" class="st19"></rect>		<text x="7.13" y="508.75" class="st20" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Third-party</text>		</g>	<g id="shape1315-83" v:mid="1315" v:groupcontext="shape" transform="translate(642.704,-9.94343)">		<title>Sheet.1315</title>		<desc>Hardware</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="27.6711" cy="510.318" width="55.35" height="10.8629"></v:textrect>		<rect x="0" y="504.887" width="55.3422" height="10.8629" rx="4" ry="4" class="st19"></rect>		<text x="6.06" y="513.32" class="st20" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Hardware</text>		</g>	<g id="shape1319-86" v:mid="1319" v:groupcontext="shape" transform="translate(546.605,-8.6251)">		<title>Rectangle.69</title>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<rect x="0" y="502.25" width="13.1696" height="13.5" rx="1.44" ry="1.44" class="st21"></rect>	</g>	<g id="shape1320-88" v:mid="1320" v:groupcontext="shape" transform="translate(559.883,-9.97591)">		<title>Sheet.1320</title>		<desc>Qualcomm</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="27.7457" cy="510.351" width="55.5" height="10.7984"></v:textrect>		<rect x="0" y="504.952" width="55.4915" height="10.7984" class="st22"></rect>		<text x="5.82" y="513.05" class="st23" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm</text>		</g>	<g id="shape1321-91" v:mid="1321" v:groupcontext="shape" transform="translate(628.375,-8.6251)">		<title>Rectangle.1321</title>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<rect x="0" y="502.25" width="13.1696" height="13.5" rx="1.44" ry="1.44" class="st24"></rect>	</g>	<g id="shape1322-93" v:mid="1322" v:groupcontext="shape" transform="translate(706.375,-8.6251)">		<title>Rectangle.1322</title>		<v:userdefs>			<v:ud v:nameu="visVersion" v:val="VT0(15):26"></v:ud>		</v:userdefs>		<rect x="0" y="502.25" width="13.1696" height="13.5" rx="1.44" ry="1.44" class="st25"></rect>	</g></g>
</svg>

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

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

- [AI 應用程式](https://docs.qualcomm.com/doc/80-70023-15TC/topic/sample-apps.html) ：基於 GStreamer 的範例應用程式，可供 [自訂](https://docs.qualcomm.com/doc/80-70023-15B/topic/customize-reference-app.html)。
- [GStreamer 外掛程式](https://docs.qualcomm.com/doc/80-70023-50/topic/gst-plugin-architecture.html) ：Qualcomm Linux 軟體提供基於 GStreamer 的機器學習外掛程式，其使用 LiteRT 和 Qualcomm AI Runtime SDK 等工具以加速 AI 推理，另搭配 GStreamer 外掛程式以進行預處理和後處理。
- [Qualcomm AI Runtime SDK (QAIRT)](https://docs.qualcomm.com/doc/80-63442-10/) ：QAIRT 提供工具與函式庫，以便在多個硬體加速器上以最佳方式加速 AI 模型。
- 高通的系統單晶片 (SoC) 提供三個用於處理 AI 負載的硬體核心。

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

## 架構

下圖顯示可供使用的 AI 執行階段，例如 ONNX 和 LiteRT 的執行階段；可供使用的硬體加速器，例如  NPU 、 GPU 和 CPU ；以及各加速器所對應的後端函式庫。

<?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 781" xml:space="preserve" color-interpolation-filters="sRGB" class="st25" aria-label="方塊圖顯示可供使用的執行階段、後端函式庫與硬體加速器。"><v:documentproperties v:langid="1033" v:viewmarkup="false">	<v:userdefs>		<v:ud v:nameu="msvNoAutoConnect" v:val="VT0(1):26"></v:ud>	</v:userdefs></v:documentproperties>
<style>.svg-2 .st1 { fill: #ffffff; stroke: #ffffff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st2 { marker-end: url("#2-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: none; stroke: #7f7f7f; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st5 { fill: #000000; font-family: Roboto; font-size: 1.5em; font-weight: bold }
.svg-2 .st6 { font-size: 1em }
.svg-2 .st7 { fill: #f5f6f7; stroke: #7f7f7f; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st8 { fill: #3253dc; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st9 { fill: #ffffff; font-family: Roboto; font-size: 1.33333em }
.svg-2 .st10 { fill: #ffffff; font-family: Roboto; font-size: 1.5em }
.svg-2 .st11 { fill: #dee3ec; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-2 .st12 { fill: #000000; font-family: Roboto; font-size: 1.33333em }
.svg-2 .st13 { fill: #000000; font-family: Roboto; font-size: 1.5em }
.svg-2 .st14 { marker-end: url("#2-mrkr4-8"); stroke: #000000; stroke-linecap: butt; stroke-width: 2 }
.svg-2 .st15 { fill: #007884; stroke: #007884; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2 }
.svg-2 .st16 { fill: #007884; stroke: #007884; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-2 .st17 { fill: #3253dc; stroke: #3253dc; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-2 .st18 { fill: #ffffff; font-family: Roboto; font-size: 1.16666em }
.svg-2 .st19 { fill: #dee3ec; stroke: #dee3ec; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-2 .st20 { fill: #000000; font-family: Roboto; font-size: 1.16666em }
.svg-2 .st21 { fill: #040a40; stroke: #040a40; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-2 .st22 { fill: #2a2aea; stroke: #2a2aea; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st23 { fill: #007884; stroke: #007884; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st24 { fill: #040a40; stroke: #040a40; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-2 .st25 { 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="2-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="16" v:index="5" v:groupcontext="foregroundPage">	<title>ai-arch</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(18.5,-18.5)">		<title>Sheet.61</title>		<rect x="0" y="37" width="720" height="744" rx="8" ry="8" class="st1"></rect>	</g>	<g id="shape38-3" v:mid="38" v:groupcontext="shape" transform="translate(1415.2,72.9773) rotate(89.3823)">		<title>Sheet.38</title>		<path d="M0 781 L30.81 781" class="st2"></path>	</g>	<g id="shape1-9" v:mid="1" v:groupcontext="shape" transform="translate(36.2417,-210.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="340" cy="667.085" width="680" height="227.83"></v:textrect>		<rect x="0" y="553.17" width="680" height="227.83" rx="4.5" ry="4.5" class="st4"></rect>		<text x="8" y="577.37" class="st5" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>B<tspan class="st6" v:langid="1041">ackend libraries</tspan></text>		</g>	<g id="shape4-13" v:mid="4" v:groupcontext="shape" transform="translate(276.242,-232.631)">		<title>Sheet.4</title>		<rect x="0" y="607.132" width="200" height="173.868" rx="4.5" ry="4.5" class="st7"></rect>	</g>	<g id="shape5-15" v:mid="5" v:groupcontext="shape" transform="translate(282.182,-352.983)">		<title>Sheet.5</title>		<desc>Qualcomm AI Runtime API</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="91.234" cy="758.526" width="182.47" height="44.9487"></v:textrect>		<rect x="0" y="736.051" width="182.468" height="44.9487" rx="4.5" ry="4.5" class="st8"></rect>		<text x="42.88" y="753.73" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm AI<v:lf></v:lf><tspan x="47.26" dy="1.2em" class="st6" v:langid="1033">Runtime </tspan>API</text>		</g>	<g id="shape6-19" v:mid="6" v:groupcontext="shape" transform="translate(284.781,-298.65)">		<title>Sheet.6</title>		<desc>Kernels</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="91.234" cy="758.526" width="182.47" height="44.9487"></v:textrect>		<rect x="0" y="736.051" width="182.468" height="44.9487" rx="4.5" ry="4.5" class="st8"></rect>		<text x="61.22" y="763.93" class="st10" 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(284.781,-242.834)">		<title>Sheet.7</title>		<desc>OpenCL</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="91.234" cy="758.526" width="182.47" height="44.9487"></v:textrect>		<rect x="0" y="736.051" width="182.468" height="44.9487" rx="4.5" ry="4.5" class="st8"></rect>		<text x="59.56" y="763.93" class="st10" 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(502.242,-232.631)">		<title>Sheet.9</title>		<rect x="0" y="607.132" width="200" height="173.868" rx="4.5" ry="4.5" class="st7"></rect>	</g>	<g id="shape10-27" v:mid="10" v:groupcontext="shape" transform="translate(508.62,-352.983)">		<title>Sheet.10</title>		<desc>Qualcomm AI Runtime API</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="91.234" cy="758.526" width="182.47" height="44.9487"></v:textrect>		<rect x="0" y="736.051" width="182.468" height="44.9487" rx="4.5" ry="4.5" class="st8"></rect>		<text x="42.88" y="753.73" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm AI<v:lf></v:lf><tspan x="47.26" dy="1.2em" class="st6" v:langid="1033">Runtime </tspan>API</text>		</g>	<g id="shape11-31" v:mid="11" v:groupcontext="shape" transform="translate(511.22,-298.65)">		<title>Sheet.11</title>		<desc>QML</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="91.234" cy="758.526" width="182.47" height="44.9487"></v:textrect>		<rect x="0" y="736.051" width="182.468" height="44.9487" rx="4.5" ry="4.5" class="st8"></rect>		<text x="72.35" y="763.93" class="st10" 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(511.22,-242.834)">		<title>Sheet.12</title>		<desc>Neon</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="91.234" cy="758.526" width="182.47" height="44.9487"></v:textrect>		<rect x="0" y="736.051" width="182.468" height="44.9487" rx="4.5" ry="4.5" class="st8"></rect>		<text x="69.95" y="763.93" class="st10" 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(50.2417,-232.631)">		<title>Sheet.14</title>		<rect x="0" y="607.132" width="200" height="173.868" rx="4.5" ry="4.5" class="st7"></rect>	</g>	<g id="shape15-39" v:mid="15" v:groupcontext="shape" transform="translate(57.3057,-352.983)">		<title>Sheet.15</title>		<desc>Qualcomm AI Runtime API</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="91.234" cy="758.526" width="182.47" height="44.9487"></v:textrect>		<rect x="0" y="736.051" width="182.468" height="44.9487" rx="4.5" ry="4.5" class="st8"></rect>		<text x="42.88" y="753.73" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm<tspan class="st6" v:langid="1033"> </tspan>AI<v:lf></v:lf><tspan x="47.26" dy="1.2em" class="st6" v:langid="1033">Runtime </tspan>API</text>		</g>	<g id="shape16-44" v:mid="16" v:groupcontext="shape" transform="translate(59.9052,-298.65)">		<title>Sheet.16</title>		<desc>HTP core</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="91.234" cy="758.526" width="182.47" height="44.9487"></v:textrect>		<rect x="0" y="736.051" width="182.468" height="44.9487" rx="4.5" ry="4.5" class="st8"></rect>		<text x="53.88" y="763.93" class="st10" 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(59.9052,-242.834)">		<title>Sheet.17</title>		<desc>HMX/HVX</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="91.234" cy="758.526" width="182.47" height="44.9487"></v:textrect>		<rect x="0" y="736.051" width="182.468" height="44.9487" rx="4.5" ry="4.5" class="st8"></rect>		<text x="49.82" y="763.93" class="st10" 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(36.2417,-74.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="340" cy="722.039" width="680" height="117.922"></v:textrect>		<rect x="0" y="663.078" width="680" height="117.922" rx="4.5" ry="4.5" class="st4"></rect>		<text x="8" y="767.6" class="st5" 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(50.2417,-114.868)">		<title>Sheet.19</title>		<desc>NPU (DSP/HMX/HTP)</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="100" cy="758.267" width="200.01" height="45.4664"></v:textrect>		<rect x="0" y="735.534" width="200" height="45.4664" rx="4.5" ry="4.5" class="st11"></rect>		<text x="84.06" y="753.47" 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="39.63" dy="1.2em" class="st6">(DSP/HMX/HTP)</tspan></text>		</g>	<g id="shape20-57" v:mid="20" v:groupcontext="shape" transform="translate(276.242,-114.868)">		<title>Sheet.20</title>		<desc>GPU</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="100" cy="758.267" width="200.01" height="45.4664"></v:textrect>		<rect x="0" y="735.534" width="200" height="45.4664" rx="4.5" ry="4.5" class="st11"></rect>		<text x="82.36" y="763.67" class="st13" 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(502.242,-114.868)">		<title>Sheet.21</title>		<desc>CPU</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="100" cy="758.267" width="200.01" height="45.4664"></v:textrect>		<rect x="0" y="735.534" width="200" height="45.4664" rx="4.5" ry="4.5" class="st11"></rect>		<text x="82.63" y="763.67" class="st13" 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(897.242,81.3964) rotate(90)">		<title>Sheet.35</title>		<path d="M0 781 L30.8 781" class="st14"></path>	</g>	<g id="shape27-68" v:mid="27" v:groupcontext="shape" transform="translate(53.7417,-699.604)">		<title>Sheet.27</title>		<desc>TensorFlow</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="62.5" cy="756.852" width="125" height="48.2966"></v:textrect>		<rect x="0" y="732.703" width="125" height="48.2966" rx="4.5" ry="4.5" class="st15"></rect>		<text x="15.52" y="762.25" class="st10" 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(221.742,-699.604)">		<title>Sheet.28</title>		<desc>LiteRT</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="62.5" cy="756.852" width="125" height="48.2966"></v:textrect>		<rect x="0" y="732.703" width="125" height="48.2966" rx="4.5" ry="4.5" class="st16"></rect>		<text x="36.85" y="762.25" class="st10" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Lite<tspan class="st6" v:langid="1033">RT</tspan></text>		</g>	<g id="shape29-75" v:mid="29" v:groupcontext="shape" transform="translate(397.742,-699.604)">		<title>Sheet.29</title>		<desc>ONNX</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="62.5" cy="756.852" width="125" height="48.2966"></v:textrect>		<rect x="0" y="732.703" width="125" height="48.2966" rx="4.5" ry="4.5" class="st16"></rect>		<text x="37.84" y="762.25" class="st10" 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(573.742,-699.604)">		<title>Sheet.30</title>		<desc>PyTorch</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="62.5" cy="756.852" width="125" height="48.2966"></v:textrect>		<rect x="0" y="732.703" width="125" height="48.2966" rx="4.5" ry="4.5" class="st16"></rect>		<text x="29.35" y="762.25" class="st10" 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(53.7417,-635.611)">		<title>Sheet.31</title>		<desc>.pb</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="62.5" cy="768.926" width="125" height="24.1483"></v:textrect>		<rect x="0" y="756.852" width="125" height="24.1483" rx="4.5" ry="4.5" class="st16"></rect>		<text x="50.03" y="774.33" class="st10" 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(221.742,-635.611)">		<title>Sheet.32</title>		<desc>.tflite</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="62.5" cy="768.926" width="125" height="24.1483"></v:textrect>		<rect x="0" y="756.852" width="125" height="24.1483" rx="4.5" ry="4.5" class="st16"></rect>		<text x="41.99" y="774.33" class="st10" 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(397.742,-633.8)">		<title>Sheet.33</title>		<desc>.onnx</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="62.5" cy="767.417" width="125" height="27.1668"></v:textrect>		<rect x="0" y="753.833" width="125" height="27.1668" rx="4.5" ry="4.5" class="st16"></rect>		<text x="40.61" y="772.82" class="st10" 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(573.742,-635.611)">		<title>Sheet.34</title>		<desc>.ts</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="62.5" cy="768.926" width="125" height="24.1483"></v:textrect>		<rect x="0" y="756.852" width="125" height="24.1483" rx="4.5" ry="4.5" class="st16"></rect>		<text x="52.55" y="774.33" class="st10" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>.<tspan class="st6" v:langid="1033">ts</tspan></text>		</g>	<g id="shape36-94" v:mid="36" v:groupcontext="shape" transform="translate(1066.82,81.3964) rotate(90)">		<title>Sheet.36</title>		<path d="M0 781 L29.6 781" class="st14"></path>	</g>	<g id="shape37-99" v:mid="37" v:groupcontext="shape" transform="translate(1241.24,81.3964) rotate(90)">		<title>Sheet.37</title>		<path d="M0 781 L29.6 781" class="st14"></path>	</g>	<g id="shape39-104" v:mid="39" v:groupcontext="shape" v:layermember="0" transform="translate(1157.24,548.037) rotate(90)">		<title>Sheet.39</title>		<path d="M0 781 L63.59 781" class="st14"></path>	</g>	<g id="shape40-109" v:mid="40" v:groupcontext="shape" v:layermember="0" transform="translate(1382.92,548.603) rotate(90)">		<title>Sheet.40</title>		<path d="M0 781 L63.02 781" class="st14"></path>	</g>	<g id="shape47-114" v:mid="47" v:groupcontext="shape" transform="translate(36.2417,-36.875)">		<title>Sheet.47</title>		<desc>QTI</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="52" cy="770.013" width="104" height="21.9749"></v:textrect>		<rect x="0" y="759.025" width="104" height="21.9749" rx="4.5" ry="4.5" class="st17"></rect>		<text x="41.11" y="774.21" class="st18" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>QTI</text>		</g>	<g id="shape48-117" v:mid="48" v:groupcontext="shape" transform="translate(156.242,-36.875)">		<title>Sheet.48</title>		<desc>Hardware</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="52" cy="770.013" width="104" height="21.9749"></v:textrect>		<rect x="0" y="759.025" width="104" height="21.9749" rx="4.5" ry="4.5" class="st19"></rect>		<text x="21.74" y="774.21" class="st20" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Hardware</text>		</g>	<g id="shape49-120" v:mid="49" v:groupcontext="shape" transform="translate(276.242,-36.875)">		<title>Sheet.49</title>		<desc>OSS</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="52" cy="770.013" width="104" height="21.9749"></v:textrect>		<rect x="0" y="759.025" width="104" height="21.9749" rx="4.5" ry="4.5" class="st16"></rect>		<text x="38.88" y="774.21" class="st18" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>OSS</text>		</g>	<g id="shape56-123" v:mid="56" v:groupcontext="shape" transform="translate(396.242,-36.875)">		<title>Sheet.56</title>		<desc>Third-party</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="52" cy="770.013" width="104" height="21.9749"></v:textrect>		<rect x="0" y="759.025" width="104" height="21.9749" rx="4.5" ry="4.5" class="st21"></rect>		<text x="18.32" y="774.21" class="st18" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Third-party</text>		</g>	<g id="shape22-126" v:mid="22" v:groupcontext="shape" transform="translate(36.2417,-458.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="340" cy="701.84" width="680" height="158.321"></v:textrect>		<rect x="0" y="622.679" width="680" height="158.321" rx="4.5" ry="4.5" class="st4"></rect>		<text x="8" y="646.88" class="st5" v:langid="1033"><v:paragraph></v:paragraph><v:tablist></v:tablist>ML runtime frameworks, applications</text>		</g>	<g id="shape52-129" v:mid="52" v:groupcontext="shape" transform="translate(53.3008,-473.85)">		<title>Sheet.52</title>		<desc>Qualcomm AI Runtime SDK</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="62.9409" cy="728.5" width="125.89" height="105"></v:textrect>		<rect x="0" y="676" width="125.882" height="105" rx="8" ry="8" class="st22"></rect>		<text x="8.55" y="708.25" class="st10" v:langid="1033"><v:paragraph v:spline="-1.5" v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm AI <tspan x="29.69" dy="1.5em" class="st6">Runtime<v:lf></v:lf></tspan><tspan x="46.06" dy="1.5em" class="st6">SDK</tspan></text>		</g>	<g id="shape53-134" v:mid="53" v:groupcontext="shape" transform="translate(221.36,-473.85)">		<title>Sheet.53</title>		<desc>LiteRT</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="62.9409" cy="728.5" width="125.89" height="105"></v:textrect>		<rect x="0" y="676" width="125.882" height="105" rx="8" ry="8" class="st23"></rect>		<text x="37.29" y="735.25" class="st10" v:langid="1033"><v:paragraph v:spline="-1.5" v:horizalign="1"></v:paragraph><v:tablist></v:tablist>LiteRT</text>		</g>	<g id="shape54-137" v:mid="54" v:groupcontext="shape" transform="translate(397.301,-473.85)">		<title>Sheet.54</title>		<desc>ONNX RT</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="62.9409" cy="728.5" width="125.89" height="105"></v:textrect>		<rect x="0" y="676" width="125.882" height="105" rx="8" ry="8" class="st23"></rect>		<text x="38.28" y="721.75" class="st10" 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="52.03" dy="1.5em" class="st6">RT</tspan></text>		</g>	<g id="shape55-141" v:mid="55" v:groupcontext="shape" transform="translate(573.301,-473.85)">		<title>Sheet.55</title>		<desc>Other ML frameworks</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="62.9409" cy="728.5" width="125.89" height="105"></v:textrect>		<rect x="0" y="676" width="125.882" height="105" rx="8" ry="8" class="st24"></rect>		<text x="41.04" y="708.25" class="st10" 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="50.24" dy="1.5em" class="st6">ML<v:lf></v:lf></tspan><tspan x="15.08" dy="1.5em" class="st6">frameworks</tspan></text>		</g>	<g id="shape59-146" v:mid="59" v:groupcontext="shape" v:layermember="0" transform="translate(930.916,548.436) rotate(90)">		<title>Sheet.59</title>		<path d="M0 781 L63.19 781" class="st14"></path>	</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 AI Runtime SDK (QAIRT)](https://docs.qualcomm.com/doc/80-63442-10/) ：QAIRT SDK 是一款將 Qualcomm AI 工具 (包括 AI Engine Direct 和 Neural Processing SDK) 整合在一起的統一軟體套件。它一方面使開發人員得以將 AI 模型移植及部署至高通的硬體加速器 (CPU、GPU、NPU)，另一方面則支援 TensorFlow、PyTorch、LiteRT 和 ONNX 等主流框架，以便在多個 Qualcomm 平台上執行。
- [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 AI Runtime SDK](https://docs.qualcomm.com/doc/80-63442-10/)
- [Qualcomm 智慧多媒體 SDK](https://docs.qualcomm.com/doc/80-70023-50/topic/example-applications.html)

Last Published: Feb 23, 2026

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