ALP User Documentation 0.7.0
Algebraic Programming User Documentation
spblas.h
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
34#ifndef _H_ALP_SPBLAS
35#define _H_ALP_SPBLAS
36
37#include "blas_sparse_vec.h"
38
39#ifdef __cplusplus
40extern "C" {
41#endif
42
65 const char * transa,
66 const int * m,
67 const double * a, const int * ia, const int * ja,
68 const double * x,
69 double * y
70);
71
102 const char * transa,
103 const int * m, const int * n, const int * k,
104 const double * alpha,
105 const char * matdescra, const double * val, const int * indx,
106 const int * pntrb, const int * pntre,
107 const double * b, const int * ldb,
108 const double * beta,
109 double * c, const int * ldc
110);
111
153 const char * trans, const int * request, const int * sort,
154 const int * m, const int * n, const int * k,
155 double * a, int * ja, int * ia,
156 double * b, int * jb, int * ib,
157 double * c, int * jc, int * ic,
158 const int * nzmax, int * info
159);
160
193 const char * trans, const int * request,
194 const int * m, const int * n,
195 const double * a, const int * ja, const int * ia,
196 const extblas_sparse_vector x,
198);
199
205
206#ifdef __cplusplus
207} // end extern "C"
208#endif
209
210#endif // end _H_ALP_SPBLAS
211
This is an ALP-specific extension to the NIST Sparse BLAS standard, which the ALP libsparseblas trans...
void * extblas_sparse_vector
A sparse vector.
Definition: blas_sparse_vec.h:34
void spblas_dcsrmultcsr(const char *trans, const int *request, const int *sort, const int *m, const int *n, const int *k, double *a, int *ja, int *ia, double *b, int *jb, int *ib, double *c, int *jc, int *ic, const int *nzmax, int *info)
Computes or , where all matrices are sparse and employ the Compressed Row Storage (CRS).
void extspblas_free()
An extension that frees any buffers the ALP/GraphBLAS-generated SparseBLAS library may have allocated...
void extspblas_dcsrmultsv(const char *trans, const int *request, const int *m, const int *n, const double *a, const int *ja, const int *ia, const extblas_sparse_vector x, extblas_sparse_vector y)
Performs sparse matrix–sparse vector multiplication.
void spblas_dcsrmm(const char *transa, const int *m, const int *n, const int *k, const double *alpha, const char *matdescra, const double *val, const int *indx, const int *pntrb, const int *pntre, const double *b, const int *ldb, const double *beta, double *c, const int *ldc)
Computes a variant of .
void spblas_dcsrgemv(const char *transa, const int *m, const double *a, const int *ia, const int *ja, const double *x, double *y)
Performs sparse matrix–vector multiplication.