 //		{
 //					
 //			//index within a subset of two considered class
-//			int rIdx = th_cls_offset+th_cls*cls_count[0];
+//			int row = th_cls_offset+th_cls*cls_count[0];
 //			
-//			results[rIdx]=blockIdx.x;
-//			results[rIdx+num_rows]=sliceStartNr;
+//			results[row]=blockIdx.x;
+//			results[row+num_rows]=sliceStartNr;
 //			
-//			// results[rIdx]=rIdx;
-//			// results[rIdx+shClsSum]=rIdx+shClsSum;
+//			// results[row]=row;
+//			// results[row+shClsSum]=row+shClsSum;
 //			
 //		}
 //	}

		}
		*/
		
		//int rIdx = th_cls_offset+th_cls*cls_count[0];
		////rbf
		//results[rIdx]=y[rIdx]*shYI*expf(-GAMMA*(selfDot[row]+shISelfDot-2*dotI[0]));
		//results[rIdx+shClsSum]=y[rIdx]*shYJ*expf(-GAMMA*(selfDot[rowOW]+shJSelfDot-2*dotJ[0]));
	}
}


	__syncthreads();
	
	// global thread index
	//const unsigned int t   = blockDim.x * blockIdx.x + threadIdx.x;  

	const unsigned int th_group    = (blockDim.x * blockIdx.x + threadIdx.x)/THREAD_PER_ROW;  
	//thread group number, 
	//int th_group = t/THREAD_PER_ROW;
	//int th_mod = t%THREAD_PER_ROW;
	//const unsigned int th_mod    = (blockDim.x * blockIdx.x + threadIdx.x)%THREAD_PER_ROW;  
	//determines the class membership, (first cls1_N threads belongs to first class),0 - first class, 1- second class
	int th_cls = th_group/cls1_N_aligned;
	
