Динамична адаптация на изчисленията
Chloros 1.1.0 въвежда интелигентно разпознаване на хардуера и автоматичен избор на стратегия за обработка. Двигателят за обработка се адаптира към вашия хардуер — от Jetson Nano до работна станция с няколко графични процесора — без никаква ръчна конфигурация.
Как работи
Когато Chloros стартира, той автоматично профилира вашата система:
Разпознава операционната система — Windows или Linux
Идентифицира ядрата на процесора и общата RAM
3.Открива наличието на GPU — NVIDIA CUDA възможности, VRAM, модел 4. Идентифицира модела на Jetson (ако е приложимо) — чрез /proc/device-tree/model 5. Проверява термичните сензори (Jetson) — за обработка, съобразена с температурата 6. Избира оптималната стратегия за изчисления — въз основа на целия открит хардуер 7. Конфигурира броя на работниците, типа на конвейера и разпределението на паметта автоматично
Резултатът се кешира, за да започват по-бързо следващите изпълнения. Ако хардуерът се промени (например, добави се графичен процесор), Chloros препрофилира при следващото стартиране.
Стратегии за изчисления
Chloros избира една от три стратегии за изчисления въз основа на вашия хардуер:
GPU_PARALLEL
Да (12 GB+ VRAM или 16 GB+ споделена)
3-4
fused_gpu
Настолни графични процесори с 12 GB+, Jetson Orin NX 16 GB, AGX Orin
GPU_SINGLE
Да (< 12 GB VRAM)
1-3
tiled_gpu
Графични процесори от начален клас, Jetson Nano, Orin Nano
CPU_PARALLEL
Не
ядра - 1
cpu_fallback
Системи без NVIDIA GPU
Типове пипалини
fused_gpu— Пълен път на обработка на GPU. Всички операции по дебайериране, корекция и индексиране се изпълняват на графичния процесор в един обединен цикъл. Най-висока производителност, но изисква повече VRAM.tiled_gpu— Път на графичния процесор с ефективно използване на паметта. Обработва изображенията на плочки, за да се побере в ограничената памет на графичния процесор. По-ниска производителност, но работи на устройства с ограничена памет.cpu_fallback— Обработка само на CPU с използване на многонишкова паралелност. Използва се, когато няма наличен NVIDIA GPU.***
Поведение, специфично за платформата
Jetson Nano 8GB
GPU_SINGLE
1
tiled_gpu (сериализиран)
Режим с ефективно използване на паметта, обработва по едно изображение наведнъж
Jetson Orin NX 16GB
GPU_PARALLEL
3
fused_gpu (едновременна)
Препоръчително крайно устройство — истинска паралелна GPU обработка
Jetson AGX Orin 64GB
GPU_PARALLEL
4
fused_gpu (едновременна)
Максимална производителност на крайното устройство
Настолен компютър с 8 GB GPU
GPU_SINGLE
3
tiled_gpu
Добра производителност на настолен компютър с паметно ефективни плочки
Настолен компютър с 12 GB+ GPU
GPU_PARALLEL
3-4
fused_gpu
Оптимална производителност на настолен компютър
Система само с CPU
CPU_PARALLEL
ядра - 1
cpu_fallback
Не се изисква GPU, използва ThreadPool
Унифицирана памет на Jetson: Устройствата Jetson споделят паметта на GPU и CPU. Jetson Orin NX 16GB отчита ~15,3 GB VRAM, но това е същата физическа RAM, използвана от операционната система и процесите на CPU. Chloros отчита това при задаването на прагове за разпределение на паметта.
Динамично разпределение на паметта на GPU
Chloros използва 4-нишкова обработваща верига:
Нишка 1 (Откриване) — Зареждане на изображение, анализиране на EXIF, откриване на цел
Нишка 2 (Калибриране) — Изчисление на калибриране на отражателната способност
Нишка 3 (Обработка) — Дебайериране на GPU, корекция на винетиране, изчисляване на индекс
Нишка 4 (Експорт) — Записване на файлове, вграждане на метаданни
Когато по-ранните нишки от конвейера завършат работата си (например, всички изображения са били открити), разпределената им памет на GPU се освобождава и преразпределя към останалите активни нишки. Това означава, че нишка 3 (етапът с интензивно използване на GPU) получава все повече памет с напредването на процеса, подобрявайки производителността за най-интензивната изчислителна работа.
Етапи на разпределение
Ранен
1, 2, 3, 4
Разпределена между всички нишки
Средно-ранна
2, 3, 4
Паметта на нишка 1 се преразпределя
Средно-късна
3, 4
Паметта на нишки 1+2 отива към 3+4
Късна
3 или 4
Максимална памет за оставащата нишка
Обработка с разпознаване на текстури
Методът за дебайериране с разпознаване на текстури (само Chloros+) използва значително повече памет на GPU в сравнение със стандартния метод поради модела за отстраняване на шума с AI/ML:
Системите с < 7 GB VRAM са принудени да използват синхронна циклична обработка за режим с разпознаване на текстури (по едно изображение наведнъж)
Системите с 7 GB+ VRAM могат да обработват Texture Aware едновременно, макар и с намален брой работници в сравнение със Standard***
Термично управление (Jetson)
Устройствата Jetson имат термични ограничения, особено при затворени или въздушни разгръщания. Chloros следи температурите на GPU и CPU и автоматично регулира обработката:
< 70°C
Нормална работа — пълна скорост
70°C (Предупреждение)
Намаляване на размера на партидата
80°C (Критично)
Агресивно ограничаване — по-ниска паралелност и брой работници
90°C (Изключване)
Пълно спиране на обработката на GPU
Мониторингът на температурата използва tegrastats на Jetson платформи. На настолни системи с адекватно охлаждане термичното ограничаване рядко се задейства.
Управление на натоварването на паметта
Chloros следи натоварването на системната памет по време на обработката:
Праг на паметта: 85% използване задейства консервативно поведение
Намаляване при OOM: Ако възникне събитие за изчерпване на паметта, разпределението се намалява с 25% (мултипликатор 0,75x)
Резервен вариант на конвейера: При силен натиск върху паметта, пиплинът автоматично преминава от
fused_gpuкъмtiled_gpuПрепоръки за суап: На Jetson, Chloros ви предупреждава, ако пространството за суап е недостатъчно за размера на вашия набор от данни***
Мониторинг на адаптацията на изчислителната мощност
Изход за състоянието на CLI
Когато започне обработката, CLI показва открития хардуерен профил:
Системна диагностика
Изпълнете chloros-cli selftest, за да видите пълен хардуерен профил и да проверите изчислителните възможности:
Това проверява наличността на CUDA, паметта на GPU, моделите за отстраняване на шума и свързаността на бекенда.
Следващи стъпки
Процесуален конвейер — Разбиране на архитектурата на 4-нишковия конвейер
Ръководство за NVIDIA Jetson — Разгръщане и оптимизация, специфични за Jetson
CLI : Командна линия — Пълен справочник за CLI
Last updated