{"id":6719,"date":"2026-07-08T06:08:18","date_gmt":"2026-07-07T23:08:18","guid":{"rendered":"https:\/\/daiilynews.cu.ma\/?p=6719"},"modified":"2026-07-08T06:08:18","modified_gmt":"2026-07-07T23:08:18","slug":"qualcomm-geniex-run-frontier-llms-and-vlms-locally-on-qualcomm-devices-across-npu-gpu-and-cpu-with-a-few-lines-of-code-%c2%b7-github","status":"publish","type":"post","link":"https:\/\/daiilynews.cu.ma\/?p=6719","title":{"rendered":"qualcomm\/GenieX: Run frontier LLMs and VLMs locally on Qualcomm devices across NPU, GPU, and CPU with a few lines of code \u00b7 GitHub"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<p>GenieX is an on-device Gen AI inference runtime for Qualcomm devices. Bring  almost any GGUF model from Hugging Face \u2014 or a pre-compiled bundle from Qualcomm AI Hub \u2014 and run it locally on the Hexagon NPU, Adreno GPU, or CPU in a few lines of code. One C SDK underneath, exposed through a CLI, Python, Kotlin\/Java, Docker, and an OpenAI-compatible server. It is the community version of Qualcomm GENIE.<\/p>\n<p>GenieX runs only on Qualcomm Snapdragon. Find your platform, then jump straight to the interface you want to use.<\/p>\n<p>Platform<br \/>\nExample devices<br \/>\nJump to a quickstart<\/p>\n<p>\ud83e\ude9f Windows ARM64 (Compute)<br \/>\nSnapdragon X \u00b7 X Elite<br \/>\nCLI \u00b7 Python \u00b7 Local server<\/p>\n<p>\ud83e\udd16 Android (Mobile)<br \/>\nSnapdragon 8 Elite \u00b7 8 Elite Gen 5<br \/>\nAndroid SDK<\/p>\n<p>\ud83d\udc27 Linux ARM64 (IoT)<br \/>\nDragonwing QCS9075<br \/>\nCLI \u00b7 Docker \u00b7 Python<\/p>\n<p>No device on hand? Spin up a remote session on Qualcomm Device Cloud.<\/p>\n<p>Pick your interface below. Each one follows the same three steps \u2014 Install, Run, and Docs \u2014 and shows both runtimes: a GGUF model from Hugging Face (llama_cpp) and a pre-compiled bundle from Qualcomm AI Hub (qairt, NPU).<\/p>\n<p>Install<\/p>\n<p>Windows ARM64 \u2014 download the installer, run it, then open a new terminal.<br \/>\nLinux ARM64 \u2014 one line, no sudo:<br \/>\ncurl -fsSL https:\/\/qaihub-public-assets.s3.us-west-2.amazonaws.com\/qai-hub-geniex\/install.sh | sh<\/p>\n<p>Run \u2014 chat with any model in one line (drag in an image for VLMs):<br \/>\n# GGUF from Hugging Face \u2192 llama.cpp (NPU \/ GPU \/ CPU)<br \/>\ngeniex infer google\/gemma-4-E4B-it-qat-q4_0-gguf<\/p>\n<p># Pre-compiled bundle from Qualcomm AI Hub \u2192 Qualcomm AI Engine Direct (NPU)<br \/>\ngeniex infer ai-hub-models\/Qwen2.5-VL-7B-Instruct<br \/>\n\ud83d\udcd6 Docs \u2014 Install \u00b7 Quickstart \u00b7 Command reference<\/p>\n<p>Install<\/p>\n<p>Run \u2014 mirrors Hugging Face transformers (from_pretrained() \u2192 .generate()):<br \/>\n# GGUF from Hugging Face \u2192 llama.cpp<br \/>\nfrom geniex import AutoModelForCausalLM<\/p>\n<p>model = AutoModelForCausalLM.from_pretrained(&#8220;unsloth\/Qwen3.5-2B-GGUF&#8221;, precision=&#8221;Q4_0&#8243;)<\/p>\n<p>messages = ({&#8220;role&#8221;: &#8220;user&#8221;, &#8220;content&#8221;: &#8220;What is 2+2?&#8221;})<br \/>\nprompt = model.tokenizer.apply_chat_template(messages, add_generation_prompt=True)<\/p>\n<p>for chunk in model.generate(prompt, max_new_tokens=256, stream=True):<br \/>\n    print(chunk, end=&#8221;&#8221;, flush=True)<\/p>\n<p>model.close()<br \/>\n# Pre-compiled bundle from Qualcomm AI Hub \u2192 Qualcomm AI Engine Direct (NPU)<br \/>\nfrom geniex import AutoModelForCausalLM<\/p>\n<p>model = AutoModelForCausalLM.from_pretrained(&#8220;ai-hub-models\/Qwen3-4B&#8221;)<\/p>\n<p>messages = ({&#8220;role&#8221;: &#8220;user&#8221;, &#8220;content&#8221;: &#8220;What is 2+2?&#8221;})<br \/>\nprompt = model.tokenizer.apply_chat_template(messages, add_generation_prompt=True)<\/p>\n<p>for chunk in model.generate(prompt, max_new_tokens=256, stream=True):<br \/>\n    print(chunk, end=&#8221;&#8221;, flush=True)<\/p>\n<p>model.close()<br \/>\n\ud83d\udcd6 Docs \u2014 Install \u00b7 Quickstart \u00b7 API reference<\/p>\n<p>Install \u2014 ships with the CLI (install above).<br \/>\nRun \u2014 pull any model (GGUF or Qualcomm AI Hub bundle), then serve an OpenAI-compatible API:<br \/>\ngeniex pull ai-hub-models\/Qwen3-4B-Instruct-2507<br \/>\ngeniex serve   # serves http:\/\/127.0.0.1:18181\/v1<br \/>\ncurl http:\/\/127.0.0.1:18181\/v1\/chat\/completions \\<br \/>\n  -H &#8220;Content-Type: application\/json&#8221; \\<br \/>\n  -d &#8216;{<br \/>\n    &#8220;model&#8221;: &#8220;ai-hub-models\/Qwen3-4B-Instruct-2507&#8221;,<br \/>\n    &#8220;messages&#8221;: ({&#8220;role&#8221;: &#8220;user&#8221;, &#8220;content&#8221;: &#8220;Hello!&#8221;})<br \/>\n  }&#8217;<br \/>\nPoint any OpenAI client at http:\/\/127.0.0.1:18181\/v1 \u2014 no code changes.<br \/>\n\ud83d\udcd6 Docs \u2014 Local server guide<\/p>\n<p>Install \u2014 add the SDK to your app module&#8217;s build.gradle.kts:<br \/>\ndependencies {<br \/>\n    implementation(&#8220;com.qualcomm.qti:geniex-android:0.3.1&#8221;)<br \/>\n}<br \/>\nRun \u2014 fastest path is the sample app (chat UI, model picker for GGUF + Qualcomm AI Hub bundles, VLM support):<br \/>\nThe Android demo app lives in qualcomm\/ai-hub-apps. Clone it, open the sample app in Android Studio, and hit Run.<br \/>\n\ud83d\udcd6 Docs \u2014 Install \u00b7 Quickstart \u00b7 API reference<\/p>\n<p>Install<br \/>\ndocker pull docker.io\/qualcomm\/geniex:latest<br \/>\nRun \u2014 the container wraps the CLI, so geniex infer \u2026 works exactly as above.<br \/>\n\ud83d\udcd6 Docs \u2014 Docker guide<\/p>\n<p>Install \u2014 link against the single C header sdk\/include\/geniex.h; every other interface is a thin wrapper over it.<br \/>\n\ud83d\udcd6 Docs \u2014 sdk\/README.md \u00b7 notes\/build.md<\/p>\n<p>GenieX has two runtimes so you get broad model coverage and peak Snapdragon performance in one stack. Both LLMs and VLMs are supported.<\/p>\n<p>llama.cpp (llama_cpp)<br \/>\nQualcomm AI Engine Direct (qairt)<\/p>\n<p>Get models from<br \/>\nHugging Face (any GGUF)<br \/>\nQualcomm AI Hub (pre-compiled)<\/p>\n<p>Format<br \/>\nGGUF<br \/>\nPer-chipset bundle<\/p>\n<p>Compute units<br \/>\nNPU \u00b7 GPU \u00b7 CPU<br \/>\nNPU only<\/p>\n<p>Best for<br \/>\nBringing your own GGUF<br \/>\nHighest NPU performance<\/p>\n<p>For llama.cpp, pick the Q4_0 precision when prompted \u2014 it has the best Hexagon NPU support. See the Models guide \u2192 for the full list, precisions, and how to run a local model.<\/p>\n<p>Contributions are welcome! Before opening a PR, please read CONTRIBUTING.md for branch naming, commit \/ PR title format, pre-commit checks, and the FFI-update rule for public SDK headers.<\/p>\n<p>Questions, ideas, or want to show off what you built? Come say hi.<\/p>\n<p>\ud83d\udcac Slack \u2014 ask questions and chat with the community in real time.<br \/>\n\ud83d\udc1b GitHub Issues \u2014 report a bug or request a feature.<br \/>\n\ud83d\udd17 LinkedIn \u2014 follow Qualcomm AI Hub for news and updates.<\/p>\n<p>Thanks to everyone building GenieX \ud83d\udc99<\/p>\n<p>BSD 3-Clause \u2014 see LICENSE and NOTICE.<br \/>\nUse of this project is also subject to Qualcomm&#8217;s Terms of Use.<br \/>\n<br \/><br \/>\n<br \/><a href=\"https:\/\/github.com\/qualcomm\/GenieX\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>GenieX is an on-device Gen AI inference runtime for Qualcomm devices. Bring almost any GGUF model from Hugging Face \u2014 or a pre-compiled bundle from Qualcomm AI Hub \u2014 and run it locally on the Hexagon NPU, Adreno GPU, or CPU in a few lines of code. One C SDK underneath, exposed through a CLI, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":6720,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[676],"tags":[],"class_list":["post-6719","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech-ai"],"_links":{"self":[{"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/posts\/6719","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6719"}],"version-history":[{"count":0,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/posts\/6719\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/media\/6720"}],"wp:attachment":[{"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6719"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6719"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6719"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}