ALP User Documentation 0.7.alpha
Algebraic Programming User Documentation
Loading...
Searching...
No Matches
backends.hpp
Go to the documentation of this file.
1
2/*
3 * Copyright 2021 Huawei Technologies Co., Ltd.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
29#ifndef _H_GRB_BACKENDS
30#define _H_GRB_BACKENDS
31
32
33namespace grb {
34
46 enum Backend {
47
53
60
68
75 shmem1D,
76
84 NUMA1D,
85
92 GENERIC_BSP,
93
105
114 doublyBSP1D,
115
124 BSP2D,
125
136 autoBSP,
137
145 optBSP,
146
155
163 hybridSmall,
164
174 hybridMid,
175
188 hybridLarge,
189
195 minFootprint,
196
202
211 banshee_ssr
212
213 };
214
215} // namespace grb
216
217#endif
218
Backend
A collection of all backends.
Definition: backends.hpp:46
@ hyperdags
A backend that automatically extracts hyperDAGs from user computations.
Definition: backends.hpp:67
@ hybrid
A composed backend that uses reference_omp within each user process and BSP1D between sockets.
Definition: backends.hpp:154
@ banshee
A variant for Snitch RISC-V cores.
Definition: backends.hpp:201
@ BSP1D
A parallel implementation based on a row-wise 1D data distribution, implemented using LPF.
Definition: backends.hpp:104
@ reference
The sequential reference implementation.
Definition: backends.hpp:52
@ reference_omp
The threaded reference implementation.
Definition: backends.hpp:59
The ALP/GraphBLAS namespace.
Definition: graphblas.hpp:450