Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 📊 Полный отчёт об аппаратных возможностях и производительности Infinix X676C (Note 12 2023)
- **Дата:** 6 мая 2026
- **Устройство:** Infinix X676C (Note 12 2023)
- **SoC:** MediaTek Helio G88 (MT6789)
- **CPU:** 2×Cortex‑A75 @ 2.0 ГГц + 6×Cortex‑A55 @ 1.8 ГГц
- **GPU:** Mali‑G57 MC2 (архитектура Valhall, драйвер r32p1)
- **ОС:** Android 12 (Termux, права shell)
- ---
- ## 1. Методика тестирования
- Все тесты проводились в среде Termux без прав root, с активным Vulkan‑драйвером Mesa Turnip (v24.2.5, wrapper). Использовались:
- - **CPU‑бенчмарк:** `ncnn/benchncnn` (сборка с ARM‑оптимизациями, без GPU)
- - **GPU‑бенчмарки:** `vkpeak` (пиковая производительность Vulkan), `vkmark` (графический бенчмарк)
- - **LLM‑инференс:** `llama.cpp` (сборки CPU, Vulkan, OpenCL) с моделью Qwen2.5‑1.5B‑Instruct Q4_K_M (934 МБ)
- ---
- ## 2. Процессор (CPU)
- ### 2.1. Результаты `benchncnn` (время обработки, мс)
- | Модель | Мин. | Среднее | Макс. |
- |----------------------|--------|---------|---------|
- | SqueezeNet | 7.44 | **7.57** | 7.77 |
- | MobileNet | 12.19 | **12.49** | 12.86 |
- | VGG16 | 118.09 | **118.65** | 119.29 |
- | Vision Transformer | 748.32 | **752.43** | 760.05 |
- Тест использовал 2 потока, `gpu_device = -1` (чистый CPU). Это демонстрирует отличную производительность для бюджетного мобильного процессора, особенно на свёрточных сетях.
- ### 2.2. Аналоги CPU
- | Тип | Модель |
- |------------------|----------------------------------|
- | Настольный ПК | Intel Core i3‑4005U (Haswell, 2014) |
- | Одноплатный ПК | Raspberry Pi 5, Khadas VIM3L |
- | Мобильный SoC | Snapdragon 662, 665, 678 |
- Производительность Cortex‑A75 на ядро примерно на 34% уступает первому поколению Zen1 (AMD, 2017), но превосходит Cortex‑A73 на 20–50%.
- ---
- ## 3. Графический ускоритель (GPU)
- ### 3.1. Пиковая производительность (`vkpeak`)
- | Метрика | GFLOPS/GIOPS |
- |---------------|----------------|
- | FP32 scalar | 126.80 |
- | FP32 vec4 | 126.11 |
- | FP16 scalar | 126.99 |
- | FP16 vec4 | **252.81** |
- | **FP16 matrix** | **0.00** |
- | INT32 scalar | 32.00 GIOPS |
- | INT16 vec4 | 63.98 GIOPS |
- Видно, что GPU способен на 253 GFLOPS FP16, но **не поддерживает матричные расширения** (cooperative matrix, dot‑продукты), критичные для LLM.
- ### 3.2. Графический тест (`vkmark`)
- **Итоговая оценка:** 1120 (без Termux:X11), 1145 (с X11).
- Высокий FPS (например, cube‑тест – 1836 FPS) подтверждает, что сам Vulkan‑драйвер работает стабильно для графики.
- ### 3.3. Аналоги GPU
- | Тип | Модель |
- |----------------------------|-------------------------------|
- | Интегрированная графика | Intel UHD 620 |
- | Дискретная начальная | NVIDIA GeForce GT 710 (2014) |
- | Мобильный GPU | Qualcomm Adreno 618 |
- ---
- ## 4. Запуск LLM (llama.cpp)
- ### 4.1. Успешные конфигурации
- | Сборка | Статус | Скорость (Qwen 1.5B) |
- |------------|-------------------------------|---------------------------------------|
- | **CPU** | ✅ Стабильно | ~10–11 t/s (128 токенов за ~14–18 с) |
- | Vulkan | ❌ Segfault при инициализации | – |
- | OpenCL | ❌ Platform IDs not available | – |
- ### 4.2. Попытки GPU‑ускорения
- - **Vulkan:** сборка прошла успешно, но падает при `common_params_fit_impl` из‑за отсутствия `VK_KHR_cooperative_matrix` и багов в Turnip.
- - **OpenCL:** рантайм не видит платформу (`clGetPlatformIDs -1001`). Сборка с `GGML_OPENCL=ON` работает только на CPU.
- ### 4.3. Причина невозможности GPU‑инференса
- Не аппаратная проблема, а **программная**: драйвер Mesa Turnip не поддерживает расширение `VK_KHR_cooperative_matrix` (и аналогичные для dot‑product/int8). Без них матричные вычисления не ускоряются, а вычислительные шейдеры нестабильны. Теоретически проприетарный драйвер ARM или будущая версия PanVK могли бы решить проблему, но на момент тестов это недоступно.
- ---
- ## 5. Сравнение CPU и GPU
- | Показатель | CPU (Helio G88) | GPU (Mali‑G57) |
- |--------------------------------------------|--------------------------------|---------------------|
- | Пиковая FP16 (GFLOPS) | ~120–150 (оценка) | **253** |
- | Реальная скорость LLM (1.5B, q4_K_M) | **10 t/s** | 0 (не работает) |
- | Стабильность вычислений | ✅ Отлично | ❌ Segfault |
- | Поддержка матричных расширений | Не требуется | ❌ Отсутствует |
- | Пригодность для анализа кода (RsaUtils, smali) | ✅ Да | ❌ Нет |
- **Вывод:** Несмотря на формальное превосходство в пиковой производительности, GPU бесполезен для `llama.cpp` из‑за отсутствия ключевых расширений. CPU‑сборка – единственный рабочий и быстрый вариант.
- ---
- ## 6. Итоговые рекомендации
- 1. **Использовать CPU‑сборку `llama.cpp`** (`~/.local/bin/llama-completion`) как основную для локального инференса.
- 2. **Облачные API (Groq/OpenRouter) – основной инструмент** для глубокого анализа кода (модели 70B+).
- 3. **Локальная Qwen2.5‑1.5B‑Instruct – отличный офлайн‑помощник** (объяснение кода, поиск уязвимостей).
- 4. **GPU‑эксперименты прекращены** до появления драйверов с поддержкой cooperative matrix.
- ---
- ## 7. Инструментарий (после завершения экспериментов)
- - **Анализатор кода:** `smart_analyze.py` (CLI), `web_analyzer.py` (GUI на Flask)
- - **Локальный LLM:** `llama-completion` (CPU) + Qwen2.5‑1.5B‑Instruct
- - **Облачные бэкенды:** Groq, OpenRouter, Ollama (настроено автоматическое переключение)
- - **Бенчмарки (удалены):** `vkpeak`, `ncnn`, `clpeak`, `vkmark` – использовались только для тестов.
- Отчёт завершён.
Advertisement
Add Comment
Please, Sign In to add comment