GENIE
heap_count.cu File Reference

Implementation for heap_count.h. More...

#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
#include <thrust/copy.h>
#include <thrust/device_vector.h>
#include <thrust/host_vector.h>
#include <thrust/count.h>
#include <genie/utility/Timing.h>
#include <genie/matching/match.h>
#include <genie/utility/cuda_macros.h>
#include <genie/matching/heap_count.h>

Go to the source code of this file.

Macros

#define THREADS_PER_BLOCK   256
 
#define GPUGenie_Minus_One_THREADS_PER_BLOCK   1024
 

Functions

__global__ void count_over_threshold (data_t *data, int *result, u32 *thresholds, int data_size)
 
__global__ void exclusive_scan (int *data, int *buffer, int *output, int size)
 
__global__ void fill_in_scan (data_t *data, u32 *thresholds, int *indices, data_t *topk, int data_size, int topk_size)
 
__global__ void transform_threshold (u32 *thresholds, int size, int max_count)
 
void write_hashtable_to_file (thrust::device_vector< data_t > &d_data, int num_of_queries)
 

Detailed Description

Implementation for heap_count.h.

Definition in file heap_count.cu.

Macro Definition Documentation

◆ GPUGenie_Minus_One_THREADS_PER_BLOCK

#define GPUGenie_Minus_One_THREADS_PER_BLOCK   1024

Definition at line 18 of file heap_count.cu.

◆ THREADS_PER_BLOCK

#define THREADS_PER_BLOCK   256

Definition at line 17 of file heap_count.cu.

Function Documentation

◆ count_over_threshold()

__global__ void count_over_threshold ( data_t data,
int *  result,
u32 thresholds,
int  data_size 
)

Definition at line 25 of file heap_count.cu.

◆ exclusive_scan()

__global__ void exclusive_scan ( int *  data,
int *  buffer,
int *  output,
int  size 
)

Definition at line 43 of file heap_count.cu.

◆ fill_in_scan()

__global__ void fill_in_scan ( data_t data,
u32 thresholds,
int *  indices,
data_t topk,
int  data_size,
int  topk_size 
)

Definition at line 70 of file heap_count.cu.

◆ transform_threshold()

__global__ void transform_threshold ( u32 thresholds,
int  size,
int  max_count 
)

Definition at line 118 of file heap_count.cu.

◆ write_hashtable_to_file()

void write_hashtable_to_file ( thrust::device_vector< data_t > &  d_data,
int  num_of_queries 
)

Definition at line 131 of file heap_count.cu.