Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
4ac7928
adding exahaustive serach option
Mar 11, 2015
d9e943f
adding template file explore-params.py to specifiy the parameters exp…
Mar 12, 2015
33e1e26
Removed trailing whitespace
Mar 12, 2015
fd13616
changed the default of tile dimensions and number of runs
Mar 12, 2015
4e64fa0
changed the command line print of enumerated flag
Mar 12, 2015
7b38fb6
addedd = to the command line print of enumerated flag
Mar 12, 2015
e224aec
fixed the build command for opencl compilation
Mar 12, 2015
81c67b4
fixed the ppcg command line output file options for opecl
Mar 12, 2015
9fd7121
Fail if regex isn't found in program output
Mar 12, 2015
4eb1cf7
removed the required flag for run cmd, as it is no longer required to…
Mar 13, 2015
c5b7922
added support for pencil runtime libraries while building opencl target
Mar 13, 2015
d734061
Fix RunThread termination condition
Mar 16, 2015
0127df1
Merge pull request #1 from Meinersbur/master
chandangreddy Mar 16, 2015
5f38aef
added few hesuritics to prune search space
Mar 17, 2015
cd58e36
added support for last iter
Mar 17, 2015
7ee2e67
fixed the execution time logging bug
Mar 17, 2015
9df1195
fixed the undefined variable bug
Mar 17, 2015
3fbf390
added filter to remove testcases which have inavlid work group size
Mar 18, 2015
58ecfac
added summerasize function for Parallelize execution
Mar 19, 2015
9b6c082
fixed the block size range bug
Mar 19, 2015
46c5866
added min work group size fitlering
Mar 20, 2015
ccfdfba
added execution time check for multiple runs case
Mar 20, 2015
6d210f4
fixed the bug multiple execution time filtering
Mar 20, 2015
944a9b7
fixed the divide by zero error
Mar 21, 2015
e864259
added the missing : for else
Mar 22, 2015
60d3e12
added cmd string modififcation option
Mar 23, 2015
4a5baa8
fixed the ppcg cmd line bug with cmd string complete option
chandangreddy Mar 23, 2015
9825823
fixed the shared_mem private_mem option interchange bug
May 11, 2015
9d2907f
integrated into prl and added multiple kernel tuning support
chandangreddy Apr 7, 2016
a5ed122
added concurrent kernel tuning option, enabled by default
chandangreddy Apr 7, 2016
2807d3f
changed the order of grid and block sizes in explore params
chandangreddy Apr 11, 2016
2c0f3a9
added concurrent kernel tuning support
chandangreddy Apr 11, 2016
5349110
Fixed the run thread dual compilation bug
chandangreddy Sep 22, 2016
9451ffb
Removed the call to unused parse sizes
chandangreddy Sep 22, 2016
ab3f6af
Removed fusion option no longer supported by ppc
chandangreddy Sep 22, 2016
a1dbd89
merge from the master
chandangreddy Sep 22, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 11 additions & 3 deletions compiler_flags.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ def get_command_line_string(self, value):
else:
return ""
else:
return "%s %s" % (self.name, value.__str__( ))
return "%s=%s" % (self.name, value.__str__( ))
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks like an independent change?


class Size:
"""Models a tile, block or grid size"""
Expand Down Expand Up @@ -202,7 +202,15 @@ def random_value(self):
self.block_size.random_value(),
self.grid_size.random_value())
return per_kernel_size_info

def init_value(self, tile_size, block_size, grid_size):
per_kernel_size_info = collections.OrderedDict()
per_kernel_size_info[SizesFlag.ALL_KERNELS_SENTINEL] = SizeTuple(TileSize(tile_size),
BlockSize(block_size),
GridSize(grid_size))
return per_kernel_size_info


def permute(self, value):
per_kernel_size_info = collections.OrderedDict()
for kernel_number, size_tuple in value.iteritems():
Expand Down Expand Up @@ -301,8 +309,8 @@ class PPCG:
flag_map[no_isl_schedule_separate_components] = EnumerationFlag(no_isl_schedule_separate_components)
flag_map[no_wrap] = EnumerationFlag(no_wrap)
flag_map[no_scale_tile_loops] = EnumerationFlag(no_scale_tile_loops)
flag_map[no_shared_memory] = EnumerationFlag(no_shared_memory)
flag_map[no_private_memory] = EnumerationFlag(no_private_memory)
flag_map[no_shared_memory] = EnumerationFlag(no_shared_memory, [True, False])
flag_map[no_private_memory] = EnumerationFlag(no_private_memory, [True, False])
flag_map[no_live_range_reordering] = EnumerationFlag(no_live_range_reordering)

optimisation_flags = []
Expand Down
6 changes: 5 additions & 1 deletion enums.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
class Targets:
cuda = "cuda"
opencl = "opencl"
prl = "prl"

class Crossover:
one_point = "one_point"
Expand All @@ -18,8 +19,11 @@ class SearchStrategy:
ga = "ga"
random = "random"
simulated_annealing = "simulated-annealing"
exhaustive = "exhaustive"

class Status:
passed = "passed"
failed = "failed"

timeout = "timedout"
ppcgtimeout = "ppcg_timeout"

21 changes: 21 additions & 0 deletions explore-params.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# This file contains the PPCG parameter values that are explored.
# The exploration script considers each combination of the parameter values.

([
# Tile sizes
[(16,16), (32,32), (64,64)],

# Block sizes
[(1,1), (1,2), (1,4), (1,8),
(16,16), (32,32), (64,64)],

# Grid sizes
[(16,16), (32,32), (256,256), (1024,1024)],

#Shared memory
[False],

#private memory
[False, True],

])
Loading