GPU Workshop Sample Code
 All Data Structures Namespaces Files Functions Variables Macros Pages
Functions
reduce2.cu File Reference

Reduces M x N matrix. Returns column results for a generic reduction operation. More...

#include "../include/mycuda.h"
#include "../include/mycuda_reduce.h"

Go to the source code of this file.

Functions

template<typename T , typename R >
__global__ void reduce2 (T *xsum, T *x, int n, int stride, R op)
 Reduction kernel. More...
 
int main ()
 

Detailed Description

Reduces M x N matrix. Returns column results for a generic reduction operation.

Notes

Definition in file reduce2.cu.

Function Documentation

int main ( void  )

Definition at line 70 of file reduce2.cu.

template<typename T , typename R >
__global__ void reduce2 ( T *  xsum,
T *  x,
int  n,
int  stride,
op 
)

Reduction kernel.

Notes

  • Uses dynamic allocation for shared memory. Allocation size is determined by configuration of kernel launch.
  • Each block reduces one column.

Requires

  • blocksize >= 32
  • shared_memory_size = 2*blocksize*sizeof(T)
  • gridsize = ncolumns of matrix

Definition at line 30 of file reduce2.cu.