AMEVA-Runtime (Python)
모바일 및 엣지 환경을 위한 차세대 통합 온디바이스 하드웨어 오케스트레이션 및 멀티모달 가속 런타임
Next-Gen Unified On-Device Hardware Orchestration & Multi-Modal Acceleration Runtime for Mobile & Edge
Installation
pip install ameva-runtime
Quickstart
import ameva_runtime as ameva
# 1. Execute LLM inference directly with optimal on-device hardware dispatch
result = ameva.run(
model="qwen2.5-0.5b",
prompt="Space in Korean is:",
max_tokens=32
)
print(f"Generated text: {result.text}")
print(f"Hardware backend: {result.backend_used} ({result.tokens_per_second:.2f} t/s)")
# 2. Preview hardware execution plan
plan = ameva.plan(model="qwen2.5-0.5b")
print(f"Route: {plan.backend} | NGL: {plan.ngl} | Threads: {plan.threads}")
Description
AMEVA Runtime provides a unified, zero-silent-fallback hardware orchestration engine for generative AI on mobile and edge devices. It automatically resolves vendor divergence, dispatching to native Vulkan hardware offload on Qualcomm Adreno while isolating driver deadlocks on ARM Mali through deterministic Cortex-A78 CPU-NEON multi-threading.
Empirical Hardware Benchmarks (Qwen2.5-0.5B-Instruct)
| Device & SoC | GPU & Driver Architecture | Backend Route | Layer Offload | Generation Speed | Prompt Eval Speed | UI Freeze | Speedup |
|---|---|---|---|---|---|---|---|
| Galaxy S25 (Snapdragon 8 Elite) | Qualcomm Adreno 830 (Vulkan 1.3) | VULKAN | 25/25 (100% VRAM) | 35.80 t/s (27.93 ms/t) | 4.53 t/s | 0% | 35.8x |
| Galaxy A35 (Exynos 1380) | ARM Mali-G68 MP5 (Vulkan 1.3) | CPU-NEON | 0/25 (Safe Guard) | 3.55 t/s (295 ms/t) | 8.05 t/s | 0% | Baseline |
| Galaxy A35 (Forced Vulkan Test) | ARM Mali-G68 MP5 (vulkan.mali.so) | VULKAN | 25/25 | 0.00 t/s (Deadlock) | - | 100% (Hung) | Failed |
Technical Rationale for ARM Mali CPU-NEON Fallback
The proprietary ARM Mali Vulkan driver (/vendor/lib64/hw/vulkan.mali.so via /dev/mali0) enforces aggressive kernel-level dynamic power management (DVFS) tied to SurfaceFlinger display composition. During headless compute dispatches in terminal or CLI environments (lacking an active window swapchain), the Mali driver interprets the absence of display flips as an idle state, downclocking GPU compute cores and failing to signal in-flight completion fences. This causes host threads waiting on vkWaitForFences or vkQueueWaitIdle to deadlock indefinitely.
To guarantee rock-solid system stability and eliminate device lockups, the AMEVA SmartRouter automatically identifies ARM Mali GPUs, bypasses the unstable headless Vulkan path, and dispatches inference to the high-performance ARM Cortex-A78 CPU-NEON cluster.
CLI Quickstart
# 1. Automatic hardware diagnosis and profile inspection
ameva-run doctor
ameva-run profile
# 2. Dry-run execution plan
ameva-run plan -m qwen2.5-0.5b
# 3. Direct model execution with automatic hardware acceleration
ameva-run exec -m qwen2.5-0.5b -p "Space in Korean is:" -n 32
Documentation
License
Apache-2.0 License. Copyright (c) 2026 Eunho Kim (@uno-km).
Release files for ameva-runtime 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ameva_runtime-1.0.0.tar.gz | 63.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ameva_runtime-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 132.1 kB
Release files / ameva_runtime-1.0.0.tar.gz
| Download URL | ameva_runtime-1.0.0.tar.gz |
|---|---|
| Size | 63.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4da5140480985f997c33eb3826dedc794eadcaed9bd5e72184f1714a8023e01d
|
|
BLAKE2b-256 checksum How to use checksums |
166b1d65a7a268d84452641a4acc6d3d23c8c6ec1760e251e2c11a972b19bb8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.0
|
Release files / ameva_runtime-1.0.0-py3-none-any.whl
| Download URL | ameva_runtime-1.0.0-py3-none-any.whl |
|---|---|
| Size | 68.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6b87a41b6abe6c4eec2dbc59e6f088ec425b1e2b244741b760c6c33f79b0571c
|
|
BLAKE2b-256 checksum How to use checksums |
add135bfe5bd178530262675ab704c890a3218c06036f5356622f8c3aaffaf72
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.0
|