Adaptação dinâmica de computação
O Chloros 1.1.0 introduz a deteção inteligente de hardware e a seleção automática da estratégia de processamento. O motor de processamento adapta-se ao seu hardware — desde um Jetson Nano até uma estação de trabalho com várias GPUs — sem qualquer configuração manual.
Como funciona
Quando o Chloros é iniciado, ele analisa automaticamente o seu sistema:
Deteta o sistema operativo — Windows ou Linux
Identifica os núcleos da CPU e a RAM total
3.Deteta a presença de GPU — capacidade NVIDIA CUDA, VRAM, modelo 4. Identifica o modelo Jetson (se aplicável) — através do /proc/device-tree/model 5. Verifica os sensores térmicos (Jetson) — para um processamento sensível à temperatura 6. Seleciona a estratégia de computação ideal — com base em todo o hardware detetado 7. Configura automaticamente o número de trabalhadores, o tipo de pipeline e a alocação de memóriaO resultado é armazenado em cache para que as execuções subsequentes iniciem mais rapidamente. Se o hardware for alterado (por exemplo, se for adicionada uma GPU), o Chloros volta a criar o perfil na próxima inicialização.***
Estratégias de Computação
O Chloros seleciona uma de três estratégias de computação com base no seu hardware:
GPU_PARALLEL
Sim (12 GB+ de VRAM ou 16 GB+ partilhada)
3-4
fused_gpu
GPUs de desktop com 12 GB+, Jetson Orin NX 16 GB, AGX Orin
GPU_SINGLE
Sim (< 12 GB de VRAM)
1-3
tiled_gpu
GPUs de nível básico, Jetson Nano, Orin Nano
CPU_PARALLEL
Não
núcleos - 1
cpu_fallback
Sistemas sem GPU NVIDIA
Tipos de pipeline
fused_gpu— Percurso completo de processamento da GPU. Todas as operações de debayer, correção e indexação são executadas na GPU numa única passagem fusionada. Oferece o maior rendimento, mas requer mais VRAM.tiled_gpu— Percurso de GPU com eficiência de memória. Processa imagens em blocos para caberem na memória limitada da GPU. Oferece menor rendimento, mas funciona em dispositivos com restrições de memória.cpu_fallback— Processamento apenas na CPU utilizando paralelismo multithread. Utilizado quando não há nenhuma GPU NVIDIA disponível.***
Comportamento específico da plataforma
Jetson Nano 8 GB
GPU_SINGLE
1
tiled_gpu (serializado)
Modo eficiente em termos de memória, processa uma imagem de cada vez
Jetson Orin NX 16 GB
GPU_PARALLEL
3
fused_gpu (concorrente)
Dispositivo de borda recomendado — processamento paralelo real da GPU
Jetson AGX Orin 64 GB
GPU_PARALLEL
4
fused_gpu (concorrente)
Máximo desempenho de borda
Desktop com GPU de 8 GB
GPU_SINGLE
3
tiled_gpu
Bom desempenho de desktop com blocos eficientes em termos de memória
Desktop com GPU de 12 GB ou mais
GPU_PARALLEL
3-4
fused_gpu
Desempenho ideal no desktop
Sistema apenas com CPU
CPU_PARALLEL
núcleos - 1
cpu_fallback
Não requer GPU, utiliza ThreadPool
Memória unificada Jetson: Os dispositivos Jetson partilham a memória da GPU e da CPU. Um Jetson Orin NX de 16 GB apresenta cerca de 15,3 GB de VRAM, mas trata-se da mesma RAM física utilizada pelo sistema operativo e pelos processos da CPU. O Chloros tem isto em conta ao definir os limites de alocação de memória.
Alocação dinâmica de memória da GPU
O Chloros utiliza um pipeline de processamento de 4 threads:
Thread 1 (Detecção) — Carregamento de imagens, análise de EXIF, deteção de alvos
Thread 2 (Calibração) — Cálculo da calibração de refletância
Thread 3 (Processamento) — Debayer da GPU, correção de vinheta, cálculo de índice
Thread 4 (Exportação) — Gravação de ficheiros, incorporação de metadados
À medida que as threads anteriores do pipeline concluem o seu trabalho (por exemplo, todas as imagens foram detetadas), a sua alocação de memória da GPU é libertada e redistribuída pelas restantes threads ativas. Isto significa que a Thread 3 (a fase que exige maior uso da GPU) obtém progressivamente mais memória à medida que o pipeline avança, melhorando o rendimento para o trabalho que exige maior capacidade de computação.
Fases de alocação
Inicial
1, 2, 3, 4
Dividida por todas as threads
Início-meio
2, 3, 4
Memória da thread 1 redistribuída
Meio-fim
3, 4
Memória das threads 1+2 vai para 3+4
Fim
3 ou 4
Memória máxima para a thread restante
Processamento Texture Aware
O método de debayer Texture Aware (apenas Chloros+) utiliza significativamente mais memória da GPU do que o método Standard devido ao modelo de redução de ruído de IA/ML:
Os sistemas com < 7 GB de VRAM são forçados a um ciclo de processamento síncrono para o modo Texture Aware (uma imagem de cada vez)
Os sistemas com 7 GB ou mais de VRAM podem processar o modo Texture Aware em simultâneo, embora com um número reduzido de trabalhadores em comparação com o modo Standard***
Gestão térmica (Jetson)
Os dispositivos Jetson têm restrições térmicas, especialmente em implementações fechadas ou aéreas. O Chloros monitoriza as temperaturas da GPU e da CPU e ajusta automaticamente o processamento:
< 70 °C
Funcionamento normal — velocidade máxima
70 °C (Aviso)
Reduzir tamanho do lote
80 °C (Crítico)
Limitação agressiva — diminuir a simultaneidade e o número de trabalhadores
90 °C (Desligamento)
Interromper totalmente o processamento da GPU
A monitorização da temperatura utiliza o tegrastats em plataformas Jetson. Em sistemas de secretária com refrigeração adequada, a limitação térmica raramente é acionada.
Gestão da pressão de memória
O Chloros monitoriza a pressão da memória do sistema durante o processamento:
Limite de memória: uma utilização de 85% aciona um comportamento conservador
Redução por falta de memória: se ocorrer um evento de falta de memória, a alocação é reduzida em 25% (multiplicador de 0,75x)
Recurso de fallback do pipeline: Sob pressão de memória severa, o pipeline recua automaticamente de
fused_gpuparatiled_gpuRecomendações de swap: No Jetson, o Chloros avisa se o espaço de swap for insuficiente para o tamanho do seu conjunto de dados***
Monitorização da adaptação de computação
Saída de estado do CLI
Quando o processamento começa, o CLI apresenta o perfil de hardware detetado:
Diagnóstico do sistema
Execute o chloros-cli selftest para ver um perfil de hardware completo e verificar as capacidades de computação:
Isto verifica a disponibilidade da CUDA, a memória da GPU, os modelos de redução de ruído e a conectividade do backend.
Próximos passos
Pipeline de processamento — Compreender a arquitetura do pipeline de 4 threads
Guia NVIDIA Jetson — Implementação e otimização específicas para Jetson
CLI : Linha de comando — Referência completa do CLI
Last updated