32  using mv_scalar_type =
 
   33      typename LocalOperator<MultiVectorScalar, Device>::scalar_type;
 
   34  using matrix_scalar_type =
 
   35      typename LocalOperator<MatrixScalar, Device>::scalar_type;
 
   37      typename LocalOperator<MultiVectorScalar, Device>::array_layout;
 
   39      typename LocalOperator<MultiVectorScalar, Device>::device_type;
 
   42  using execution_space = 
typename Device::execution_space;
 
   45  using local_matrix_device_type =
 
   46      KokkosSparse::CrsMatrix<matrix_scalar_type,
 
   54  using local_cusparse_matrix_type =
 
   55      KokkosSparse::CrsMatrix<matrix_scalar_type,
 
   60  using local_graph_device_type = 
typename local_matrix_device_type::StaticCrsGraphType;
 
   63  using ordinal_view_type = 
typename local_graph_device_type::entries_type::non_const_type;
 
   70  apply(Kokkos::View<
const mv_scalar_type**, array_layout,
 
   71                     device_type, Kokkos::MemoryTraits<Kokkos::Unmanaged> >
 
   73        Kokkos::View<mv_scalar_type**, array_layout,
 
   74                     device_type, Kokkos::MemoryTraits<Kokkos::Unmanaged> >
 
   76        const Teuchos::ETransp 
mode,
 
   77        const mv_scalar_type 
alpha,
 
   78        const mv_scalar_type 
beta) 
const override;
 
   82      Kokkos::View<
const mv_scalar_type**, array_layout,
 
   83                   device_type, Kokkos::MemoryTraits<Kokkos::Unmanaged> >
 
   85      Kokkos::View<mv_scalar_type**, array_layout,
 
   86                   device_type, Kokkos::MemoryTraits<Kokkos::Unmanaged> >
 
   88      const Teuchos::ETransp 
mode,
 
   89      const mv_scalar_type 
alpha,
 
   90      const mv_scalar_type 
beta) 
const;
 
   92  bool hasTransposeApply() 
const override;
 
   94  const local_matrix_device_type& getLocalMatrixDevice() 
const;
 
   97  std::shared_ptr<local_matrix_device_type> A_;
 
   98  local_cusparse_matrix_type A_cusparse;
 
   99  const bool have_A_cusparse;
 
 
void applyImbalancedRows(Kokkos::View< const mv_scalar_type **, array_layout, device_type, Kokkos::MemoryTraits< Kokkos::Unmanaged > > X, Kokkos::View< mv_scalar_type **, array_layout, device_type, Kokkos::MemoryTraits< Kokkos::Unmanaged > > Y, const Teuchos::ETransp mode, const mv_scalar_type alpha, const mv_scalar_type beta) const
Same behavior as apply() above, except give KokkosKernels a hint to use an SPMV algorithm that can ef...