동적 컴퓨팅 적응

Chloros 1.1.0은 지능형 하드웨어 감지 및 자동 처리 전략 선택 기능을 도입했습니다. 처리 엔진은 Jetson Nano부터 멀티 GPU 워크스테이션에 이르기까지 사용자의 하드웨어에 맞춰 자동으로 적응하며, 별도의 수동 설정은 필요하지 않습니다.


작동 원리

Chloros가 시작되면 시스템 프로파일링을 자동으로 수행합니다:

  1. 운영 체제 감지 — Windows 또는 Linux

  2. CPU 코어 및 총 RAM 식별

3.GPU 존재 여부 감지 — NVIDIA CUDA 기능, VRAM, 모델 4. Jetson 모델 식별 (해당되는 경우) — /proc/device-tree/model를 통해 5. 열 센서 확인 (Jetson) — 온도 감지 처리를 위해 6. 최적의 컴퓨팅 전략 선택 — 감지된 모든 하드웨어를 기반으로 7. 워커 수, 파이프라인 유형 및 메모리 할당을 자동으로 구성

결과는 캐시되어 이후 실행 시 더 빠르게 시작됩니다. 하드웨어가 변경될 경우(예: GPU 추가), 다음 실행 시 Chloros가 프로파일링을 다시 수행합니다.


컴퓨팅 전략

Chloros는 사용자의 하드웨어에 따라 다음 세 가지 컴퓨팅 전략 중 하나를 선택합니다:

전략
GPU 필요 여부
워커
파이프라인
최적 용도

GPU_PARALLEL

예 (12GB 이상 VRAM 또는 16GB 이상 공유)

3-4

fused_gpu

12GB 이상 데스크톱 GPU, Jetson Orin NX 16GB, AGX Orin

GPU_SINGLE

예 (< 12GB VRAM)

1-3

tiled_gpu

엔트리 레벨 GPU, Jetson Nano, Orin Nano

CPU_PARALLEL

아니요

코어 - 1

cpu_fallback

NVIDIA GPU가 없는 시스템

파이프라인 유형

  • fused_gpu — 전체 GPU 처리 경로. 모든 디베이어, 보정 및 인덱스 연산이 단일 융합 패스로 GPU에서 실행됩니다. 처리량이 가장 높지만 더 많은 VRAM이 필요합니다.

  • tiled_gpu — 메모리 효율적인 GPU 경로. 제한된 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 (동시)

최대 엣지 성능

8GB GPU 탑재 데스크톱

GPU_SINGLE

3

tiled_gpu

메모리 효율적인 타일링을 통한 우수한 데스크톱 성능

12GB 이상 GPU 탑재 데스크톱

GPU_PARALLEL

3-4

fused_gpu

최적의 데스크톱 성능

CPU 전용 시스템

CPU_PARALLEL

코어 - 1

cpu_fallback

GPU 불필요, ThreadPool 사용

circle-info

Jetson 통합 메모리: Jetson 장치는 GPU와 CPU 메모리를 공유합니다. Jetson Orin NX 16GB는 약 15.3GB의 VRAM을 보고하지만, 이는 OS 및 CPU 프로세스가 사용하는 물리적 RAM과 동일합니다. Chloros는 메모리 할당 임계값을 설정할 때 이를 고려합니다.


동적 GPU 메모리 할당

Chloros는 4스레드 처리 파이프라인을 사용합니다:

  • 스레드 1 (검출) — 이미지 로딩, EXIF 파싱, 대상 검출

  • 스레드 2 (보정) — 반사율 보정 계산

  • 스레드 3 (처리) — GPU 디베이어, 비네팅 보정, 인덱스 계산

  • 스레드 4 (내보내기) — 파일 쓰기, 메타데이터 삽입

이전 파이프라인 스레드가 작업을 완료하면(예: 모든 이미지가 감지됨), 해당 스레드의 GPU 메모리 할당량이 해제되어 남은 활성 스레드들에 재분배됩니다. 이는 파이프라인이 진행됨에 따라 스레드 3(GPU 집약적 단계)이 점차 더 많은 메모리를 확보하게 되어, 가장 연산 집약적인 작업의 처리량을 향상시킨다는 것을 의미합니다.

할당 단계

단계
활성 스레드
GPU 메모리 분배

초기

1, 2, 3, 4

모든 스레드에 분산

중반-초기

2, 3, 4

스레드 1의 메모리 재분배

중반-후기

3, 4

스레드 1+2의 메모리가 3+4로 이동

후기

3 또는 4

남은 스레드에 최대 메모리 할당

텍스처 인식 처리

텍스처 인식 디베이어(Texture Aware) 방식(Chloros+ 전용)은 AI/ML 노이즈 제거 모델로 인해 표준 방식보다 훨씬 더 많은 GPU 메모리를 사용합니다:

  • 7GB 미만의 VRAM을 갖춘 시스템은 텍스처 인식 모드에서 동기식 처리 루프(한 번에 하나의 이미지)로 강제 전환됩니다

  • 7GB 이상 VRAM을 갖춘 시스템은 텍스처 인식 처리를 병렬로 수행할 수 있으나, 표준 방식에 비해 워커 수가 줄어듭니다***

열 관리 (Jetson)

Jetson 디바이스는 특히 밀폐된 공간이나 항공기 내 배치 환경에서 열 제한이 있습니다. Chloros는 GPU 및 CPU 온도를 모니터링하고 처리를 자동으로 조정합니다:

온도
대응 조치

< 70°C

정상 작동 — 최대 속도

70°C (경고)

배치 크기 축소

80°C (위험)

강력한 스로틀링 — 동시 처리량 및 워커 수 감소

90°C (종료)

GPU 처리 완전히 중지

Jetson 플랫폼에서는 온도 모니터링에 tegrastats가 사용됩니다. 적절한 냉각 장치가 갖춰진 데스크톱 시스템에서는 열 스로틀링이 거의 발생하지 않습니다.


메모리 부하 처리

Chloros는 처리 중 시스템 메모리 부하를 모니터링합니다:

  • 메모리 임계값: 사용률 85% 도달 시 보수적인 동작을 유발합니다

  • OOM 감소: 메모리 부족(OOM) 이벤트가 발생하면 할당량이 25% 감소합니다(0.75배 계수)

  • 파이프라인 폴백: 심각한 메모리 부하 시, 파이프라인은 fused_gpu에서 tiled_gpu로 자동으로 전환됩니다

  • 스왑 권장 사항: Jetson에서 데이터셋 크기에 비해 스왑 공간이 부족할 경우, Chloros가 경고를 표시합니다***

컴퓨팅 적응 모니터링

CLI 상태 출력

처리가 시작되면 CLI가 감지된 하드웨어 프로필을 표시합니다:

시스템 진단

chloros-cli selftest를 실행하여 전체 하드웨어 프로필을 확인하고 컴퓨팅 성능을 검증하십시오:

이 명령은 CUDA 사용 가능 여부, GPU 메모리, 노이즈 제거 모델 및 백엔드 연결 상태를 확인합니다.


다음 단계

마지막 업데이트