Commit 7704dbf8 authored by Alexander Alekhin's avatar Alexander Alekhin

ocl: svm: restore non BLAS version

parent 9a63508f
...@@ -994,13 +994,15 @@ void CvSVMKernel_ocl::calc( int vcount, const int row_idx, Qfloat* results, Mat& ...@@ -994,13 +994,15 @@ void CvSVMKernel_ocl::calc( int vcount, const int row_idx, Qfloat* results, Mat&
//int j; //int j;
(this->*calc_func_ocl)( vcount, row_idx, results, src); (this->*calc_func_ocl)( vcount, row_idx, results, src);
// FIXIT #if defined HAVE_CLAMDBLAS #if !defined(HAVE_CLAMDBLAS)
// nothing
#else
const Qfloat max_val = (Qfloat)(FLT_MAX * 1e-3); const Qfloat max_val = (Qfloat)(FLT_MAX * 1e-3);
int j; int j;
for( j = 0; j < vcount; j++ ) for( j = 0; j < vcount; j++ )
if( results[j] > max_val ) if( results[j] > max_val )
results[j] = max_val; results[j] = max_val;
// FIXIT #endif #endif
} }
bool CvSVMKernel_ocl::create( const CvSVMParams* _params, Calc_ocl _calc_func, Calc _calc_func1 ) bool CvSVMKernel_ocl::create( const CvSVMParams* _params, Calc_ocl _calc_func, Calc _calc_func1 )
...@@ -1072,12 +1074,13 @@ void CvSVMKernel_ocl::calc_poly( int vcount, const int row_idx, Qfloat* results, ...@@ -1072,12 +1074,13 @@ void CvSVMKernel_ocl::calc_poly( int vcount, const int row_idx, Qfloat* results,
{ {
calc_non_rbf_base( vcount, row_idx, results, src); calc_non_rbf_base( vcount, row_idx, results, src);
//FIXIT #if defined HAVE_CLAMDBLAS #if !defined(HAVE_CLAMDBLAS)
// nothing
#else
CvMat R = cvMat( 1, vcount, QFLOAT_TYPE, results ); CvMat R = cvMat( 1, vcount, QFLOAT_TYPE, results );
if( vcount > 0 ) if( vcount > 0 )
cvPow( &R, &R, params->degree ); cvPow( &R, &R, params->degree );
//FIXIT #endif #endif
} }
...@@ -1085,7 +1088,9 @@ void CvSVMKernel_ocl::calc_sigmoid( int vcount, const int row_idx, Qfloat* resul ...@@ -1085,7 +1088,9 @@ void CvSVMKernel_ocl::calc_sigmoid( int vcount, const int row_idx, Qfloat* resul
{ {
calc_non_rbf_base( vcount, row_idx, results, src); calc_non_rbf_base( vcount, row_idx, results, src);
// TODO: speedup this // TODO: speedup this
//FIXIT #if defined HAVE_CLAMDBLAS #if !defined(HAVE_CLAMDBLAS)
// nothing
#else
for(int j = 0; j < vcount; j++ ) for(int j = 0; j < vcount; j++ )
{ {
Qfloat t = results[j]; Qfloat t = results[j];
...@@ -1095,7 +1100,7 @@ void CvSVMKernel_ocl::calc_sigmoid( int vcount, const int row_idx, Qfloat* resul ...@@ -1095,7 +1100,7 @@ void CvSVMKernel_ocl::calc_sigmoid( int vcount, const int row_idx, Qfloat* resul
else else
results[j] = (Qfloat)((e - 1.) / (e + 1.)); results[j] = (Qfloat)((e - 1.) / (e + 1.));
} }
//FIXIT #endif #endif
} }
CvSVM_OCL::CvSVM_OCL() CvSVM_OCL::CvSVM_OCL()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment