 		}
 	}
 
-	ecuda::cube<Coordinate> deviceCube( 5, 2, 20 );
-	deviceCube.assign( hostVector.begin(), hostVector.end() );
+//	ecuda::cube<Coordinate> deviceCube( 5, 2, 20 );
+//	deviceCube.assign( hostVector.begin(), hostVector.end() );
 
 	ecuda::matrix<Coordinate> deviceMatrix( 10, 20 );
 	deviceMatrix.assign( hostVector.begin(), hostVector.end() );

	std::size_t index = 0;
	for( ecuda::matrix<Coordinate>::const_iterator iter = matrix.begin(); iter != matrix.end(); ++iter, ++index ) vector[index] = *iter;
}

__global__ void linearize( const ecuda::cube<Coordinate> cube, ecuda::vector<Coordinate> vector ) {
	std::size_t index = 0;
	for( ecuda::cube<Coordinate>::const_iterator iter = cube.begin(); iter != cube.end(); ++iter, ++index ) vector[index] = *iter;
}


int main( int argc, char* argv[] ) {


		std::cout << "LINEAR MATRIX " << hostVector2[i] << std::endl;
	}

//	ecuda::vector<Coordinate> deviceVector2( 200 );
//	linearize<<<1,1>>>( deviceCube, deviceVector2 );
//	CUDA_CHECK_ERRORS();
//	CUDA_CALL( cudaDeviceSynchronize() );
//	std::vector<Coordinate> hostVector3( 200 );
//	deviceVector2 >> hostVector3;
//	for( std::size_t i = 0; i < hostVector3.size(); ++i ) {
//		std::cout << "LINEAR CUBE " << hostVector3[i] << std::endl;
//	}


}
