Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[API][Backend] Streaming and OpenCL Backends #138

Merged
merged 104 commits into from
Dec 10, 2019
Merged
Changes from 1 commit
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
2b3b2b0
add sdaccel, aocl for heterocl
ybai62868 Jul 25, 2019
86525fc
fpga
ybai62868 Jul 25, 2019
1d8115f
Create codeanalys_openclc.cc
ybai62868 Jul 25, 2019
47026fe
Update target.py
ybai62868 Jul 25, 2019
5fba7cc
run
ybai62868 Jul 26, 2019
31d00e3
can run successfully
ybai62868 Jul 26, 2019
e0dc81f
Create codegen_opencl.cc
ybai62868 Jul 29, 2019
8c010da
now
ybai62868 Jul 29, 2019
843b6f4
all done
ybai62868 Jul 30, 2019
f0ac7a7
Update codegen_sdaccel.cc
ybai62868 Jul 30, 2019
8713bda
Update codegen_sdaccel.cc
ybai62868 Jul 30, 2019
e687bfb
modified: python/heterocl/tvm/target.py
hgyhungry Aug 7, 2019
b091758
new file: samples/ppac/gemm/csrcPrint.py
hgyhungry Aug 7, 2019
8e12d35
all
ybai62868 Aug 7, 2019
416ca43
remove tvm check code from kernel
hgyhungry Aug 9, 2019
e9a0a1c
opencl-backend
ybai62868 Aug 14, 2019
5695f2c
all
ybai62868 Aug 14, 2019
568555d
fix ppac module build
hgyhungry Aug 15, 2019
2518aeb
support ppac MVPb pragma
hgyhungry Aug 15, 2019
314994e
fix ignoring ppac pragma in cpu backend
hgyhungry Aug 16, 2019
a06f97b
opencl-backend
ybai62868 Aug 18, 2019
3f03b41
aocl-backend
ybai62868 Aug 18, 2019
ffb8673
move ppac codegen to ppac folder; fix argument name with merlinc anal…
hgyhungry Sep 2, 2019
8afdea8
discard the new for-loop type; include ppac in hlib
hgyhungry Sep 2, 2019
819eae8
discard some previous changes
hgyhungry Sep 2, 2019
4ee0a93
Use int64_t as return type of GeMM on ppac
hgyhungry Sep 3, 2019
66851f0
[add] codegenc kernedef + stream init
hecmay Sep 3, 2019
63833c2
[add] var_shape_map
Sep 4, 2019
69fd36f
[update] kerneldef struct shape
hecmay Sep 5, 2019
32a522d
[update] use noderef and restore
hecmay Sep 5, 2019
171699c
[fix] return op
Sep 6, 2019
2cd15d2
[add] hcl device & kernelstmt printer
Sep 7, 2019
adb5af1
[fix] def workaround
Sep 9, 2019
3457773
[update] stream example
hecmay Sep 12, 2019
2330ea3
[add] stream expr & stmt ir
hecmay Sep 13, 2019
ae7bebf
[fix] kernel arg location for stream
hecmay Sep 14, 2019
c2dbf4c
Merge branch 'master' of https://github.com/Hecmay/heterocl
hecmay Sep 14, 2019
83e4d7e
opt1
ybai62868 Aug 18, 2019
df48ef9
opencl-general
ybai62868 Aug 18, 2019
d51970a
new-version
ybai62868 Aug 18, 2019
530ce5d
no bug
ybai62868 Aug 18, 2019
64d91e5
a
ybai62868 Aug 18, 2019
e123363
test+unroll+pipeline
ybai62868 Aug 19, 2019
0cdceb8
pragma
ybai62868 Aug 21, 2019
4fba56c
new
ybai62868 Aug 21, 2019
ccd58fd
type has fixed
ybai62868 Aug 22, 2019
1832760
new_test
ybai62868 Aug 23, 2019
c3d8f3c
test_reorder_split_fuse
ybai62868 Aug 23, 2019
ad27bcc
target
ybai62868 Aug 23, 2019
337db9a
order
ybai62868 Aug 23, 2019
3cb38bf
simplified by rui
ybai62868 Aug 23, 2019
c4562e5
analysis
ybai62868 Aug 23, 2019
51a4f77
bug fixed
ybai62868 Aug 27, 2019
6fe29d5
[delete] all of the code about opencl
ybai62868 Aug 27, 2019
a0611c6
[ADD] new opencl back-end including xilinx & intel
ybai62868 Aug 27, 2019
4852b98
fixed __local
ybai62868 Aug 28, 2019
ea0771f
fixed data_type for xilinx opencl
ybai62868 Sep 2, 2019
4ebdfb7
add makefile for SDAccel_runtime
ybai62868 Sep 2, 2019
05ff646
add the runtime for sdaccel
ybai62868 Sep 3, 2019
fa30a01
create the sdaccel host
ybai62868 Sep 3, 2019
51584e4
fixed the indent problem partly
ybai62868 Sep 3, 2019
c5239bf
test the zhang-05 server
ybai62868 Sep 4, 2019
7991a81
add indent to the host.cpp
ybai62868 Sep 4, 2019
104e5e6
automatically generate makefile
ybai62868 Sep 5, 2019
dad3e75
delete common folder from opencl
ybai62868 Sep 5, 2019
59f5f7e
add shmat to sdaccel runtime
ybai62868 Sep 5, 2019
e2dd3a2
fixed bug for sdaccel runtime seg fault
ybai62868 Sep 5, 2019
f405ec3
fixed the bug of host.cpp multiple
ybai62868 Sep 5, 2019
edfa9ce
fixed host.cpp multiple bug
ybai62868 Sep 5, 2019
4bb58fa
fixed endif for makefile
ybai62868 Sep 5, 2019
edf784f
modify sdaccel_sw_emu -> sdaccel_csim
ybai62868 Sep 6, 2019
aa67e48
fix the __local and __global for intel opencl back-end
ybai62868 Sep 12, 2019
c46b932
Fix the arbitrary integer precision for aocl
ybai62868 Sep 13, 2019
879da3c
[add] ir visitor & functor for codegen
Sep 15, 2019
245bffa
[add] aocl stream codegen
hecmay Sep 16, 2019
cc65e5d
[add] aocl stream support
hecmay Sep 18, 2019
786ccb7
[fix] aocl type conversion
hecmay Sep 18, 2019
1ec3fcd
[fix] aocl channel syntax
hecmay Sep 18, 2019
1ab0c8c
[add] sch.stream_to
hecmay Oct 1, 2019
8b8dea9
[fix] add stream annotation
hecmay Oct 4, 2019
23fa599
[add] host device codegen
hecmay Oct 6, 2019
a3f168a
[add] stream ir mutator
hecmay Oct 15, 2019
5a3112e
[Add] Interface prag,a for SDx sim
hecmay Oct 16, 2019
52ffe80
[add] host xcel codegen
hecmay Oct 22, 2019
c5907cf
[update] build interface
hecmay Oct 22, 2019
99fe2b7
[update] new build interface
hecmay Oct 31, 2019
a18f24f
[fix] temp update
hecmay Oct 31, 2019
955974c
[add] ppac hlib & riscv codegen
hecmay Oct 31, 2019
76dec95
Merge branch 'ppac' into opencl
hecmay Oct 31, 2019
ed31f99
[update] stream example
hecmay Nov 8, 2019
73daf28
[add] rocc-ppac sim
hecmay Nov 10, 2019
e8fe221
[rm] submodule
hecmay Nov 13, 2019
c98d859
[update] rocc ppac hlib
hecmay Nov 13, 2019
6d9780a
[add] unified sim & kernel updater
hecmay Nov 25, 2019
85db48d
re-organize build common util
hecmay Nov 28, 2019
f85cfdd
merge with upstream
hecmay Nov 28, 2019
8c72a7a
[update] stream in codegen c
hecmay Dec 4, 2019
280ae2f
[update] codegen construct for streaming
hecmay Dec 7, 2019
96e388f
[update] code post-processing
hecmay Dec 8, 2019
1aabf4e
[fix] test cases
hecmay Dec 9, 2019
dd3e2a8
[fix] python compatibility
hecmay Dec 9, 2019
eefae89
[update] future
hecmay Dec 10, 2019
e53cb1e
[fix] metaclass
hecmay Dec 10, 2019
378069f
[fix] test import issue
hecmay Dec 10, 2019
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
Prev Previous commit
Next Next commit
merge with upstream
hecmay committed Nov 28, 2019
commit f85cfdda11c72ea3c33bea0b486b605817b986b7
2 changes: 1 addition & 1 deletion python/heterocl/api.py
Original file line number Diff line number Diff line change
@@ -270,7 +270,7 @@ def lower(schedule):
new_inputs.append(i.var)
return _lower(schedule.sch, new_inputs, simple_mode=True)

def build(schedule, target=None, name="host_function"):
def build(schedule, target=None, name="host_function", stmt=None):
Copy link
Collaborator

Choose a reason for hiding this comment

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

"host_function" is still not a good name. Let's roll back to "default_function" for now. We can think about this later.

"""Build the executable according to the schedule and target.

The default target is `llvm` (i.e., CPU execution). If stmt is specified,
13 changes: 8 additions & 5 deletions python/heterocl/tvm/build_module.py
Original file line number Diff line number Diff line change
@@ -363,10 +363,12 @@ def lower(sch,
"""
binds, arg_list = get_binds(args, binds)
cfg = BuildConfig.current
try:
remove_args = sch.remove_args
except:
remove_args = []
if stmt is not None:
stmt = ir_pass.StorageFlatten(stmt, binds, 64)
if kernel_only:
return ir_pass.MakeKernelAPI(stmt, name, arg_list)
else:
return ir_pass.MakeAPI(stmt, name, arg_list, 0, cfg.restricted_func)
add_lower_pass = cfg.add_lower_pass if cfg.add_lower_pass else []
lower_phase0 = [x[1] for x in add_lower_pass if x[0] == 0]
lower_phase1 = [x[1] for x in add_lower_pass if x[0] == 1]
@@ -511,7 +513,8 @@ def build(sch,
target=None,
target_host=None,
name="host_function",
binds=None):
binds=None,
stmt=None):
"""Build a function with arguments as signiture.

Parameters
You are viewing a condensed version of this merge commit. You can view the full changes here.