 	if (i >= d_m.getHeight() || j >= d_m.getWidth())
 		return;
 	
-	atomicAdd(&d_r[i], d_m[i][j] * d_v[j]);
+	atomicAdd(&d_r[i], d_m.get(i, j) * d_v[j]);
 }
 
 /*

	if (i >= d_m.getHeight() || j >= d_m.getWidth())
		return;
	
	atomicAdd(&block_result[threadIdx.x], d_m[i][j] * d_v[j]);
	__syncthreads();
	
	if (threadIdx.y == 0)

		std::cout << "[" << std::endl;
		for (unsigned int i(0) ; i != height_ ; i++) {
			for (unsigned int j(0) ; j != width_ ; j++) {
				std::cout << " " << this->get(i, j);
			}
			std::cout << std::endl;
		}
