   Eigen::TensorMap<Eigen::Tensor<float, 4> > gpu_in1(d_in1, 72,53,97,113);
   Eigen::TensorMap<Eigen::Tensor<float, 2> > gpu_out(d_out, 72,97);
 
-  array<int64_t, 2> reduction_axis;
+  array<Eigen::DenseIndex, 2> reduction_axis;
   reduction_axis[0] = 1;
   reduction_axis[1] = 3;
 


void test_cuda_elementwise()
{
  Tensor<float, 3> in1(Eigen::array<int64_t, 3>(72,53,97));
  Tensor<float, 3> in2(Eigen::array<int64_t, 3>(72,53,97));
  Tensor<float, 3> in3(Eigen::array<int64_t, 3>(72,53,97));
  Tensor<float, 3> out(Eigen::array<int64_t, 3>(72,53,97));
  in1.setRandom();
  in2.setRandom();
  in3.setRandom();

  Eigen::GpuDevice gpu_device(&stream);

  Eigen::TensorMap<Eigen::Tensor<float, 1>, Eigen::Aligned> gpu_in1(
      d_in1, Eigen::array<Eigen::DenseIndex, 1>(2));
  Eigen::TensorMap<Eigen::Tensor<float, 1>, Eigen::Aligned> gpu_in2(
      d_in2, Eigen::array<Eigen::DenseIndex, 1>(2));
  Eigen::TensorMap<Eigen::Tensor<float, 1>, Eigen::Aligned> gpu_out(
      d_out, Eigen::array<Eigen::DenseIndex, 1>(2));

  gpu_out.device(gpu_device) = gpu_in1 + gpu_in2;

