 
 }
 
+
 float cudaMatrixTranspose( const int numThreads, const std::size_t n ) {
 
 	ecuda::event start, stop;

}

template<typename T>
__global__ void matrixMultiply(
	const ecuda::matrix<T> A,
	const ecuda::matrix<T> B,
	ecuda::matrix<T> AB
)
{
	const int x = blockIdx.x*blockDim.x+threadIdx.x; // row
	const int y = blockIdx.y*blockDim.y+threadIdx.y; // column
	if( x < A.number_rows() and y < B.number_columns() ) {


	ecuda::matrix<double> matrix( n, n );

	dim3 grid( n, (n+numThreads-1)/numThreads ), threads( 1, numThreads );
	matrixTranspose<<<grid,threads>>>( matrix );

	stop.record();
