FLImaging 6.5.8.1
AlgorithmBase.h
1#pragma once
2
12namespace FLImaging
13{
15 namespace Foundation
16 {
26 {
31
36
43
44
59
62 };
63
71 class FL_EXPORT CAlgorithmBase : public Base::CFLBase
72 {
73 public:
74
83
94
105
111
123 virtual const CResult Assign(const CAlgorithmBase& pufb);
124
136 virtual const CResult Assign(const CAlgorithmBase* pPufb);
137
147 virtual const CAlgorithmBase& operator=(const CAlgorithmBase& pufb);
148
158 virtual const CResult Clear();
159
171 virtual const CResult Execute();
172
185
193 virtual int32_t GetOptimalThreadCount() const;
194
202 virtual int64_t GetRequiredGPUMemory() const;
203
204
205 SupportToDuplicateAbstractObject(CAlgorithmBase);
206 DeclareGetClassType();
207
208 protected:
209
210 virtual const CResult InitializeProcessingUnit(bool bCheckCudaMemoryAvailable = false);
211 virtual bool IsOptimalProcessingUnitEnabled() const;
212
213 FLImaging::Foundation::EProcessingUnitFeatures m_eRequiredProcessingUnitFeatures;
214 int32_t m_i32RequiredThreadCount;
215 };
216 }
217}
FLImaging의 최상위 기저 클래스
Definition FLBase.h:36
FLImaging 모듈의 수행 결과 객체
Definition ResultsDef.h:1514
알고리즘에서 필요한 프로세싱 유닛 기초 클래스
Definition AlgorithmBase.h:72
virtual int64_t GetRequiredGPUMemory() const
virtual int32_t GetOptimalThreadCount() const
virtual FLImaging::Foundation::EProcessingUnitFeatures GetOptimalProcessingUnit() const
virtual const CResult Assign(const CAlgorithmBase *pPufb)
CAlgorithmBase(const CAlgorithmBase *pPufb)
복사 생성자 (포인터)
virtual const CResult Execute()
virtual const CResult Assign(const CAlgorithmBase &pufb)
virtual const CAlgorithmBase & operator=(const CAlgorithmBase &pufb)
CAlgorithmBase(const CAlgorithmBase &pufb)
복사 생성자 (참조)
EProcessingUnitFeatures
Processing Unit Features
Definition AlgorithmBase.h:26
@ EProcessingUnitFeatures_Cuda
Definition AlgorithmBase.h:61
@ EProcessingUnitFeatures_Feature_Cuda
Definition AlgorithmBase.h:30
@ EProcessingUnitFeatures_Feature_AVX2
Definition AlgorithmBase.h:42
@ EProcessingUnitFeatures_CPU_Multi_AVX2
Definition AlgorithmBase.h:58
@ EProcessingUnitFeatures_None
Definition AlgorithmBase.h:46
@ EProcessingUnitFeatures_CPU_Multi_SSE4
Definition AlgorithmBase.h:56
@ EProcessingUnitFeatures_Feature_SerialProcessing
Definition AlgorithmBase.h:33
@ EProcessingUnitFeatures_Feature_SSE4
Definition AlgorithmBase.h:40
@ EProcessingUnitFeatures_Feature_CPU
Definition AlgorithmBase.h:28
@ EProcessingUnitFeatures_CPU_Multi_Naive
Definition AlgorithmBase.h:54
@ EProcessingUnitFeatures_CPU_SSE4
Definition AlgorithmBase.h:50
@ EProcessingUnitFeatures_Feature_Naive
Definition AlgorithmBase.h:38
@ EProcessingUnitFeatures_CPU_Naive
Definition AlgorithmBase.h:48
@ EProcessingUnitFeatures_CPU_AVX2
Definition AlgorithmBase.h:52
@ EProcessingUnitFeatures_Feature_ParallelProcessing
Definition AlgorithmBase.h:35