1. 26 Aug, 2019 1 commit
    • [VTA][TSIM] Introduce Virtual Memory for TSIM Driver (#3686) · 92b6ca71
      * initial virtual memory;
      
      * initial integration;
      
      * include the header file in cmake;
      
      * implement allocation with virtual to logical address mapping;
      
      * virtual memory for tsim_driver;
      
      * implement the missing memory release function;
      
      * readability improvement;
      
      * readability improvement;
      
      * address review comments;
      
      * improved robustness in virtual memory allocation;
      
      * remove VTA_TSIM_USE_VIRTUAL_MEMORY macro and use virtual memory for tsim by default;
      
      * link tvm against vta library;
      
      * merge with master
      
      * build virtual memory system without linking tvm against vta;
      
      * minor change;
      
      * reuse VTA_PAGE_BYTES;
      
      * using DRAM class from sim_driver as VirtualMemoryManager;
      
      * satisfy linter;
      
      * add comments in code;
      
      * undo changes to Makefile
      
      * undo changes to Makefile
      
      * retrigger ci;
      
      * retrigger ci;
      
      * directly call into VirtualMemoryManager::Global()
      Liangfu Chen committed
  2. 30 Jul, 2019 1 commit
    • [VTA] Support for batched inference (#3661) · 6c7f0c4d
      * fix in IR pass to support padding on 6-d tensors
      
      * support for both N>1 and N==1 for padding
      
      * batch size > 1 tuning and base config
      
      * output formatting
      
      * batch conv2d
      
      * print all category results
      
      * revert to single-batch config
      
      * pick record best
      
      * fix conv test
      
      * improving reporting
      
      * address batching bug in fast simulator
      
      * fix
      Thierry Moreau committed
  3. 29 Jul, 2019 1 commit
    • [VTA] Refactor to increase platform coverage (Ultra96 etc.) (#3496) · f55609b4
      * hardware refactor for increased FPGA coverage, small optimizations
      
      * fix header
      
      * cleaning up parameters that won't be needed for now
      
      * streamlining makefile, and simplifying tcl scripts
      
      * moving parameter derivation into pkg_config.py, keeping tcl scripts lightweight
      
      * refactoring tcl script to avoid global variables
      
      * deriving AXI signals in pkg_config.py
      
      * unifying address map definition for hardware and software drivers
      
      * single channel design for ultra96 to simplify build
      
      * enable alu by default, no mul opcode for now
      
      * hardware fix
      
      * new bitstream; vta version
      
      * avoid error when env variable is not set
      
      * ultra96 cleanup
      
      * further cleaning up tcl script for bitstream generation
      
      * preliminary rpc server support on ultra96
      
      * rpc server tracker scripts
      
      * ultra96 ldflag
      
      * ultra96 support
      
      * ultra96 support
      
      * cleanup line
      
      * cmake support for ultra96
      
      * simplify memory instantiation
      
      * cleaning up IP parameter initialization
      
      * fix queue instantiation
      
      * 2019.1 transition
      
      * fix macro def
      
      * removing bus width from config
      
      * cleanup
      
      * fix
      
      * turning off testing for now
      
      * cleanup ultra96 ps insantiation
      
      * minor refactor
      
      * adding comments
      
      * upgrading to tophub v0.6
      
      * model used in TVM target now refers to a specific version of VTA for better autoTVM scheduling
      
      * revert change due to bug
      
      * rename driver files to be for zynq-type devices
      
      * streamlining address mapping
      
      * unifying register map offset values between driver and hardware generator
      
      * rely on cma library for cache flush/invalidation
      
      * coherence management
      
      * not make buffer packing depend on data types that can be wider than 64bits
      
      * refactor config derivation to minimize free parameters
      
      * fix environment/pkg config interaction
      
      * adding cfg dump property to pkgconfig:
      
      * fix rpc reconfig
      
      * fix spacing
      
      * cleanup
      
      * fix spacing
      
      * long line fix
      
      * fix spacing and lint
      
      * fix line length
      
      * cmake fix
      
      * environment fix
      
      * renaming after pynq since the driver stack relies on the pynq library - see pynq.io
      
      * update doc
      
      * adding parameterization to  name
      
      * space
      
      * removing reg width
      
      * vta RPC
      
      * update doc on how to edit vta_config.json
      
      * fix path
      
      * fix path
      Thierry Moreau committed
  4. 22 Jul, 2019 1 commit
    • [VTA] Runtime refactor to allow for non-shared memory FPGAs (e.g. F1) (#3554) · 9d64d321
      * updated runtime to support non-shared memory FPGAs for instruction and micro-op kernels
      
      * adding driver-defined memcpy function to handle F1 cases
      
      * refactor to include flush/invalidate in memcpy driver function
      
      * update tsim driver
      
      * bug fixes
      
      * cleanup
      
      * pre-allocate fpga readable buffers to improve perf
      
      * fix
      
      * remove instruction stream address rewrite pass for micro op kernels
      
      * fix:
      
      * white spaces
      
      * fix lint
      
      * avoid signed/unsigned compilation warning
      
      * avoid signed/unsigned compilation warning
      
      * fix
      
      * fix
      
      * addressing comments
      
      * whitespace
      
      * moving flush/invalidate out of memmove
      
      * clearnup
      
      * fix
      
      * cosmetic
      
      * rename API
      
      * comment fix
      Thierry Moreau committed
  5. 08 Jul, 2019 1 commit
    • [VTA] TSIM improvements and fixes (#3505) · a31dd162
      * add tsim init function
      
      * add sim device
      
      * test wait and resume
      
      * launch simulation thread from DPILoader
      
      * add VTASimDPI module to handle all simulation related stuff
      
      * test tsim init
      
      * move exit to simdpi module
      
      * update vta driver
      
      * add chisel DPI module
      
      * get back simshell
      
      * update vta to support dpi sim
      
      * update unittests
      
      * add tsim to integration-conv2d test
      
      * run resnet on tsim
      
      * remove max-cycles
      
      * match tsim counters with sim counters
      
      * use env in simulator to switch between sim and tsim
      
      * update unittest
      
      * rollback conv2d test
      
      * update resnet
      
      * add stats to matrix multiply
      
      * add stats
      
      * print stats after assert
      
      * update other tests
      
      * add stats to gemm
      
      * add return and remove unused libs
      
      * add missing arg
      
      * return lib
      
      * update comments for linter
      
      * add more comments to VTASimDPI module
      
      * remove trailing spaces
      
      * remove trailing spaces
      Luis Vega committed
  6. 28 Jun, 2019 1 commit
  7. 04 Jun, 2019 1 commit
    • [Bugfix] [VTA] VTA DRAM Have A Logic Issue May Cause GEMM Output Wrong. (#3278) · 38604d92
      * [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.
      Hua committed
  8. 08 Apr, 2019 1 commit
    • [HEADER] Add Header to Comply with ASF Release Policy (#2982) · cffb4fba
      * [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
      Tianqi Chen committed
  9. 24 Jul, 2018 1 commit
  10. 12 Jul, 2018 3 commits