Mac GPU Checker
macOS-бенчмарк GPU в реальных TFLOPS (fp16 GEMM) — и держит ли чип число под нагрузкой.
Dev-storyЗадача
При покупке б/у Mac пиковые цифры GPU врут: запылённая машина берёт пик на секунду, а через полминуты сыпется. Хочешь знать, держит ли чип число, а не просто касается его.
Что делали
Swift-приложение, гоняющее умножение матриц 4096×4096 в fp16 на GPU через Metal Performance Shaders 60 секунд; большая цифра это текущие TFLOPS (FLOPs считаются точно как 2·M·N·K, так что это физическая производительность, а не баллы), живая кривая показывает, как машина её держит, а вердикт сравнивает с ожидаемым диапазоном для этого поколения чипа. Есть headless-режим, выводящий одну строку JSON для сравнения машин.
Результат
Одно окно, одна большая цифра и форма кривой за меньше минуты говорят, держит ли GPU Mac нагрузку или троттлит — настоящий стресс-тест охлаждения, заодно инструмент осмотра б/у Mac.
Dev-story статья
Mac GPU Checker: как создавался проект
Пиковые цифры GPU подделать проще всего на свете: почти любой Mac, даже с забитым пылью радиатором, на секунду-две возьмёт свои TFLOPS, потом нагревается и сыпется. Mac GPU Checker сделан ровно для этого момента — осмотра б/у Mac — так что большая цифра на экране это не пик, а что машина делает прямо сейчас, а форма кривой рядом это и есть диагноз.
Разделы
05
Модули
05
Стек
Swift + Metal
Почему появился проект
При покупке б/у Mac пиковые цифры GPU врут: запылённая машина берёт пик на секунду, а через полминуты сыпется. Хочешь знать, держит ли чип число, а не просто касается его.
Пиковые цифры GPU подделать проще всего на свете: почти любой Mac, даже с забитым пылью радиатором, на секунду-две возьмёт свои TFLOPS, потом нагревается и сыпется. Mac GPU Checker сделан ровно для этого момента — осмотра б/у Mac — так что большая цифра на экране это не пик, а что машина делает прямо сейчас, а форма кривой рядом это и есть диагноз.
Что было создано
Swift-приложение, гоняющее умножение матриц 4096×4096 в fp16 на GPU через Metal Performance Shaders 60 секунд; большая цифра это текущие TFLOPS (FLOPs считаются точно как 2·M·N·K, так что это физическая производительность, а не баллы), живая кривая показывает, как машина её держит, а вердикт сравнивает с ожидаемым диапазоном для этого поколения чипа. Есть headless-режим, выводящий одну строку JSON для сравнения машин.
Однооконное Swift-приложение, гоняющее умножение матриц 4096x4096 в fp16 на GPU через Metal Performance Shaders 60 секунд. Огромная цифра это текущие TFLOPS; строка под ней показывает вердикт (держит, троттлит или ниже диапазона этого чипа); а живой график рисует пик пунктиром с кривой удержания под ним. Headless-режим выводит одну строку JSON, так что покупатель б/у Mac может сравнить несколько машин с флешки.
Основные модули и путь пользователя
Цифра это физика, а не баллы: FLOPs для GEMM считаются точно как 2*M*N*K, так что величина TFLOPS это реальная пропускная способность, а не выдуманный балл бенчмарка.
Он измеряет то, что важно на б/у машине — удержание, а не пик: sustained это среднее последних замеров, а low это худший замер прогона, так что троттлящий через 20-40 секунд чип показывает явную ступеньку вниз, а не дружелюбный пик.
Он знает, как выглядит хорошо: приложение несёт ожидаемый диапазон для распознаваемых поколений чипов и прямо говорит, когда машина ниже него.
Он заодно стресс-тест охлаждения: GEMM греет GPU сильнее почти любой реальной задачи, так что ровная линия значит, что тепловая система справляется, а ступенька вниз или пила означают пыль, высохшую пасту или конкуренцию.
Он путешествует: скрипт установки собирает переносную копию на флешку, а поскольку на чужом Mac приложение не подписано, оно документирует одноразовое правый-клик-Открыть и headless CLI-путь для проверки без GUI.
Архитектура и технологические решения
Сделано на Swift, Metal, macOS.
Swift + Metal Performance Shaders для ядра GEMM; 60-секундный прогон с пиком, sustained и low; таблица ожидаемого диапазона по чипу для вердикта; headless-режим с одной строкой JSON; скрипт сборки/установки с переносной USB-целью.
Результат и выводы
Одно окно, одна большая цифра и форма кривой за меньше минуты говорят, держит ли GPU Mac нагрузку или троттлит — настоящий стресс-тест охлаждения, заодно инструмент осмотра б/у Mac.
Одно окно, одна честная цифра и форма кривой за меньше минуты говорят, держит ли GPU Mac свою номинальную производительность или тихо троттлит — разница между хорошей сделкой на б/у Mac и дорогим обогревателем.
Связанные статьи
Читать дальше
Связанные истории проектов
Эти проекты близки по техническим или продуктовым решениям и показывают, как тот же принцип работает в другом контексте.
Dev-storyVoice
Диктовка в меню-баре macOS на локальном Whisper — речь в текст в любом приложении, на устройстве.
Dev-storyFableVita
FableVita — AI-фитнес-тренер с лигами, квестами и защищённой от фрода экономикой наград.
Dev-storyCMS
Динамический headless-CMS на webedge-db — типы контента, медиа, роли и публичный read-API, питающий наши сайты и статьи.
Есть похожая идея?
Обсудить проект