 }
 
 template<typename T>
-__global__ void matrixMultiply(
-	const T* A,
-	std::size_t pitchA,
-	const T* B,
-	std::size_t pitchB,
-	std::size_t n, std::size_t m, std::size_t p,
-	T* AB,
-	std::size_t pitchAB
-)
-{
+__global__ void matrixMultiply(	const T* A,	std::size_t pitchA,	const T* B,	std::size_t pitchB,	std::size_t n, std::size_t m, std::size_t p, T* AB,	std::size_t pitchAB ) {
 	const int x = blockIdx.x*blockDim.x+threadIdx.x; // row
 	const int y = blockIdx.y*blockDim.y+threadIdx.y; // column
 	if( x < n and y < p ) {


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

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

	stop.record();

	std::size_t pitch;
	cudaMallocPitch( &matrix, &pitch, n*sizeof(double), n );

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

	stop.record();
