Fréchet View  1.6.0
A Tool for Exploring Fréchet Distance Algorithms
clm4rm_bitwise.cl File Reference

Go to the source code of this file.

Macros

#define read_only_global   __global gpuword*
 
#define write_only_global   __global gpuword*
 
#define read(M, row, col)   M[(col)*M ## _nrows + row]
 
#define write(M, row, col, x)   M[(col)*M ## _nrows + row]=x
 
#define B_nrows   A_nrows
 
#define C_nrows   A_nrows
 
#define WRITE_ATOMIC   1
 

Typedefs

typedef unsigned int gpuword
 

Functions

__kernel void clm4rm_and (write_only_global C, read_only_global A, read_only_global B)
 OpenCL kernel for bitwise AND on three matrixes C := A & B. More...
 
__kernel void clm4rm_or (write_only_global C, read_only_global A, read_only_global B)
 OpenCL kernel for bitwise OR on three matrixes C := A | B. More...
 
__kernel void clm4rm_copy (__global unsigned int *C, int C_rowstride, __global unsigned int *B, int B_rowstride, int offset)
 copy with offset More...
 
__kernel void clm4rm_query_diagonal (read_only_global M, int M_nrows, volatile __global int *result)
 Query Matrix Diagonal. More...
 

Macro Definition Documentation

◆ B_nrows

#define B_nrows   A_nrows

◆ C_nrows

#define C_nrows   A_nrows

◆ read

#define read (   M,
  row,
  col 
)    M[(col)*M ## _nrows + row]

Definition at line 23 of file clm4rm_bitwise.cl.

◆ read_only_global

#define read_only_global   __global gpuword*

Definition at line 21 of file clm4rm_bitwise.cl.

◆ write

#define write (   M,
  row,
  col,
 
)    M[(col)*M ## _nrows + row]=x

Definition at line 24 of file clm4rm_bitwise.cl.

◆ WRITE_ATOMIC

#define WRITE_ATOMIC   1

Definition at line 108 of file clm4rm_bitwise.cl.

◆ write_only_global

#define write_only_global   __global gpuword*

Definition at line 22 of file clm4rm_bitwise.cl.

Typedef Documentation

◆ gpuword

typedef unsigned int gpuword

Definition at line 3 of file clm4rm_bitwise.cl.

Function Documentation

◆ clm4rm_and()

__kernel void clm4rm_and ( write_only_global  C,
read_only_global  A,
read_only_global  B 
)

OpenCL kernel for bitwise AND on three matrixes C := A & B.

Parameters
Cdestination matrix
Asource matrix
Bsource matrix

Definition at line 35 of file clm4rm_bitwise.cl.

◆ clm4rm_copy()

__kernel void clm4rm_copy ( __global unsigned int *  C,
int  C_rowstride,
__global unsigned int *  B,
int  B_rowstride,
int  offset 
)

copy with offset

Deprecated:
(only needed for concat/stack with __global buffers not needed for Image2D).

C += B >> x

Definition at line 84 of file clm4rm_bitwise.cl.

◆ clm4rm_or()

__kernel void clm4rm_or ( write_only_global  C,
read_only_global  A,
read_only_global  B 
)

OpenCL kernel for bitwise OR on three matrixes C := A | B.

Parameters
Cdestination matrix
Asource matrix
Bsource matrix

Definition at line 60 of file clm4rm_bitwise.cl.

◆ clm4rm_query_diagonal()

__kernel void clm4rm_query_diagonal ( read_only_global  M,
int  M_nrows,
volatile __global int *  result 
)

Query Matrix Diagonal.

Parameters
Ma square matrix
M_nrowsnumber of rows and columns in M
resultholds on return a row/column index with a 1 on the diagonal; -1 if the diagonal is empty

Definition at line 117 of file clm4rm_bitwise.cl.