Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 360157
Collapse All | Expand All

(-)libsvm-3.1/Makefile (+4 lines)
Lines 1-5 Link Here
1
CXX ?= g++
1
CXX ?= g++
2
ifdef OPENMP
3
CFLAGS = -Wall -Wconversion -O3 -fPIC -fopenmp -DOPENMP
4
else
2
CFLAGS = -Wall -Wconversion -O3 -fPIC
5
CFLAGS = -Wall -Wconversion -O3 -fPIC
6
endif
3
SHVER = 2
7
SHVER = 2
4
8
5
all: svm-train svm-predict svm-scale
9
all: svm-train svm-predict svm-scale
(-)libsvm-3.1/svm.cpp (-2 / +11 lines)
Lines 1267-1272 public: Link Here
1267
		int start, j;
1267
		int start, j;
1268
		if((start = cache->get_data(i,&data,len)) < len)
1268
		if((start = cache->get_data(i,&data,len)) < len)
1269
		{
1269
		{
1270
#ifdef OPENMP
1271
#pragma omp parallel for private(j)
1272
#endif
1270
			for(j=start;j<len;j++)
1273
			for(j=start;j<len;j++)
1271
				data[j] = (Qfloat)(y[i]*y[j]*(this->*kernel_function)(i,j));
1274
				data[j] = (Qfloat)(y[i]*y[j]*(this->*kernel_function)(i,j));
1272
		}
1275
		}
Lines 2445-2452 double svm_predict_values(const svm_mode Link Here
2445
	   model->param.svm_type == NU_SVR)
2448
	   model->param.svm_type == NU_SVR)
2446
	{
2449
	{
2447
		double *sv_coef = model->sv_coef[0];
2450
		double *sv_coef = model->sv_coef[0];
2448
		double sum = 0;
2451
		double sum = 0; int i;
2449
		for(int i=0;i<model->l;i++)
2452
#ifdef OPENMP
2453
#pragma omp parallel for private(i) reduction(+:sum)
2454
#endif
2455
		for(i=0;i<model->l;i++)
2450
			sum += sv_coef[i] * Kernel::k_function(x,model->SV[i],model->param);
2456
			sum += sv_coef[i] * Kernel::k_function(x,model->SV[i],model->param);
2451
		sum -= model->rho[0];
2457
		sum -= model->rho[0];
2452
		*dec_values = sum;
2458
		*dec_values = sum;
Lines 2463-2468 double svm_predict_values(const svm_mode Link Here
2463
		int l = model->l;
2469
		int l = model->l;
2464
		
2470
		
2465
		double *kvalue = Malloc(double,l);
2471
		double *kvalue = Malloc(double,l);
2472
#ifdef OPENMP
2473
#pragma omp parallel for private(i)
2474
#endif
2466
		for(i=0;i<l;i++)
2475
		for(i=0;i<l;i++)
2467
			kvalue[i] = Kernel::k_function(x,model->SV[i],model->param);
2476
			kvalue[i] = Kernel::k_function(x,model->SV[i],model->param);
2468
2477

Return to bug 360157