 		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;
-	}
+//	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;
+//	}
 
 
 }


#include "../include/ecuda/vector.hpp"
#include "../include/ecuda/matrix.hpp"
#include "../include/ecuda/cube.hpp"

struct Coordinate {
	int x, y, z;

	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[] ) {

