1 #ifndef __SYM_SEQ_CTR_H__ 2 #define __SYM_SEQ_CTR_H__ 4 #include "../tensor/algstrct.h" 5 #include "../interface/functions.h" 11 int const * edge_len_A,
13 int const * idx_map_A,
14 algstrct
const * sr_B,
16 int const * edge_len_B,
18 int const * idx_map_B,
19 algstrct
const * sr_C,
21 int const * edge_len_C,
23 int const * idx_map_C,
25 int const * rev_idx_map,
26 uint64_t **& offsets_A,
27 uint64_t **& offsets_B,
28 uint64_t **& offsets_C);
36 algstrct
const * sr_A,
38 int const * edge_len_A,
40 int const * idx_map_A,
42 algstrct
const * sr_B,
44 int const * edge_len_B,
46 int const * idx_map_B,
49 algstrct
const * sr_C,
51 int const * edge_len_C,
53 int const * idx_map_C);
60 algstrct
const * sr_A,
62 int const * edge_len_A,
64 int const * idx_map_A,
66 algstrct
const * sr_B,
68 int const * edge_len_B,
70 int const * idx_map_B,
73 algstrct
const * sr_C,
75 int const * edge_len_C,
77 int const * idx_map_C,
86 algstrct
const * sr_A,
88 int const * edge_len_A,
90 int const * idx_map_A,
92 algstrct
const * sr_B,
94 int const * edge_len_B,
96 int const * idx_map_B,
99 algstrct
const * sr_C,
101 int const * edge_len_C,
103 int const * idx_map_C,
void compute_syoffs(algstrct const *sr_A, int order_A, int const *edge_len_A, int const *sym_A, int const *idx_map_A, algstrct const *sr_B, int order_B, int const *edge_len_B, int const *sym_B, int const *idx_map_B, algstrct const *sr_C, int order_C, int const *edge_len_C, int const *sym_C, int const *idx_map_C, int tot_order, int const *rev_idx_map, uint64_t **&offsets_A, uint64_t **&offsets_B, uint64_t **&offsets_C)
int bivar_function(int n, World &dw)
int sym_seq_ctr_cust(char const *alpha, char const *A, algstrct const *sr_A, int order_A, int const *edge_len_A, int const *sym_A, int const *idx_map_A, char const *B, algstrct const *sr_B, int order_B, int const *edge_len_B, int const *sym_B, int const *idx_map_B, char const *beta, char *C, algstrct const *sr_C, int order_C, int const *edge_len_C, int const *sym_C, int const *idx_map_C, bivar_function const *func)
performs symmetric contraction with custom elementwise function
int sym_seq_ctr_ref(char const *alpha, char const *A, algstrct const *sr_A, int order_A, int const *edge_len_A, int const *sym_A, int const *idx_map_A, char const *B, algstrct const *sr_B, int order_B, int const *edge_len_B, int const *sym_B, int const *idx_map_B, char const *beta, char *C, algstrct const *sr_C, int order_C, int const *edge_len_C, int const *sym_C, int const *idx_map_C)
performs symmetric contraction with reference (unblocked) kernel
int sym_seq_ctr_inr(char const *alpha, char const *A, algstrct const *sr_A, int order_A, int const *edge_len_A, int const *sym_A, int const *idx_map_A, char const *B, algstrct const *sr_B, int order_B, int const *edge_len_B, int const *sym_B, int const *idx_map_B, char const *beta, char *C, algstrct const *sr_C, int order_C, int const *edge_len_C, int const *sym_C, int const *idx_map_C, iparam const *prm, bivar_function const *func)
performs symmetric contraction with blocked gemm