Fréchet View  1.6.0
A Tool for Exploring Fréchet Distance Algorithms
ocl_prototype.h
Go to the documentation of this file.
1 #ifndef OCL_PROTOTYPE_H
2 #define OCL_PROTOTYPE_H
3 
4 #include <clm4rm.h>
5 
6 #if defined(__cplusplus) && !defined(_MSC_VER)
7 extern "C" {
8 #endif
9 #include <m4ri/mzd.h>
10 #if defined(__cplusplus) && !defined(_MSC_VER)
11 }
12 #endif
13 
14 /*
15  * C prototype for M4R matrix multiplication
16  */
17 
18 mzd_t *proto_bool_mul_m4rm(mzd_t *Cm, mzd_t const *Am, mzd_t const *Bm, int k);
19 
20 void proto_mul_m4rm(
21  gpuword *C, const gpuword *A, const gpuword *B, /*gpuword * T,*/ int k,
22  int A_nrows, int A_ncols, int B_ncols);
23 
24 
25 mzd_t *proto_bool_mul_cubic(mzd_t *Cm, mzd_t const *Am, mzd_t const *Bm, int);
26 
27 void proto_mul_cubic(gpuword *C, const gpuword *A, const gpuword *B, /*gpuword * T,*/
28  int A_nrows, int A_ncols, int B_ncols);
29 
30 int nblocks(mzd_t const* A);
31 int adjust_k(int k, rci_t A_nrows);
32 
33 #endif // OCL_PROTOTYPE_H
unsigned int gpuword
a GPU word has 32 bits
Definition: clcubic_mul.cl:74
mzd_t * proto_bool_mul_m4rm(mzd_t *Cm, mzd_t const *Am, mzd_t const *Bm, int k)
#define A_ncols
void proto_mul_cubic(gpuword *C, const gpuword *A, const gpuword *B, int A_nrows, int A_ncols, int B_ncols)
int nblocks(mzd_t const *A)
int adjust_k(int k, rci_t A_nrows)
void proto_mul_m4rm(gpuword *C, const gpuword *A, const gpuword *B, int k, int A_nrows, int A_ncols, int B_ncols)
mzd_t * proto_bool_mul_cubic(mzd_t *Cm, mzd_t const *Am, mzd_t const *Bm, int)