ALP User Documentation 0.7.0
Algebraic Programming User Documentation
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
74
81 shmem1D,
82
90 NUMA1D,
91
98 GENERIC_BSP,
99
111
120 doublyBSP1D,
121
130 BSP2D,
131
142 autoBSP,
143
151 optBSP,
152
161
169 hybridSmall,
170
180 hybridMid,
181
194 hybridLarge,
195
201 minFootprint,
202
208
217 banshee_ssr
218
219 };
220
221} // namespace grb
222
223#endif
224
Backend
A collection of all backends.
Definition: backends.hpp:46
@ hyperdags
A backend that automatically extracts hyperDAGs from user computations.
Definition: backends.hpp:67
@ nonblocking
The threaded nonblocking implementation.
Definition: backends.hpp:73
@ hybrid
A composed backend that uses reference_omp within each user process and BSP1D between sockets.
Definition: backends.hpp:160
@ banshee
A variant for Snitch RISC-V cores.
Definition: backends.hpp:207
@ BSP1D
A parallel implementation based on a row-wise 1D data distribution, implemented using LPF.
Definition: backends.hpp:110
@ 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:452