Hash Semi-Join resides in the L1/benchmarks/hash_semi_join directory. This project shows the FPGA performance of the following query with random-generated data implemented with the hashSemiJoin primitive.
SELECT
SUM(l_extendedprice * (1 - l_discount)) as revenue
FROM
Lineitem
WHERE
l_orderkey
IN
(
SELECT
o_orderkey
FROM
Orders
WHERE
o_orderdate >= date '1994-01-01'
and o_orderdate < date '1995-01-01'
)
;
Here Orders is a self-made table filled with random data, which contains two columns named o_orderkey and o_orderdate; Lineitem is also a table, which contains three columns named l_orderkey, l_extendedprice, and l_discount.