PPCG Hybrid tiling on PolyBench Questions

48 views
Skip to first unread message

Stefan Liao

unread,
Aug 3, 2023, 2:54:25 AM8/3/23
to isl Development
Hello Everyone,
I'm trying to reproduce the experimental result of 'Hybrid Hexagonal/Classical Tiling for GPUs' by testing with polybench-4.2.1, with command 
`ppcg {filename} --dump-schedule --hybrid --no-isl-schedule-maximize-coincidence -I$(PB_PATH)utilities --sizes="{ kernel[i] -> tile[3,3,32];  }" -DLARGE_DATASET -DDATA_TYPE_IS_FLOAT -DKTIME` 
, where PB_PATH is the path of my PolyBench path and filename is the file for each stencil benchmarks.

Here's the link of benchmark:

The problem is, I found out that the hybrid tiling  mostly not triggered. 
Is there an appropriate benchmark suggestions for reproducing this works?
Or is there any possibility i could do kernek fission and let each statements be in single-statement nested loop and meet the requirement of hybrid tiling?

Sven Verdoolaege

unread,
Aug 3, 2023, 6:17:03 PM8/3/23
to Stefan Liao, isl Development
On Wed, Aug 02, 2023 at 11:45:08PM -0700, Stefan Liao wrote:
> The problem is, I found out that the hybrid tiling mostly not triggered.
> Is there an appropriate benchmark suggestions for reproducing this works?

I didn't do the experiments on that one,
but I'll see if I can find something about them.

skimo

Sven Verdoolaege

unread,
Aug 6, 2023, 5:32:01 AM8/6/23
to Stefan Liao, isl Development
On Wed, Aug 02, 2023 at 11:45:08PM -0700, Stefan Liao wrote:
> Hello Everyone,
> I'm trying to reproduce the experimental result of 'Hybrid
> Hexagonal/Classical Tiling for GPUs' by testing with polybench-4.2.1, with

Why are you running it on PolyBench then?
It doesn't look like the paper even mentions PolyBench.

Unfortunately, I don't seem to have (all) the benchmarks
from the paper either and I don't know where they came from.

I did manage to (possibly) find two of them from another paper.
See attachments.

These options may be useful:
a_heat-2d.c: --hybrid --max-shared-memory=-1 --no-private-memory --sizes='{kernel[i]->block[1,128]}'
a_heat-3d.c: --hybrid --max-shared-memory=-1 --no-private-memory --sizes='{kernel[i]->block[1,10,32]}'

(The actual set of options I found was more elaborate, but it was apparently
for a modified version of PPCG.)

skimo
a_heat-2d.c
a_heat-3d.c

Stefan Liao

unread,
Aug 6, 2023, 7:53:57 PM8/6/23
to isl Development
> Why are you running it on PolyBench then?
> It doesn't look like the paper even mentions PolyBench.

First of all, thank you for your reply! 
I'm new to polyhedral, and polybench is the first benchmarks that comes to my mind.
Maybe I should try to find other stencil benchmars that the hexagonal tile can be applied.

Stefan
Reply all
Reply to author
Forward
0 new messages