Home || Architecture || Video Search || Visual Search || Scripts || Applications || Important Messages || OGL || Src

virtual void Impala::Core::VideoSet::ComputeKernelData::HandleDoneFile ( VideoSet vs,
int  fileId,
Stream::RgbDataSrc src 
) [inline, virtual]

Completed given DB_FILE in a "normal" walk.

Reimplemented from Impala::Core::VideoSet::Listener.

Definition at line 148 of file ComputeKernelData.h.

References Impala::Core::Database::RawDataSet::GetFilePathPrecomputedKernels(), Impala::Core::Database::RawDataSet::GetSetName(), ILOG_INFO, mBaseSet, mKernelMatrixName, and mWalkType.

00149     {
00150         String kernelDataCacheFilename = vs->GetFilePathKernelData(
00151                     mWalkType,
00152                     mBaseSet->GetSetName(),
00153                     mKernelMatrixName,
00154                     fileId, false, true);
00155         if(!kernelDataCacheFilename.empty())
00156         {
00157             ILOG_INFO("Skipping, KernelData already exists: " << 
00158                       kernelDataCacheFilename);
00159             return;
00160         }
00161 
00162         String storageFilename = vs->GetFilePathKernelData(
00163                 mWalkType,
00164                 mBaseSet->GetSetName(),
00165                 mKernelMatrixName,
00166                 fileId, true, false);
00167 
00168         String inputDefinition = mBaseSet->GetFilePathPrecomputedKernels
00169             (mKernelMatrixName + ".input.txt", "", false, false);
00170 
00171         String averagesFilename = mBaseSet->GetFilePathPrecomputedKernels
00172             (mKernelMatrixName + ".averages.raw", "", false, false);
00173 
00174         // compute it
00175 #ifdef CUDA
00176         bool GPU = Link::Cuda::CudaUsed();
00177 #else
00178         bool GPU = false;
00179 #endif   
00180         int setting_slabWidth = 1024;
00181         PrecomputeTask* pt = new PrecomputeTask(inputDefinition,
00182             averagesFilename, storageFilename, vs, mBaseSet, fileId, mWalkType);
00183         ILOG_INFO("GPU mode: " << GPU);
00184         if(GPU)
00185         {
00186             ComputeKernelMatrix<float, true>(pt, setting_slabWidth);
00187         }
00188         else
00189         {
00190 #ifdef CUDA
00191             // CUDA mode must be in float to make it compile, even for CPU
00192             ComputeKernelMatrix<float, false>(pt, setting_slabWidth);
00193 #else
00194             ComputeKernelMatrix<double, false>(pt, setting_slabWidth);
00195 #endif
00196         }
00197         delete pt;
00198     }

Here is the call graph for this function:


Generated on Fri Mar 19 11:28:45 2010 for ImpalaSrc by  doxygen 1.5.1