Граф коммитов

131 Коммитов

Автор SHA1 Сообщение Дата
Luis Vega f731e0e666 fix hardware-makefile for osx, bugfix chisel-RegFile, and rename driver (#3371) 2019-06-14 01:01:00 -07:00
Luis Vega 7bf2ff23db [VTA] add support to event counters (#3347)
* add support to event counters in VTA

* fix comment

* fix event-counter interface parameter

* no longer needed

* add sim back

* add docs to event counters

* fix docs

* add more details about event counting

* make dpi-module docs more accurate
2019-06-13 15:08:40 -07:00
Luis Vega 124f9b7f7c [VTA][TSIM] update app example (#3343)
* add initial support to cycle counter to accelerator

* remove prints from c

* add event counter support to chisel tsim example

* make it more readable

* use a config class

* update driver

* add individual Makefile to chisel

* add rule for installing vta package

* add makefile for verilog backend

* update drivers

* update

* rename

* update README

* put default sim back

* set counter to zero
2019-06-11 16:55:41 -07:00
Luis Vega 30f757eda1 add another default location to verilator (#3324) 2019-06-09 16:41:22 -07:00
Luis Vega 73358be5bc [VTA] [APPS] [TSIM] update documentation (README) (#3318)
* update README

* update README

* update README

* update README

* fix typo
2019-06-08 15:00:31 -07:00
Luis Vega df16182bd8 [VTA] add doc to tsim-example driver and update verilator env variable (#3302)
* add documentation and check for extension

* add env variable for verilator include

* fix typo

* this will test if path exist otherwise it won't buid

* check if verilator path and binary is set properly

* add ?

* remove export

* no longer needed
2019-06-07 01:52:06 -05:00
Luis Vega 5999f7a6d8 [VTA] [APPS] [TSIM] small naming fix (#3293)
* make off lowercase

* update README
2019-06-05 22:03:12 -07:00
Luis Vega 32f74f31c8 [VTA] [Hardware] Chisel implementation (#3258) 2019-06-05 10:17:11 -07:00
Hua 38604d9265 [Bugfix] [VTA] VTA DRAM Have A Logic Issue May Cause GEMM Output Wrong. (#3278)
* [Bugfix] [VTA] VTA DRAM Have A Logic Issue May Cause GEMM Output Wrong.

Symptom:
after change “LOG_BLOCK_IN” and “LOG_BLOCK_OUT” from vta_config.json
into 7, run vta "Simple Matrix Multiply" in "simulator", the vta
calculate result for GEMM is wrong.

Sometime VTA crash with error “Check failed: phy_addr != 0 (0 vs. 0) :
trying to get address that is nullptr”

Analysis:
Simulator hardcode kPageSize into 1<<12 and physical address calculate
based on this size, when doing “insn->dram_base” calculation , because
GetElemBytes(dst_memory_type) larger than page size, different physcial
address may get same dram_base, than caused logic issue and finally
trigger GEMM out put is wrong.

Solution:
add logic to check if PAGE SIZE larger then "GetElemBytes" return value.

* address review comments.
2019-06-04 09:47:29 -07:00
Hua f6acf2e5f5 [Bugfix][VTA] PkgConfig cause crash in PYNQ board due to link library (#3257)
* [Bugfix][VTA] PkgConfig cause crash in PYNQ board due to link library
not exist.

Symptom:
When run vta_get_started.py with pynq board, host crash and
complain "cannot find -lsds_lib" and "cannot find -l:libdma.so"

Reproduce:
At pynq board, delete the ./build/vta_config.json, then run rpc
server.
In host machine run vta_get_started.py, issue would reproduce.

Analysis:
This issue caused by 'PkgConfig' function  still using pynq2.1
library which not exist in pynq2.4 anymore, when a "reconfig_runtime"
logic of rpc_server.py get triggered , the compile would failed due to
link library not exist.

Solution:
change the link library to libcma.so.

* [Document Change][VTA] Change pynq version from 2.3 into 2.4.

Issue:
pynq 2.3 image not available anymore from pynq download page and pynq
2.4 is the current latest image which available in the said website, after
verification, currently VTA work good with pynq 2.4 image, hence update
related document from pynq 2.3 to 2.4.
2019-05-31 21:42:15 -05:00
Hua 4767554c58 [BugFix][VTA] Fix vta_conv2d crash issue after change vta_config.json configuration. (#3213)
Issue:
Once change LOG_BLOCK_IN or LOG_BLOCK_OUT into > 4 value, when run vta
“Simple Matrix Multiply” or load vta, vta would crash at vta_conv2d.py.

Analysis:
This issue caused by resnet18 logic of vta_conv2d.py which have
in_filter minmum size that is 16. > 4 value would cause such in_filter
check failed then make xfer_size be empty and find_schedules function
return a empty list finally cause crash.

Solution:
add the empty list check.
2019-05-29 10:32:47 -07:00
Luis Vega b5507d4546 [VTA][TSIM] Use Module instead of RawModule for testbench by creating an empty bundle for the IO (#3242)
* use Module instead of RawModule for testbench by creating an empty bundle for the IO

* change default back to verilog
2019-05-27 21:29:55 -07:00
Luis Vega 1b35903543 [VTA] [TSIM] Improve tsim example (#3206) 2019-05-20 10:05:36 -07:00
Hua b7e6976b17 [BugFix][VTA] Fix bug in vta runtime DepPop function. (#3208)
Issue:
    One of existing illegal dependency check's condition always true,
    the correct logic actually should be such check for store and load.

Solution:
    Fix the said logic issue.
2019-05-20 10:01:49 -07:00
Luis Vega a6d04b8daa [RFC] [VTA] [TSIM] Enabling Cycle-Accurate Hardware Simulation for VTA #3009 (#3010)
* merge files

* move verilator to the right place

* change name to tsim

* add default rule to be build and run

* add README for tsim

* Update README.md

* add some structural feedback

* change name of VTASim to VTADPISim

* more renaming

* update comment

* add license

* fix indentation

* add switch for vta-tsim

* add more licenses

* update readme

* address some of the new feedback

* add some feedback from cpplint

* add one more whitespace

* pass pointer so linter is happy

* pass pointer so linter is happy

* README moved to vta documentation

* create types for dpi functions, so they can be handle easily

* fix pointer style

* add feedback from docs

* parametrize width data and pointers

* fix comments

* fix comment

* add comment to class

* add missing parameters

* move README back to tsim example

* add feedback

* add more comments and remove un-necessary argument in finish

* update comments

* fix cpplint

* fix doc
2019-05-08 09:59:00 -07:00
Tianqi Chen cffb4fba03
[HEADER] Add Header to Comply with ASF Release Policy (#2982)
* [HEADER] ASF header dir=include

* [HEADER] ASF Header dir=src

* [HEADER] ASF Header -dir=python

* [HEADER] ASF header dir=topi

* [HEADER] ASF Header dir=nnvm

* [HEADER] ASF Header -dir=tutorials

* [HEADER] ASF Header dir=tests

* [HEADER] ASF Header -dir=docker

* fix whitespace

* [HEADER] ASF Header -dir=jvm

* [HEADER] ASF Header -dir=web

* [HEADER] ASF Header --dir=apps

* [HEADER] ASF Header --dir=vta

* [HEADER] ASF Header -dir=go

* temp

* [HEADER] ASF Header --dir=rust

* [HEADER] Add ASF Header --dir=cmake

* [HEADER] ASF Header --dir=docs

* [HEADER] Header for Jenkinsfile

* [HEADER] ASF Header to toml and md

* [HEADER] ASF Header to gradle

* Finalize rat cleanup

* Fix permission

* Fix java test

* temporary remove nnvm onnx test
2019-04-07 21:14:02 -07:00
Marcus Shawcroft 166f147aa1 Stop pylint complaining about useless import alias. (#2655)
Recent pylint warngs about import renames with no effect.  Remove
them.
2019-02-22 10:03:18 -08:00
Marcus Shawcroft e20ef0d4a2 Fix pylint 2.2.2 gripes. (#2642) 2019-02-21 10:43:07 -08:00
MORITA Kazutaka 77718f8e11 [TUTORIAL] Fix downloaded file path (#2590) 2019-02-12 07:36:39 -08:00
Tianqi Chen 3a75b13d66
Misc refactor on graph runtime, layout node (#2557) 2019-02-03 14:02:04 -08:00
Anthony Mai 75f91c45d7 Optimize Linux shared library modules (*.so files) (#2445) 2019-01-28 21:14:18 -08:00
Tianqi Chen 6d1f4c0b5c
[RELAY][EXPR] Make const numpy consistent (#2349) 2018-12-28 20:11:56 -08:00
Liangfu Chen b88065a8d1 [VTA] Improved RPC for VTA (#2043)
* assign default port to 9091 as the documented

* bug fix in printing RuntimeError and add an additional search path

* pretty print rebuild runtime args

* PRC => RPC

* replace vta_config.json file path

`build/vta_config.json` => `vta/config/vta_config.json`

* undo the change in adding lib_search path

* search vta_config.py file in vta/config

* avoid exposing driver function calls, and use predefined `VTAMemGetPhyAddr` instead.

* rename `tests/hardware/pynq` => `metal_test`

* set config path back to `build` dir
2018-11-11 19:24:48 -08:00
Wuwei Lin 2005f85237 [TOPI] Add dilation argument to conv2d and depthwise_conv2d (#1970) 2018-10-31 15:12:44 -07:00
Sergey Mironov 39c8bc2a3d [TOPI] Specify non-zero absolute tolerance in tests (#1925) 2018-10-20 22:06:45 -07:00
Thierry Moreau 2face2e570 [VTA] pynq v2.1 -> v2.3 (#1945) 2018-10-20 21:55:12 -07:00
Lianmin Zheng bde53033bd [RUNTIME] Add fp16/fp32 conversion functions (#1766) 2018-09-24 20:13:34 -07:00
Siju 1022ad7c20 [DOC]Errors corrected (#1767) 2018-09-24 20:09:48 -07:00
Tianqi Chen ce0d5144f0
Fix VTA Tutorial for more strict graphrt check (#1737) 2018-09-19 08:18:52 -07:00
Tianqi Chen c4421f5755
[SUBMODULE] update submodule to latest (#1728) 2018-09-18 23:28:12 -07:00
MORITA Kazutaka b95b595891 Remove leading "./" from include paths (#1640) 2018-08-22 22:11:12 -07:00
Lianmin Zheng cfafd212c0 [AUTOTVM] Simplify TopHub (#1630) 2018-08-22 20:21:15 -07:00
Lianmin Zheng 32076df815 [AUTOTVM] TOPI integration for ARM CPU (#1487) 2018-08-02 08:59:25 -07:00
Thierry Moreau 217792ec5f [VTA] bugfix parameter derivation (#1521) 2018-08-01 08:56:01 -07:00
Tianqi Chen 325c82740b [NNVM] Fix check in layout parsing (#1502)
* [NNVM] Fix check in layout parsing

* add one workload
2018-07-27 20:46:47 -07:00
Thierry Moreau 0fddc35214 timing closure fix for default VTA config (#1489) 2018-07-25 12:07:37 -07:00
Thierry Moreau 5846775fba [DOC] Update VTA readme files to avoid stale information (#1484)
* updated readme files to avoid stale instructions

* bsp generation turned off by default
2018-07-24 17:58:58 -07:00
Tianqi Chen 41ed49b72a [IR] support general type annotation. (#1480) 2018-07-24 14:01:58 -07:00
Thierry Moreau e806cd1511 [DOC, HARDWARE] Hardware developer guide, migrating to use Vivado 2018.2 (#1473) 2018-07-22 21:54:45 -07:00
Tianqi Chen 84eea5727d Update VTA schedule (#1464) 2018-07-20 11:48:19 -07:00
Thierry Moreau 6bda4e3392 [DOCS] VTA installation guide (#1428) 2018-07-12 20:05:17 -07:00
tqchen e531d02288 [BUILD][DOCS] Migrate VTA CI, test, build, docs 2018-07-11 21:54:39 -07:00
Tianqi Chen bc41013028 [TOPI] Fix the CPU op perf (#56) 2018-07-11 21:54:39 -07:00
Thierry Moreau ffe1badd9d [TUTORIAL] Resnet-18 end to end tutorial example (#55) 2018-07-11 21:54:39 -07:00
Tianqi Chen 8539ac5810 [NNVM] Make param file python version agnostic 2018-07-11 21:54:39 -07:00
Tianqi Chen 6c62dac331 [TVM] Upgrade TVM Support 2018-07-11 21:54:39 -07:00
Thierry Moreau 3ae9e15559 [DOC, TVM] ResNet tutorial, updated TVM (#51) 2018-07-11 21:54:39 -07:00
Tianqi Chen 5739acaba6 [DOCKER] Cleanup docker image (#50) 2018-07-11 21:54:39 -07:00
Thierry Moreau 4ba6bd50dd [UTILS, DOC] Use TVM file downloading utility, conv2d tutorial (#48) 2018-07-11 21:54:39 -07:00
Thierry Moreau d1128cedfb [DOC] VTA installation & basic tutorials (#47) 2018-07-11 21:54:39 -07:00
Tianqi Chen d45a9253b0 Update Jenkinsfile 2018-07-11 21:54:39 -07:00
Tianqi Chen 430f0c14e4 Update TVM Version and CI scripts (#46) 2018-07-11 21:54:39 -07:00
Yaman Umuroglu d31f58b37a VTA and TVM on PYTHONPATH, also pass to sudo (#42) 2018-07-11 21:54:39 -07:00
Thierry Moreau e2faf79200 [DOC, EXAMPLE] Updated READMEs, tests, etc. (#41)
* bug fix for new drivers in new PYNQ image v2.1

* updating instructions for resnet inference

* updated the instructions for starting the RPC server

* deriving host/port from env for unit tests
2018-07-11 21:54:39 -07:00
Tianqi Chen e1db3cd671 [EXAMPLE] Fix example for simulator (#40) 2018-07-11 21:54:39 -07:00
Tianqi Chen c12691a203 [INIT] Allow proper throw in compiler (#39) 2018-07-11 21:54:39 -07:00
Thierry Moreau 7f25bf1dab [BITSTREAM SERVER] Bitstream server integration (#38) 2018-07-11 21:54:39 -07:00
Tianqi Chen 8c9758b606 Update Graph Support for Batching, Fix Swapping (#37)
* fix graph transform for batch dimension

* fix

* fix
2018-07-11 21:54:39 -07:00
Thierry Moreau a96a4a9bcc [TOPI] Automated schedule in conv2d TOPI lib, moving to GEMM intrinsic (#35)
* removing programming out of end to end example for now

* updating TOPI library to use gemm tensor intrinsic

* bug fix, autoschedule in TOPI conv lib

* removing the deprecated GEVM intrinsic

* refactoring, fixed lint test

* fix for integer division bug

* python3 bug fix for non matching types due to float division

* comment
2018-07-11 21:54:39 -07:00
Thierry Moreau dae77cdb4c [HARDWARE, TEST] Fixed hardware generation flow (#34) 2018-07-11 21:54:39 -07:00
Tianqi Chen 9f0e8ffe12 [PYTHON] Enable environment scoping (#33) 2018-07-11 21:54:39 -07:00
Tianqi Chen 7ab574b0d1 [COMPILER] Upgrade to meet latest TVM IR pragma convention (#32) 2018-07-11 21:54:39 -07:00
Tianqi Chen 012697a333 fix jenkins (#31) 2018-07-11 21:54:39 -07:00
Tianqi Chen 395f4c36ad [TEST] CI infrastructure (#30) 2018-07-11 21:54:39 -07:00
Tianqi Chen edac6a8dac Refactor, refactor code structure, fix pynq rpc (#29) 2018-07-11 21:54:39 -07:00
Tianqi Chen 5c5806bab3 [INFRASTRUCTURE] Migrate to json based config. Move gemm test to integration. (#28)
* Migrate to json based config. Move gemm test to integration.

* temp checkin

* checkin  example json
2018-07-11 21:54:39 -07:00
Tianqi Chen 666f32d6a4 [RUNTIME] Simplify dynamic library and code path. (#27)
* [RUNTIME] Simplify dynamic library and code path.

* reword the readme
2018-07-11 21:54:39 -07:00
Tianqi Chen 9c44e4b43d [DRIVER] Add simulator, unify testcase to unittest (#25) 2018-07-11 21:54:39 -07:00
Tianqi Chen 0faefafca7 [DRIVER][RUNTIME] Make runtime fully device agnostic (#23) 2018-07-11 21:54:39 -07:00
Tianqi Chen dea167a883 [COMPILER] Refactor compiler to enable configuration (#21) 2018-07-11 21:54:39 -07:00
Thierry Moreau f5960ba611 [SCHEDULER, HW] Auto scheduler for conv2d, hardware generation (#20)
* Hardware generation fixes/sweep, auto scheduling for VTA conv2d

* Hardware generation fixes/sweep, auto scheduling for VTA conv2d

* derive hw spec from config file

* up to date hardware spec
2018-07-11 21:54:39 -07:00
Tianqi Chen 33a309b239 [RPC][RUNTIME] Support dynamic reload of runtime API according to config (#19) 2018-07-11 21:54:39 -07:00
tqchen dc5bdb6b41 Upgrade TVM to latest version 2018-07-11 21:54:39 -07:00
Grigori Fursin 75ea6e451e fixing URL; adding () to print (#17) 2018-07-11 21:54:39 -07:00
Thierry Moreau 96488c1109 [PYTHON, TVM] Python TVM library, unit tests and end to end example
* VTA python library
* Python unit tests
* End to end example with Resnet18
* README instructions
* Bug fixes
2018-07-11 21:54:39 -07:00
Thierry Moreau 56a0dea81a [REFACTOR] Macro standardization, lint tests (#7)
* code refactoring

* code refactoring

* code refactoring

* code refactoring

* fixing macro

* refactoring, tests, makefile

* style - making sure lint test pass

* prefixed macros with VTA, fixed bugs
2018-07-11 21:54:39 -07:00
Thierry Moreau 28a10b6904 [REFACTOR] Code base refactoring (#5) 2018-07-11 21:54:39 -07:00
Tianqi Chen 0979e9aaf5 [DOCS] Initial docs (#4)
* [DOCS] Initial docs

* update instruction
2018-07-11 21:54:39 -07:00
Thierry Moreau 8ebca36390 doxygen path update 2018-07-11 21:54:39 -07:00
Thierry Moreau 470018503f hardware compilation flow, and driver tests 2018-07-11 21:54:39 -07:00
Thierry Moreau b8d8e5b6e8 Initial commit 2018-07-11 21:54:39 -07:00