#include "xf_database/gqe_kernel_part_v2.hpp"
void gqePart ( const int k_depth, const int col_index, const int bit_num, ap_uint <8*4*16> buf_A1 [], ap_uint <8*4*16> buf_A2 [], ap_uint <8*4*16> buf_A3 [], ap_uint <8*4*16> buf_A4 [], ap_uint <8*4*16> buf_A5 [], ap_uint <8*4*16> buf_A6 [], ap_uint <8*4*16> buf_A7 [], ap_uint <8*4*16> buf_A8 [], ap_uint <512> tin_meta [], ap_uint <512> tout_meta [], ap_uint <8*4*16> buf_B1 [], ap_uint <8*4*16> buf_B2 [], ap_uint <8*4*16> buf_B3 [], ap_uint <8*4*16> buf_B4 [], ap_uint <8*4*16> buf_B5 [], ap_uint <8*4*16> buf_B6 [], ap_uint <8*4*16> buf_B7 [], ap_uint <8*4*16> buf_B8 [], ap_uint <8*4*16> buf_D [] )
GQE partition kernel.
Parameters:
k_depth | depth of each hash bucket in URAM |
col_index | index of input column |
bit_num | number of defined partition, log2(number of partition) |
tin_meta | input meta info |
tout_meta | output meta info |
buf_A | input table buffer |
buf_B | output table buffer |
buf_D | configuration buffer |
Note
3-in-1 GQE has been tested on Alveo U50 card, and makes only use of HBM. Only gqeAggr is now still using the Alveo U280 card, and makes use of both HBM and DDR. While other cards like U200 and U250 are not supported out-of-box, porting and gaining acceleration is surely possible, with tailoring and tuning.