 	int *hostYShapeInfo = reinterpret_cast<int *>(extraPointers[7]);
 	int *hostZShapeInfo = reinterpret_cast<int *>(extraPointers[8]);
 
-		// numArrays will be used as number of TADs
-	concatKernelFloat<<<1, 10, 10, *stream>>>(dimension, numArrays, inputData, inputShapes, resultData, resultShape);
+	printf("Initial pointer before launch: [%lu]\n", inputShapeInfo[0]);
+
+	// numArrays will be used as number of TADs, so each block process 1 input
+	concatKernelFloat<<<1, 64, 512, *stream>>>(dimension, numArrays, (Nd4jPointer *) data[0], (Nd4jPointer *) inputShapeInfo[0], resultData, resultShape);
+
+	if (debug)
+		checkCudaErrors(cudaStreamSynchronize(*stream));
 }
 /**
     * Concatneate multi array of the same shape together

}

template <typename T>
__device__ void concatKernelGeneric() {

}



extern "C" __global__ void concatKernelFloat(int dimension,
											 int numArrays,
											 Nd4jPointer *data,
											 Nd4jPointer *inputShapeInfo,
											 float *result,
											 int *resultShapeInfo) {
	concatKernelGeneric<float>(dimension, numArrays, data, inputShapeInfo, result, resultShapeInfo);
}

template <typename T>
