7#ifndef KERNEL_LAFEM_ARCH_DIAGONAL_HPP
8#define KERNEL_LAFEM_ARCH_DIAGONAL_HPP 1
12#include <kernel/backend.hpp>
23 template <
typename IT_>
24 static void csr(IT_ * diag,
const IT_ *
const col_ind,
const IT_ *
const row_ptr,
const Index rows)
26 csr_generic(diag, col_ind, row_ptr, rows);
29 static void csr(std::uint64_t * diag,
const std::uint64_t *
const col_ind,
const std::uint64_t *
const row_ptr,
const Index rows)
31 BACKEND_SKELETON_VOID(csr_cuda, csr_generic, csr_generic, diag, col_ind, row_ptr, rows)
34 static void csr(std::uint32_t * diag,
const std::uint32_t *
const col_ind,
const std::uint32_t *
const row_ptr,
const Index rows)
36 BACKEND_SKELETON_VOID(csr_cuda, csr_generic, csr_generic, diag, col_ind, row_ptr, rows)
39 template <
typename IT_>
40 static void csr_generic(IT_ * diag,
const IT_ *
const col_ind,
const IT_ *
const row_ptr,
const Index rows);
42 template <
typename IT_>
43 static void csr_cuda(IT_ * diag,
const IT_ *
const col_ind,
const IT_ *
const row_ptr,
const Index rows);
48 extern template void Diagonal::csr_generic(std::uint64_t *,
const std::uint64_t *
const,
const std::uint64_t *
const,
const Index);
49 extern template void Diagonal::csr_generic(std::uint32_t *,
const std::uint32_t *
const,
const std::uint32_t *
const,
const Index);
57#include <kernel/lafem/arch/diagonal_generic.hpp>
std::uint64_t Index
Index data type.