 	
 	TODO check: m.getWidth() = v.getSize()
 */
-Vector productMatrixVectorGPU_naive(const Matrix &h_m, const Vector &h_v) {
+Vector productMatrixVectorGPU_naive(const Matrix &h_m, const Vector &h_v) throw (cudaError_t) {
 	Matrix d_m(h_m, GPU);
 	Vector d_v(h_v, GPU);
 	

	
	TODO check: m.getWidth() = v.getSize()
*/
Vector productMatrixVectorGPU_shared(const Matrix &h_m, const Vector &h_v) {
	Matrix d_m(h_m, GPU);
	Vector d_v(h_v, GPU);
	

#include "Matrix.cuh"
#include "Vector.cuh"

#define CPU 1
#define GPU 0

#define MINI_NUM_TESTS 16

#define CHECKBOARD_BLOCK_MAX_WIDTH  1
#define CHECKBOARD_BLOCK_MAX_HEIGHT 256
