数据库中几个常用算法的GPU并行化设计

1. Select

数据库中几个常用算法的GPU并行化设计_第1张图片

2. Sub aggregation

数据库中几个常用算法的GPU并行化设计_第2张图片

  • 并行对key1进行排序;
  • flag标记:key1的值与上一个值不同时标记为1,相同标记为0;
  • 根据flag的值计算前缀和presum;
  • 根据flag、下标、presum计算出每个sub区域的开始位置,offset;
  • 根据offset分块计算sub aggregation,例如每个CUDA block做一个sub区域的aggregation的计算。

3. 2列sort

数据库中几个常用算法的GPU并行化设计_第3张图片

  • 并行对key1进行排序;
  • flag标记:key1的值与上一个值不同时标记为1,相同标记为0;
  • 根据flag的值计算前缀和presum;
  • 根据flag、下标、presum计算出每个sub区域的开始位置,offset;
  • 根据offset分块计算sub sort,例如每个CUDA block做一个sub区域的排序。

你可能感兴趣的:(DB)