   gpu_device.deallocate(d_res_float);
 }
 
-
+template<typename>
 void test_cuda_reductions(int size1, int size2, int redux) {
 
    std::cout << "Reducing " << size1 << " by " << size2

  gpu_device.deallocate(d_res_float);
}

void test_cuda_reductions() {
  test_cuda_reductions(13, 13, 0);
  test_cuda_reductions(13, 13, 1);

  test_cuda_reductions(35, 36, 0);
  test_cuda_reductions(35, 36, 1);

  test_cuda_reductions(36, 35, 0);
  test_cuda_reductions(36, 35, 1);
}

void test_cuda_full_reductions() {
  Eigen::CudaStreamDevice stream;
  Eigen::GpuDevice gpu_device(&stream);


#ifdef EIGEN_HAS_CUDA_FP16

template<typename>
void test_cuda_conversion() {
  Eigen::CudaStreamDevice stream;
  Eigen::GpuDevice gpu_device(&stream);
