 //vecPointers -array of pointers(indexes) to idx and vals array to specific vectors
 //selfDot - array of precomputed self linear product
 //results - array of results Linear Kernel
-//num_rows - number of vectors, stored in CSR matrix format, each vector is stored in one row of matrix
+//num_rows -number of vectors, stored in CSR matrix format, each vector is stored in one row of matrix
 //mainVecIndex - main vector index, needed for retriving its label
 //gamma - gamma parameter for RBF 
 extern "C" __global__ void rbfCsrFormatKernel(const float * vals,

		sdata[threadIdx.x] = sum = sum + sdata[threadIdx.x +  4]; __syncthreads();
		sdata[threadIdx.x] = sum = sum + sdata[threadIdx.x +  2]; __syncthreads();
		sdata[threadIdx.x] = sum = sum + sdata[threadIdx.x +  1]; __syncthreads();
	   


		// first thread writes warp result
		if (thread_lane == 0){

		// this is considerably faster than the straightforward version
		if(thread_lane < 2)
			ptrs[warp_lane][thread_lane] = vecPointers[row + thread_lane];
		const int row_start = ptrs[warp_lane][0];            //same as: row_start = vecPointers[row];
		const int row_end   = ptrs[warp_lane][1];            //same as: row_end   = vecPointers[row+1];

		// compute local sum
		float sum = 0;
