# Qualcomm AI Runtime SDK

Qualcomm AI Runtime SDK is an all-in-one SDK to port ML models to
run on Qualcomm hardware accelerators. The SDK contains
Qualcomm Neural Processing Engine (also known as SNPE) and
AI Engine Direct (also known as QNN) which offer tools to convert
and quantize models trained in PyTorch and TensorFlow and runtimes
to run these models on CPU, GPU, and HTP. Learn more about
[SNPE](https://docs.qualcomm.com/bundle/publicresource/topics/80-63442-2/overview.html)
and
[QNN](https://docs.qualcomm.com/bundle/publicresource/topics/80-63442-50/)

<?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 optimize-compile-snpe.svg snpe -->
<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.5851in" viewbox="0 0 757 762.125" xml:space="preserve" color-interpolation-filters="sRGB" class="st21" aria-label="../_images/optimize-compile-snpe.svg"><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-1 .st1 { fill: #ffffff; stroke: #ffffff; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st2 { marker-end: url("#mrkr4-8"); stroke: #000000; stroke-width: 2 }
.svg-1 .st3 { fill: #000000; fill-opacity: 1; stroke: #000000; stroke-opacity: 1; stroke-width: 0.44247787610619 }
.svg-1 .st4 { fill: none; stroke: #7f7f7f; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st5 { fill: #000000; font-family: Roboto; font-size: 1.5em; font-weight: bold }
.svg-1 .st6 { font-size: 1em }
.svg-1 .st7 { fill: #f5f6f7; stroke: #7f7f7f; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st8 { fill: #3253dc; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st9 { fill: #ffffff; font-family: Roboto; font-size: 1.5em }
.svg-1 .st10 { fill: #dee3ec; stroke: none; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st11 { fill: #000000; font-family: Roboto; font-size: 1.41666em }
.svg-1 .st12 { fill: #000000; font-family: Roboto; font-size: 1.5em }
.svg-1 .st13 { marker-end: url("#mrkr4-8"); stroke: #000000; stroke-linecap: butt; stroke-width: 2 }
.svg-1 .st14 { fill: #007884; stroke: #007884; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2 }
.svg-1 .st15 { fill: #007884; stroke: #007884; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st16 { fill: #3253dc; stroke: #3253dc; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st17 { fill: #ffffff; font-family: Roboto; font-size: 1.16666em }
.svg-1 .st18 { fill: #dee3ec; stroke: #dee3ec; stroke-linecap: round; stroke-linejoin: round; stroke-width: 0.75 }
.svg-1 .st19 { fill: #000000; font-family: Roboto; font-size: 1.16666em }
.svg-1 .st20 { fill: #2a2aea; stroke: #2a2aea; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1 }
.svg-1 .st21 { 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="12" v:index="5" v:groupcontext="foregroundPage">	<title>snpe</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="shape52-1" v:mid="52" v:groupcontext="shape" transform="translate(18.5,-18.5)">		<title>Sheet.52</title>		<rect x="0" y="37" width="720" height="725.125" rx="8" ry="8" class="st1"></rect>	</g>	<g id="shape53-3" v:mid="53" v:groupcontext="shape" transform="translate(1396.32,74.581) rotate(89.3823)">		<title>Sheet.53</title>		<path d="M0 762.13 L30.81 762.13" class="st2"></path>	</g>	<g id="shape54-9" v:mid="54" v:groupcontext="shape" transform="translate(36.2417,-210.85)">		<title>Sheet.54</title>		<desc>Backend libraries</desc>		<v:textblock v:margins="rect(8,8,8,8)" v:verticalalign="0"></v:textblock>		<v:textrect cx="340" cy="648.21" width="680" height="227.83"></v:textrect>		<rect x="0" y="534.295" width="680" height="227.83" rx="4.5" ry="4.5" class="st4"></rect>		<text x="8" y="558.49" 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="shape55-13" v:mid="55" v:groupcontext="shape" transform="translate(276.242,-232.631)">		<title>Sheet.55</title>		<rect x="0" y="588.257" width="200" height="173.868" rx="4.5" ry="4.5" class="st7"></rect>	</g>	<g id="shape56-15" v:mid="56" v:groupcontext="shape" transform="translate(282.182,-352.983)">		<title>Sheet.56</title>		<desc>Qualcomm AI Engine Direct API</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="91.234" cy="739.651" width="182.47" height="44.9487"></v:textrect>		<rect x="0" y="717.176" width="182.468" height="44.9487" rx="4.5" ry="4.5" class="st8"></rect>		<text x="36.84" y="734.25" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm AI<v:lf></v:lf><tspan x="22.18" dy="1.2em" class="st6">Engine Direct API</tspan></text>		</g>	<g id="shape57-19" v:mid="57" v:groupcontext="shape" transform="translate(284.781,-298.65)">		<title>Sheet.57</title>		<desc>Kernels</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="91.234" cy="739.651" width="182.47" height="44.9487"></v:textrect>		<rect x="0" y="717.176" width="182.468" height="44.9487" rx="4.5" ry="4.5" class="st8"></rect>		<text x="61.22" y="745.05" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Kernels</text>		</g>	<g id="shape58-22" v:mid="58" v:groupcontext="shape" transform="translate(284.781,-242.834)">		<title>Sheet.58</title>		<desc>OpenCL</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="91.234" cy="739.651" width="182.47" height="44.9487"></v:textrect>		<rect x="0" y="717.176" width="182.468" height="44.9487" rx="4.5" ry="4.5" class="st8"></rect>		<text x="59.56" y="745.05" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>OpenCL</text>		</g>	<g id="shape59-25" v:mid="59" v:groupcontext="shape" transform="translate(502.242,-232.631)">		<title>Sheet.59</title>		<rect x="0" y="588.257" width="200" height="173.868" rx="4.5" ry="4.5" class="st7"></rect>	</g>	<g id="shape60-27" v:mid="60" v:groupcontext="shape" transform="translate(508.62,-352.983)">		<title>Sheet.60</title>		<desc>Qualcomm AI Engine Direct API</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="91.234" cy="739.651" width="182.47" height="44.9487"></v:textrect>		<rect x="0" y="717.176" width="182.468" height="44.9487" rx="4.5" ry="4.5" class="st8"></rect>		<text x="36.84" y="734.25" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm AI<v:lf></v:lf><tspan x="22.18" dy="1.2em" class="st6">Engine Direct API</tspan></text>		</g>	<g id="shape61-31" v:mid="61" v:groupcontext="shape" transform="translate(511.22,-298.65)">		<title>Sheet.61</title>		<desc>QML</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="91.234" cy="739.651" width="182.47" height="44.9487"></v:textrect>		<rect x="0" y="717.176" width="182.468" height="44.9487" rx="4.5" ry="4.5" class="st8"></rect>		<text x="72.35" y="745.05" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>QML</text>		</g>	<g id="shape62-34" v:mid="62" v:groupcontext="shape" transform="translate(511.22,-242.834)">		<title>Sheet.62</title>		<desc>Neon</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="91.234" cy="739.651" width="182.47" height="44.9487"></v:textrect>		<rect x="0" y="717.176" width="182.468" height="44.9487" rx="4.5" ry="4.5" class="st8"></rect>		<text x="69.95" y="745.05" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Neon</text>		</g>	<g id="shape63-37" v:mid="63" v:groupcontext="shape" transform="translate(50.2417,-232.631)">		<title>Sheet.63</title>		<rect x="0" y="588.257" width="200" height="173.868" rx="4.5" ry="4.5" class="st7"></rect>	</g>	<g id="shape64-39" v:mid="64" v:groupcontext="shape" transform="translate(57.3057,-352.983)">		<title>Sheet.64</title>		<desc>Qualcomm AI Engine Direct API</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="91.234" cy="739.651" width="182.47" height="44.9487"></v:textrect>		<rect x="0" y="717.176" width="182.468" height="44.9487" rx="4.5" ry="4.5" class="st8"></rect>		<text x="36.84" y="734.25" 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="22.18" dy="1.2em" class="st6">Engine Direct API</tspan></text>		</g>	<g id="shape65-44" v:mid="65" v:groupcontext="shape" transform="translate(59.9052,-298.65)">		<title>Sheet.65</title>		<desc>HTP core</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="91.234" cy="739.651" width="182.47" height="44.9487"></v:textrect>		<rect x="0" y="717.176" width="182.468" height="44.9487" rx="4.5" ry="4.5" class="st8"></rect>		<text x="53.88" y="745.05" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>HTP core</text>		</g>	<g id="shape66-47" v:mid="66" v:groupcontext="shape" transform="translate(59.9052,-242.834)">		<title>Sheet.66</title>		<desc>HMX/HVX</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="91.234" cy="739.651" width="182.47" height="44.9487"></v:textrect>		<rect x="0" y="717.176" width="182.468" height="44.9487" rx="4.5" ry="4.5" class="st8"></rect>		<text x="49.82" y="745.05" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>HMX/HVX</text>		</g>	<g id="shape67-50" v:mid="67" v:groupcontext="shape" transform="translate(36.2417,-74.8499)">		<title>Sheet.67</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="703.164" width="680" height="117.922"></v:textrect>		<rect x="0" y="644.203" width="680" height="117.922" rx="4.5" ry="4.5" class="st4"></rect>		<text x="8" y="748.72" class="st5" v:langid="1041"><v:paragraph></v:paragraph><v:tablist></v:tablist>Hardware IP cores</text>		</g>	<g id="shape68-53" v:mid="68" v:groupcontext="shape" transform="translate(50.2417,-114.868)">		<title>Sheet.68</title>		<desc>NPU (DSP/HMX/HTP)</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="100" cy="739.392" width="200.01" height="45.4664"></v:textrect>		<rect x="0" y="716.659" width="200" height="45.4664" rx="4.5" ry="4.5" class="st10"></rect>		<text x="83.07" y="734.29" class="st11" 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="35.85" dy="1.2em" class="st6">(DSP/HMX/HTP)</tspan></text>		</g>	<g id="shape69-57" v:mid="69" v:groupcontext="shape" transform="translate(276.242,-114.868)">		<title>Sheet.69</title>		<desc>GPU</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="100" cy="739.392" width="200.01" height="45.4664"></v:textrect>		<rect x="0" y="716.659" width="200" height="45.4664" rx="4.5" ry="4.5" class="st10"></rect>		<text x="82.36" y="744.79" class="st12" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>GPU</text>		</g>	<g id="shape70-60" v:mid="70" v:groupcontext="shape" transform="translate(502.242,-114.868)">		<title>Sheet.70</title>		<desc>CPU</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="100" cy="739.392" width="200.01" height="45.4664"></v:textrect>		<rect x="0" y="716.659" width="200" height="45.4664" rx="4.5" ry="4.5" class="st10"></rect>		<text x="82.63" y="744.79" class="st12" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>CPU</text>		</g>	<g id="shape71-63" v:mid="71" v:groupcontext="shape" transform="translate(878.367,82.7966) rotate(90)">		<title>Sheet.71</title>		<path d="M0 762.13 L30.8 762.13" class="st13"></path>	</g>	<g id="shape72-68" v:mid="72" v:groupcontext="shape" transform="translate(53.7417,-679.328)">		<title>Sheet.72</title>		<desc>TensorFlow</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="62.5" cy="737.977" width="125" height="48.2966"></v:textrect>		<rect x="0" y="713.828" width="125" height="48.2966" rx="4.5" ry="4.5" class="st14"></rect>		<text x="15.52" y="743.38" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>TensorFlow</text>		</g>	<g id="shape73-71" v:mid="73" v:groupcontext="shape" transform="translate(221.742,-679.328)">		<title>Sheet.73</title>		<desc>LiteRT</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="62.5" cy="737.977" width="125" height="48.2966"></v:textrect>		<rect x="0" y="713.828" width="125" height="48.2966" rx="4.5" ry="4.5" class="st15"></rect>		<text x="36.85" y="743.38" class="st9" 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="shape74-75" v:mid="74" v:groupcontext="shape" transform="translate(397.742,-679.328)">		<title>Sheet.74</title>		<desc>ONNX</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="62.5" cy="737.977" width="125" height="48.2966"></v:textrect>		<rect x="0" y="713.828" width="125" height="48.2966" rx="4.5" ry="4.5" class="st15"></rect>		<text x="37.84" y="743.38" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>ONNX</text>		</g>	<g id="shape75-78" v:mid="75" v:groupcontext="shape" transform="translate(573.742,-679.328)">		<title>Sheet.75</title>		<desc>PyTorch</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="62.5" cy="737.977" width="125" height="48.2966"></v:textrect>		<rect x="0" y="713.828" width="125" height="48.2966" rx="4.5" ry="4.5" class="st15"></rect>		<text x="29.35" y="743.38" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>PyTorch</text>		</g>	<g id="shape76-81" v:mid="76" v:groupcontext="shape" transform="translate(53.7417,-615.335)">		<title>Sheet.76</title>		<desc>.pb</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="62.5" cy="750.051" width="125" height="24.1483"></v:textrect>		<rect x="0" y="737.977" width="125" height="24.1483" rx="4.5" ry="4.5" class="st15"></rect>		<text x="50.03" y="755.45" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>.pb</text>		</g>	<g id="shape77-84" v:mid="77" v:groupcontext="shape" transform="translate(221.742,-615.335)">		<title>Sheet.77</title>		<desc>.tflite</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="62.5" cy="750.051" width="125" height="24.1483"></v:textrect>		<rect x="0" y="737.977" width="125" height="24.1483" rx="4.5" ry="4.5" class="st15"></rect>		<text x="41.99" y="755.45" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>.tflite</text>		</g>	<g id="shape78-87" v:mid="78" v:groupcontext="shape" transform="translate(397.742,-613.524)">		<title>Sheet.78</title>		<desc>.onnx</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="62.5" cy="748.542" width="125" height="27.1668"></v:textrect>		<rect x="0" y="734.958" width="125" height="27.1668" rx="4.5" ry="4.5" class="st15"></rect>		<text x="40.61" y="753.94" class="st9" v:langid="1041"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>.onnx</text>		</g>	<g id="shape79-90" v:mid="79" v:groupcontext="shape" transform="translate(573.742,-615.335)">		<title>Sheet.79</title>		<desc>.ts</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="62.5" cy="750.051" width="125" height="24.1483"></v:textrect>		<rect x="0" y="737.977" width="125" height="24.1483" rx="4.5" ry="4.5" class="st15"></rect>		<text x="52.55" y="755.45" class="st9" 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="shape80-94" v:mid="80" v:groupcontext="shape" transform="translate(1047.95,82.7966) rotate(90)">		<title>Sheet.80</title>		<path d="M0 762.13 L29.6 762.13" class="st13"></path>	</g>	<g id="shape81-99" v:mid="81" v:groupcontext="shape" transform="translate(1222.37,82.7966) rotate(90)">		<title>Sheet.81</title>		<path d="M0 762.13 L29.6 762.13" class="st13"></path>	</g>	<g id="shape82-104" v:mid="82" v:groupcontext="shape" v:layermember="0" transform="translate(1138.37,529.162) rotate(90)">		<title>Sheet.82</title>		<path d="M0 762.13 L63.59 762.13" class="st13"></path>	</g>	<g id="shape83-109" v:mid="83" v:groupcontext="shape" v:layermember="0" transform="translate(1364.04,529.728) rotate(90)">		<title>Sheet.83</title>		<path d="M0 762.13 L63.02 762.13" class="st13"></path>	</g>	<g id="shape84-114" v:mid="84" v:groupcontext="shape" transform="translate(36.2417,-36.875)">		<title>Sheet.84</title>		<desc>QTI</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="52" cy="751.138" width="104" height="21.9749"></v:textrect>		<rect x="0" y="740.15" width="104" height="21.9749" rx="4.5" ry="4.5" class="st16"></rect>		<text x="41.11" y="755.34" class="st17" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>QTI</text>		</g>	<g id="shape85-117" v:mid="85" v:groupcontext="shape" transform="translate(156.242,-36.875)">		<title>Sheet.85</title>		<desc>Hardware</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="52" cy="751.138" width="104" height="21.9749"></v:textrect>		<rect x="0" y="740.15" width="104" height="21.9749" rx="4.5" ry="4.5" class="st18"></rect>		<text x="21.74" y="755.34" class="st19" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Hardware</text>		</g>	<g id="shape86-120" v:mid="86" v:groupcontext="shape" transform="translate(276.242,-36.875)">		<title>Sheet.86</title>		<desc>OSS</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="52" cy="751.138" width="104" height="21.9749"></v:textrect>		<rect x="0" y="740.15" width="104" height="21.9749" rx="4.5" ry="4.5" class="st15"></rect>		<text x="38.88" y="755.34" class="st17" v:langid="1033"><v:paragraph v:horizalign="1"></v:paragraph><v:tablist></v:tablist>OSS</text>		</g>	<g id="shape89-123" v:mid="89" v:groupcontext="shape" transform="translate(53.3008,-456.625)">		<title>Sheet.89</title>		<desc>Qualcomm Neural Processing SDK</desc>		<v:textblock v:margins="rect(4,4,4,4)"></v:textblock>		<v:textrect cx="324.6" cy="691.237" width="649.2" height="141.775"></v:textrect>		<rect x="0" y="620.35" width="649.199" height="141.775" rx="8" ry="8" class="st20"></rect>		<text x="186.1" y="697.99" class="st9" v:langid="1033"><v:paragraph v:spline="-1.5" v:horizalign="1"></v:paragraph><v:tablist></v:tablist>Qualcomm Neural Processing SDK</text>		</g>	<g id="shape93-126" v:mid="93" v:groupcontext="shape" v:layermember="0" transform="translate(912.041,529.561) rotate(90)">		<title>Sheet.93</title>		<path d="M0 762.13 L63.19 762.13" class="st13"></path>	</g></g>
</svg>

Setup

![arrow-right](data:image/png;base64,UklGRpwAAABXRUJQVlA4TJAAAAAvF8AFEH+goG0bxqU4/kwuDQNp22T7Hd2/tito24Zxx5/keDw1kaw6pAoFSMK/iB/qXPECxHNdR35a5LyfAAqFBeA/Hm9S6E2CUWxbbf5gABvsO2yRgABSJERZJERCJMRBb/sM1UBE/xWmbcM46e4lUEfjF2LpUYCVX6HiHS5YDP3Jhgk/hl+K1nlAASYCVQQ=) Download SDK

![arrow-right](data:image/png;base64,UklGRpwAAABXRUJQVlA4TJAAAAAvF8AFEH+goG0bxqU4/kwuDQNp22T7Hd2/tito24Zxx5/keDw1kaw6pAoFSMK/iB/qXPECxHNdR35a5LyfAAqFBeA/Hm9S6E2CUWxbbf5gABvsO2yRgABSJERZJERCJMRBb/sM1UBE/xWmbcM46e4lUEfjF2LpUYCVX6HiHS5YDP3Jhgk/hl+K1nlAASYCVQQ=) Setup SDK

Customize

![arrow-right](data:image/png;base64,UklGRpwAAABXRUJQVlA4TJAAAAAvF8AFEH+goG0bxqU4/kwuDQNp22T7Hd2/tito24Zxx5/keDw1kaw6pAoFSMK/iB/qXPECxHNdR35a5LyfAAqFBeA/Hm9S6E2CUWxbbf5gABvsO2yRgABSJERZJERCJMRBb/sM1UBE/xWmbcM46e4lUEfjF2LpUYCVX6HiHS5YDP3Jhgk/hl+K1nlAASYCVQQ=) Convert model (SNPE)

![arrow-right](data:image/png;base64,UklGRpwAAABXRUJQVlA4TJAAAAAvF8AFEH+goG0bxqU4/kwuDQNp22T7Hd2/tito24Zxx5/keDw1kaw6pAoFSMK/iB/qXPECxHNdR35a5LyfAAqFBeA/Hm9S6E2CUWxbbf5gABvsO2yRgABSJERZJERCJMRBb/sM1UBE/xWmbcM46e4lUEfjF2LpUYCVX6HiHS5YDP3Jhgk/hl+K1nlAASYCVQQ=) Quantize model (SNPE)

![arrow-right](data:image/png;base64,UklGRpwAAABXRUJQVlA4TJAAAAAvF8AFEH+goG0bxqU4/kwuDQNp22T7Hd2/tito24Zxx5/keDw1kaw6pAoFSMK/iB/qXPECxHNdR35a5LyfAAqFBeA/Hm9S6E2CUWxbbf5gABvsO2yRgABSJERZJERCJMRBb/sM1UBE/xWmbcM46e4lUEfjF2LpUYCVX6HiHS5YDP3Jhgk/hl+K1nlAASYCVQQ=) Convert and quantize model (QNN)

![arrow-right](data:image/png;base64,UklGRpwAAABXRUJQVlA4TJAAAAAvF8AFEH+goG0bxqU4/kwuDQNp22T7Hd2/tito24Zxx5/keDw1kaw6pAoFSMK/iB/qXPECxHNdR35a5LyfAAqFBeA/Hm9S6E2CUWxbbf5gABvsO2yRgABSJERZJERCJMRBb/sM1UBE/xWmbcM46e4lUEfjF2LpUYCVX6HiHS5YDP3Jhgk/hl+K1nlAASYCVQQ=) Generate model (QNN)

Run inference

![arrow-right](data:image/png;base64,UklGRpwAAABXRUJQVlA4TJAAAAAvF8AFEH+goG0bxqU4/kwuDQNp22T7Hd2/tito24Zxx5/keDw1kaw6pAoFSMK/iB/qXPECxHNdR35a5LyfAAqFBeA/Hm9S6E2CUWxbbf5gABvsO2yRgABSJERZJERCJMRBb/sM1UBE/xWmbcM46e4lUEfjF2LpUYCVX6HiHS5YDP3Jhgk/hl+K1nlAASYCVQQ=) Run model (SNPE)

![arrow-right](data:image/png;base64,UklGRpwAAABXRUJQVlA4TJAAAAAvF8AFEH+goG0bxqU4/kwuDQNp22T7Hd2/tito24Zxx5/keDw1kaw6pAoFSMK/iB/qXPECxHNdR35a5LyfAAqFBeA/Hm9S6E2CUWxbbf5gABvsO2yRgABSJERZJERCJMRBb/sM1UBE/xWmbcM46e4lUEfjF2LpUYCVX6HiHS5YDP3Jhgk/hl+K1nlAASYCVQQ=) Run model (QNN)

API reference

![arrow-right](data:image/png;base64,UklGRpwAAABXRUJQVlA4TJAAAAAvF8AFEH+goG0bxqU4/kwuDQNp22T7Hd2/tito24Zxx5/keDw1kaw6pAoFSMK/iB/qXPECxHNdR35a5LyfAAqFBeA/Hm9S6E2CUWxbbf5gABvsO2yRgABSJERZJERCJMRBb/sM1UBE/xWmbcM46e4lUEfjF2LpUYCVX6HiHS5YDP3Jhgk/hl+K1nlAASYCVQQ=) [Qualcomm Neural Processing Engine C/C++](https://docs.qualcomm.com/bundle/publicresource/topics/80-63442-2/api.html)

![arrow-right](data:image/png;base64,UklGRpwAAABXRUJQVlA4TJAAAAAvF8AFEH+goG0bxqU4/kwuDQNp22T7Hd2/tito24Zxx5/keDw1kaw6pAoFSMK/iB/qXPECxHNdR35a5LyfAAqFBeA/Hm9S6E2CUWxbbf5gABvsO2yRgABSJERZJERCJMRBb/sM1UBE/xWmbcM46e4lUEfjF2LpUYCVX6HiHS5YDP3Jhgk/hl+K1nlAASYCVQQ=) [Qualcomm AI Engine Direct C/C++](https://docs.qualcomm.com/bundle/publicresource/topics/80-63442-2/api.html)

Last Published: Oct 13, 2025

Previous Topic
 
Use LiteRT to optimize an AI model Next Topic

Install Qualcomm AI Runtime SDK