Была! Боже, когда мы с папой на Митинском радиорынке нашли Creative Labs 3D Blaster Voodoo2 за какие-то удивительно вменяемые деньги (в валюте, что характерно... да и расплачивались тогда в валюте), это было такое эпичное событие...
Как щас помню, она была прям в такой большой коробке, как будто чтобы подчеркнуть значимость этого компонента. А может, это я тогда был маленький, и всё казалось большим.
И да, в итоге Quake 2 я помню именно таким, как на видео справа. И первый Tomb Raider тогда тоже заиграл новыми красками, и прочее...
Таки нет: и то, и другое всё же Mali, просто одно из них использует древний самопальный драйвер, а другое — официальный драйвер ARM.
Но даже между этими драйверами разница может составлять от трёх и более раз, в зависимости от сложности рендера (Aquarium в этом смысле — так себе тест, на самом деле, это почти 2D).
Канонический пример — эмулятор Dolphin, особенно с игрой F-Zero GX. У меня она работает на 60 fps, тогда как с Panfork'ом это был диафильм.
Или вот, Half-Life 2. Оговорюсь, что здесь я использовал проект Source Engine, а не Steam (тот ставить долго, а Source у меня уже был собранный). Но на скорость графики это влиять не должно.
Разве что llvmpipe, т.е. софтверно. Нет, в образе Joshua-Riek пока не поддерживается Vulkan, см. issue раз и два. Да, эти образы устарели, Joshua выгорел и больше не работает над ними так, как раньше. Поэтому, да, в них старое ядро и старые драйверы (и, повторюсь, Vulkan всё же не поддерживается).
как мне "включить правильное аппаратное ускорение" для образа который я использовал
Для этого надо удалить все следы Mesa и таки поставить вышеуказанные пакеты. Но, да, нужно более новое ядро, т.к. Joshua специально удалял коммиты, которые обновляют драйвер ядра Mali, чтобы поддерживать совместимость с Panfork — в ущерб производительности. Кстати, сам создатель Panfork в своё время выкладывал инструкцию, как использовать правильные драйверы. Однако, перелопачивать конкретно образ Joshua-Riek, хоть и возможно, но заметно дольше и трудозатратнее, чем просто взять новый дистрибутив с новым ядром.
Что касается игр — таки да, результаты именно что будут кратно выше. Я специально занимался именно юзкейсом игр в рамках проекта Retro Lite CM5, точно знаю, о чём говорю.
Мой вопрос про скриншот glmark2-es2-wayland имеет совершенно конкретную причину: если у вас в тесте terrain результат около 100 или ниже, то это ничто. Если 300 или выше, то — поздравляю, вы наконец-то используете ускоритель Mali G610 (и, собственно, процессор RK3588) по назначению. Но я уже знаю, каким будет ваш ответ. Отсюда, например, бессмысленность утверждения о преимуществе N100 в 2.6 раза.
А включить-то просто: поставьте Armbian последних сборок с Noble, плюс установите libmali (можно сборки tsukumijima, но если хочется на практике использовать Vulkan, то лучше мои). Вас, возможно, удивит, но я — один из мэйнтейнеров Armbian, именно для этого процессора.
Проект ROCKNIX — вот тут: https://rocknix.org/ (неужели вас уже и в гугле забанили?)
Я серьёзно. Дайте скриншот с glmark2-es-wayland, например? А ещё лучше, с vkcube-wayland?
Panfork — это древний форк Mesa, едва ли пригодный для чего либо. Правильно использовать либо Panthor (если вы любите опенсорс), либо libmali (если хотите максимальную производительность, раза в 2-3 быстрее). Оба умеют рендерить GNOME аппаратно, без вот этого "Software Rendering".
Да, я разобрался, как включить аппаратное ускорение. Я разобрался, как включить Vulkan. Этими моими наработками активно пользуется, например, проект ROCKNIX.
Видео в H265 — это вообще другое, там другие драйверы и другие ядра процессора.
Учитывая то, что автор не разобрался, как включить аппаратное ускорение графики (для этого есть аж два разных драйвера), все тесты производительности в статье бессмысленны.
Собственно, я потому и упомянул Rock 5C, что у него видео-декодер великолепный, да и NPU ничего так (6 TOPS), но с Hailo-8L (13 TOPS) он был бы ещё интереснее. Но так ли это на практике? ;)
Про Frigate я заикнулся в том смысле, что это уже готовое решение, которое (в теории!) несложно подстроить под несколько разных платформ, т.к. плагины уже есть, и протестировать на однотипных примерах — что мы получим на самом деле? Тут проверилась бы и простота сборки, и производительность, и разные ботлнеки вскрылись бы (как тот же Coral через USB отличается от Coral по M2).
Кастомные решения — это, в общем, тоже интересно, особенно когда нижний сегмент корпоративных решений начинает пересекаться с просьюмерским: можно ли за относительно небольшие деньги получить производительную систему для домашнего использования, и как?
Ну да ладно, я понимаю, что немного раскатал губу, просто статья в целом была уж очень многообещающей. :)
Мне, например, любопытна чисто практическая сторона для домашнего использования: типа, YOLO на Frigate, с одной или нескольких камер, на чём-то вроде RK3588 vs. Hailo-8L на RPi 5 vs. A311D (через драйвер etnaviv, в идеале).
В таком сценарии можно рассмотреть и лёгкость подключения, и минусы самих решений (например, RPi 5 не умеет аппаратно декодировать h264), и интересные способы достижения максимальной производительности за вменяемые деньги (а что если Hailo-8L подключить к Rock 5C?).
Судя по статье, я уверен, что у вас (в отличие от меня) достаточно опыта и навыков для создания подобного обзора. :)
Например на RPi только 1 линия (официально PCI-e(1), но на практике PCI-e(2))
Позанудствую: на RPi 5 по умолчанию PCIe2x1, но можно включить PCIe3x1. Там же можно через PCIe-свитч завести какой-нибудь двуядерный Coral M2, но тогда только PCIe2.
Статья понравилась, но раз уж обзор, какие-нибудь бенчмарки были бы уместны ("не очень быстрая плата" — это довольно расплывчато), в идеале с указанием заявленных TOPS и реальной скорости инференса.
Про то, что нельзя unordered_map — почему-то не верю, учитывая фидбек: "most folks just default to standard hash tables" — как бы намекает, что так можно было. Опять же, после уточняющих вопросов наверняка бы выяснилось, что можно и тупо массивом (хотя, потом всё равно сказали бы, что а давайте теперь у нас юникод, так что хэш-таблица понадобится всё равно).
Такой вот code golf, например, быстрее 99% решений
class Solution {
public:
string minWindow(string s, string t) {
int diff = 0;
int count[128];
memset(count, 0, sizeof(count));
for (const char &c : t)
diff += ((count[c])++ == 0);
char *start = s.data(), *end = start + s.size();
char *pi = start, *pj = start;
int ri = -1, minLen = s.size() + 1;
while (pj < end) {
while (pj < end && diff != 0)
diff -= (--(count[*pj++]) == 0);
while (pi < pj && diff == 0) {
int len = pj - pi;
if (len < minLen) {
minLen = len;
ri = pi - start;
}
diff += ((count[*pi++])++ == 0);
}
}
return ri >= 0 ? s.substr(ri, minLen) : "";
}
};
Кстати, мне эту задачу давали на скрининге в G десять лет назад, тогда там точно можно было unordered_map.
Всё так. При желании можно было бы даже ZigBee использовать, с той же ESP32-C6, и всё равно было бы столь же недорого, плюс стандартные протоколы для климат-контроля.
Rockchip ещё официально не выпустила SDK для ядра 6.1, хотя обещали ещё в декабре. Если повезёт, примерно завтра выпустят (видимо, китайский новый год внёс дополнительные задержки), и вскоре появятся сборки для Armbian. Предрелизные сборки уже существуют (одна такая у меня на Rock 5A крутится), но релиза пока не было.
Была! Боже, когда мы с папой на Митинском радиорынке нашли Creative Labs 3D Blaster Voodoo2 за какие-то удивительно вменяемые деньги (в валюте, что характерно... да и расплачивались тогда в валюте), это было такое эпичное событие...
Как щас помню, она была прям в такой большой коробке, как будто чтобы подчеркнуть значимость этого компонента. А может, это я тогда был маленький, и всё казалось большим.
И да, в итоге Quake 2 я помню именно таким, как на видео справа. И первый Tomb Raider тогда тоже заиграл новыми красками, и прочее...
Ох, как же давно это было.
Чой-та? Я знаю аж две альтернативных опенсорсных прошивки для этой камеры (и её клонов).
Таки нет: и то, и другое всё же Mali, просто одно из них использует древний самопальный драйвер, а другое — официальный драйвер ARM.
Но даже между этими драйверами разница может составлять от трёх и более раз, в зависимости от сложности рендера (Aquarium в этом смысле — так себе тест, на самом деле, это почти 2D).
Канонический пример — эмулятор Dolphin, особенно с игрой F-Zero GX. У меня она работает на 60 fps, тогда как с Panfork'ом это был диафильм.
Или вот, Half-Life 2. Оговорюсь, что здесь я использовал проект Source Engine, а не Steam (тот ставить долго, а Source у меня уже был собранный). Но на скорость графики это влиять не должно.
Ну, например...
Ссылки на коммиты? Извольте: дистрибутив, ядро.
Мои наработки в ROCKNIX: раз, два.
Разве что llvmpipe, т.е. софтверно. Нет, в образе Joshua-Riek пока не поддерживается Vulkan, см. issue раз и два. Да, эти образы устарели, Joshua выгорел и больше не работает над ними так, как раньше. Поэтому, да, в них старое ядро и старые драйверы (и, повторюсь, Vulkan всё же не поддерживается).
Для этого надо удалить все следы Mesa и таки поставить вышеуказанные пакеты. Но, да, нужно более новое ядро, т.к. Joshua специально удалял коммиты, которые обновляют драйвер ядра Mali, чтобы поддерживать совместимость с Panfork — в ущерб производительности. Кстати, сам создатель Panfork в своё время выкладывал инструкцию, как использовать правильные драйверы. Однако, перелопачивать конкретно образ Joshua-Riek, хоть и возможно, но заметно дольше и трудозатратнее, чем просто взять новый дистрибутив с новым ядром.
Что касается игр — таки да, результаты именно что будут кратно выше. Я специально занимался именно юзкейсом игр в рамках проекта Retro Lite CM5, точно знаю, о чём говорю.
Мой вопрос про скриншот glmark2-es2-wayland имеет совершенно конкретную причину: если у вас в тесте terrain результат около 100 или ниже, то это ничто. Если 300 или выше, то — поздравляю, вы наконец-то используете ускоритель Mali G610 (и, собственно, процессор RK3588) по назначению. Но я уже знаю, каким будет ваш ответ. Отсюда, например, бессмысленность утверждения о преимуществе N100 в 2.6 раза.
А включить-то просто: поставьте Armbian последних сборок с Noble, плюс установите libmali (можно сборки tsukumijima, но если хочется на практике использовать Vulkan, то лучше мои). Вас, возможно, удивит, но я — один из мэйнтейнеров Armbian, именно для этого процессора.
Проект ROCKNIX — вот тут: https://rocknix.org/ (неужели вас уже и в гугле забанили?)
Я серьёзно. Дайте скриншот с glmark2-es-wayland, например? А ещё лучше, с vkcube-wayland?
Panfork — это древний форк Mesa, едва ли пригодный для чего либо. Правильно использовать либо Panthor (если вы любите опенсорс), либо libmali (если хотите максимальную производительность, раза в 2-3 быстрее). Оба умеют рендерить GNOME аппаратно, без вот этого "Software Rendering".
Да, я разобрался, как включить аппаратное ускорение. Я разобрался, как включить Vulkan. Этими моими наработками активно пользуется, например, проект ROCKNIX.
Видео в H265 — это вообще другое, там другие драйверы и другие ядра процессора.
Учитывая то, что автор не разобрался, как включить аппаратное ускорение графики (для этого есть аж два разных драйвера), все тесты производительности в статье бессмысленны.
Тоже как-то покоробило... Но на этом автор ведь не остановился:
А это, простите, что за зверь?
Точно не умеет. Да, там только h265. :)
Собственно, я потому и упомянул Rock 5C, что у него видео-декодер великолепный, да и NPU ничего так (6 TOPS), но с Hailo-8L (13 TOPS) он был бы ещё интереснее. Но так ли это на практике? ;)
Про Frigate я заикнулся в том смысле, что это уже готовое решение, которое (в теории!) несложно подстроить под несколько разных платформ, т.к. плагины уже есть, и протестировать на однотипных примерах — что мы получим на самом деле? Тут проверилась бы и простота сборки, и производительность, и разные ботлнеки вскрылись бы (как тот же Coral через USB отличается от Coral по M2).
Кастомные решения — это, в общем, тоже интересно, особенно когда нижний сегмент корпоративных решений начинает пересекаться с просьюмерским: можно ли за относительно небольшие деньги получить производительную систему для домашнего использования, и как?
Ну да ладно, я понимаю, что немного раскатал губу, просто статья в целом была уж очень многообещающей. :)
О, такая табличка — это уже что-то, спасибо.
Мне, например, любопытна чисто практическая сторона для домашнего использования: типа, YOLO на Frigate, с одной или нескольких камер, на чём-то вроде RK3588 vs. Hailo-8L на RPi 5 vs. A311D (через драйвер etnaviv, в идеале).
В таком сценарии можно рассмотреть и лёгкость подключения, и минусы самих решений (например, RPi 5 не умеет аппаратно декодировать h264), и интересные способы достижения максимальной производительности за вменяемые деньги (а что если Hailo-8L подключить к Rock 5C?).
Судя по статье, я уверен, что у вас (в отличие от меня) достаточно опыта и навыков для создания подобного обзора. :)
Позанудствую: на RPi 5 по умолчанию PCIe2x1, но можно включить PCIe3x1. Там же можно через PCIe-свитч завести какой-нибудь двуядерный Coral M2, но тогда только PCIe2.
Статья понравилась, но раз уж обзор, какие-нибудь бенчмарки были бы уместны ("не очень быстрая плата" — это довольно расплывчато), в идеале с указанием заявленных TOPS и реальной скорости инференса.
Про то, что нельзя unordered_map — почему-то не верю, учитывая фидбек: "most folks just default to standard hash tables" — как бы намекает, что так можно было. Опять же, после уточняющих вопросов наверняка бы выяснилось, что можно и тупо массивом (хотя, потом всё равно сказали бы, что а давайте теперь у нас юникод, так что хэш-таблица понадобится всё равно).
Такой вот code golf, например, быстрее 99% решений
Кстати, мне эту задачу давали на скрининге в G десять лет назад, тогда там точно можно было unordered_map.
Таки к граням, или всё же к рёбрам?
Всё так. При желании можно было бы даже ZigBee использовать, с той же ESP32-C6, и всё равно было бы столь же недорого, плюс стандартные протоколы для климат-контроля.
А вот Raspberry Pi Zero тут откровенно избыточно.
Да даже ESP8266 достаточно: https://habr.com/ru/articles/419963/
М-м, не поддерживает. Один 8K через HDMI, плюс один 2K через MIPI DSI.
Rockchip ещё официально не выпустила SDK для ядра 6.1, хотя обещали ещё в декабре. Если повезёт, примерно завтра выпустят (видимо, китайский новый год внёс дополнительные задержки), и вскоре появятся сборки для Armbian. Предрелизные сборки уже существуют (одна такая у меня на Rock 5A крутится), но релиза пока не было.
Было бы неплохо указать автора КДПВ, ну или хотя бы подпись оставить.