Processing Unit
1 개요
FLImaging® 은 고성능 이미지 처리 및 분석을 위해 다양한 프로세싱 유닛 클래스를 제공합니다. 특정 하드웨어 환경(CPU, Multi CPU, NVIDIA CUDA 기반 GPU)에 최적화된 명령어 처리를 지원하며, 효율적이고 유연한 연산을 가능하게 합니다.

2 CPU
CProcessingUnitCPU
클래스는 CPU 기반 작업 처리를 위한 프로세싱 유닛 클래스입니다.
멤버 함수 목록
- 명령어 설정 및 조회
GetInstruction
: 현재 설정된 명령어 반환SetInstruction
: 사용할 명령어 설정
열거형
EInstruction
EInstruction_Optimal
: 최적의 명령어 선택EInstruction_Normal
: 기본 명령어 사용EInstruction_SSE4
: SSE4 명령어 사용EInstruction_AVX2
: AVX2 명령어 사용
3 CPU Multi
CProcessingUnitCPUMulti
클래스를 통해 다중 CPU 기반 처리 작업이 수행 가능합니다.
CProcessingUnitCPU
클래스에서 확장되었으며, 여러 CPU를 활용한 병렬 처리를 지원합니다.
4 Cuda
CProcessingUnitCuda
클래스를 통해 NVIDIA CUDA 기반 GPU를 활용하여 고속 연산을 처리할 수 있습니다.
멤버 함수 목록
1. Cuda 사용 가능 여부 확인
IsCudaAvailable
: Cuda 기능 실사용 가능 여부 반환IsCudaDeepLearningAvailable
: Cuda 딥 러닝 작업 실사용 가능 여부 반환
2. Cuda 장치 정보 조회 및 설정
GetAvailableCudaDeviceCount
: 시스템에서 사용 가능한 Cuda 장치 수 반환GetDeviceIndex
: 설정된 Cuda 장치 인덱스 반환SetDeviceIndex
: 사용할 Cuda 장치 인덱스 설정
3. Cuda 초기화 및 메모리 관리
WarmUp
: 초기 로딩 시, Cuda 모듈 준비 시간을 줄이기 위한 사전 작업 수행GetAvailableCudaMemory
: 현재 선택된 Cuda 장치의 사용 가능한 메모리 크기 반환
4. Cuda 장치 리스트 관리
GetInvolvedCudaDeviceIndices
: 연산에 참여할 Cuda 장치 인덱스 반환SetInvolvedCudaDeviceIndices
: 연산에 참여할 Cuda 장치 인덱스 설정ClearInvolvedCudaDeviceIndices
: 연산에 참여할 Cuda 장치 인덱스 초기화LockToModifyInvolvedCudaDeviceIndices
: Cuda 장치 인덱스 설정 변경 잠금UnlockToModifyInvolvedCudaDeviceIndices
: Cuda 장치 인덱스 설정 변경 잠금 상태 해제
5. 사용 허가된 Cuda 장치 정보
GetPermittedCudaDeviceCount
: 사용 허가된 Cuda 장치 수 반환GetPermittedCudaDeviceIndices
: 사용 허가된 Cuda 장치들의 인덱스 반환
5 Manager
CProcessingUnitManger
클래스는 프로세싱 유닛 객체를 관리하는 역할을 합니다. 프로세싱 유닛 객체 설정, 조회, 초기화를 할 수 있습니다.
멤버 함수 목록
GetProcessingUnit
: 현재 설정된 프로세싱 유닛 객체 반환SetProcessingUnit
: 새로운 프로세싱 유닛 객체 설정ResetProcessingUnit
: 설정된 프로세싱 유닛 객체를 초기 상태로 리셋
6 Optimal
CProcessingUnitOptimal
클래스는 최적의 프로세싱 방식을 제공하는 클래스입니다.