1. 15 Nov, 2019 1 commit
  2. 31 Oct, 2019 1 commit
  3. 27 Oct, 2019 1 commit
  4. 24 Oct, 2019 1 commit
  5. 20 Oct, 2019 1 commit
  6. 08 Oct, 2019 1 commit
    • [VTA] hotfix for de10-nano driver (#4081) · be869546
      Issue:
      git clone latest TVM/VTA and run VTA on xilinx FPGA board, application
      crashed due to the "call stack overflow" which caused by a infinite recursive
      function call. this issue ever happen before and get addressed by PR 3843.
      
      Analysis:
      seems like de10-nano driver PR  used old code base then the  logic change
      of 3843 get eliminated.
      
      Solution:
      add the logic back.
      Hua Jiang committed
  7. 13 Sep, 2019 1 commit
  8. 12 Sep, 2019 1 commit
    • [RFC] [Contrib] Minimal runtime (~12kb .text on ARMv7/x86) for subset of TVM models (#3567) · 1de52bb0
      This is an alternative implementation of a subset of the TVM runtime API (and
      graph runtime) that focuses entirely on reducing code size, at the expense of
      functionality (no tvm.extern(..) calls via PackedFunc, CPU only, etc). It might
      be worth incrementally expanding the surface area if there's interest.
      
      The motivation for this work was seeing what the minimal useful subset of the
      TVM runtime is. This is relevant for e.g. super code-size constrained
      applications in e.g. embedded/mobile. The current runtime is more like O(100KiB)
      or so, so this might be compelling for some users.
      
      The smaller surface area for auditing might make this relevant for
      https://github.com/dmlc/tvm/issues/3159, or the usecases I was thinking about in
      https://github.com/dmlc/tvm/issues/2523#issuecomment-459165815 re: the Rust
      runtime.
      
      The symbols in the tvm::minimalruntime space (i.e. excluding std:: and
      picojson::) are about 5KiB, so I think there's a bunch of room here (i.e. we
      could replace picojson:: with [`jsmn`](https://zserge.com/jsmn.html) or
      something, and we could replace more of the `std::unordered_map` usage, etc with
      custom primitives as well (similar to the `DynArray`).
      Andrew Tulloch committed
  9. 07 Sep, 2019 2 commits
    • [Fix] Fix blas cmake for mac os (#3898) · 7a15aedf
      * fix cmake for mac os
      
      * rename
      Haichen Shen committed
    • [VTA] Support TLPP in function simulator. (#3555) · 50c4546f
      * [VTA] Support TLPP in function simulator.
      Issue:
      currently vta function simulator just doing serialized instruction
      execution, the dependency logic of runtime ISA which use for task
      level pipe line parallelism can not get verified by function simulator.
      
      Solution:
      make the simulator driver to be multiple thread and support TLPP.
      
      Benefit:
      TLPP support VTA function simulator would make VTA logic testing/debug
      /change more easy.
      
      replace boost lockfree queue
      
      add configure control for simulator tlpp enable or disable.
      
      change code tyle into google style.
      
      Wrap queue read/write and sync logic to make function call more simple.
      
      Add some comments.
      
      Remove MT logic, change into Single thread mode.
      
      address review comments.
      
      code style change to match google code style and add comments.
      
      add cmake macro to enable/disable simulator tlpp logic.
      
      submodule update.
      
      correct file name mentioned in comments.
      
      * remove USE_VTA_FSIM_TLPP.
      Hua Jiang committed
  10. 06 Sep, 2019 1 commit
  11. 05 Sep, 2019 1 commit
  12. 02 Sep, 2019 1 commit
  13. 29 Aug, 2019 2 commits
  14. 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
  15. 13 Aug, 2019 1 commit
    • [VTA][TSIM][Build] Towards TSIM CI testing (#3704) · e518fe1c
      * building TSIM specific library along with fast simulator to quickly switch between dlls
      
      * cmake controlled TSIM libraries
      
      * always build tsim driver in either simulation modes
      
      * build DLLs based on CMAKE flags
      
      * updating the jenkinsfile
      
      * small restructuring
      
      * reducing the cmake flags
      
      * update instructions
      
      * reverting to 3 flags
      
      * update Jenkinsfile
      
      * adding new line
      
      * enabling TSIM unit and integration tests
      
      * fix description
      
      * temporarily disabling task_python_vta tests in CPU Build stage
      
      * move CPU tests in unit test stage
      
      * stage  reorg
      
      * better make
      
      * disabling TSIM tests for now
      
      * reverting some restructuring
      
      * fix
      Thierry Moreau committed
  16. 29 Jul, 2019 2 commits
    • [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
  17. 25 Jul, 2019 1 commit
    • Implementation of uTVM (#3227) · ef909df1
      * uTVM interfaces (#14)
      
      * some minor interface changes
      
      * implemented HostLowLevelDevice
      
      * added MicroDeviceAPI
      
      * implemented micro_common and added Python interfaces
      
      * current status, semi implemented micro session
      
      * added micro_common implementation and python interfaces (#18)
      
      * added micro_common implementation and python interfaces (#18)
      
      * current status, semi implemented
      
      * host test working
      
      * updated interfaces for MicroSession arguments allocation
      
      * make somewhat lint compatible
      
      * fix based on comments
      
      * added rounding macro
      
      * fix minor bug
      
      * improvements based on comments
      
      * Clean up `binutil.py` and make Python-3-compatible
      
      * Change argument allocation design
      
      * Address feedback and lint errors
      
      * Improve binutil tests
      
      * Simplify allocator (per @tqchen's suggestions)
      
      * Doc/style fixes
      
      * farts
      
      * mcgee
      
      * rodata section werks
      
      (and so does `test_runtime_micro_workspace.py`)
      
      * simple graph runtime werk
      
      * TEMP
      
      * ResNet works, yo
      
      * First round of cleanup
      
      * More cleanup
      
      * runs a dyson over the code
      
      * Another pass
      
      * Fix `make lint` issues
      
      * ready to pr... probably
      
      * final
      
      * Undo change
      
      * Fix rebase resolution
      
      * Minor fixes
      
      * Undo changes to C codegen tests
      
      * Add `obj_path` in `create_micro_lib`
      
      * TEMP
      
      * Address feedback
      
      * Add missing TODO
      
      * Partially address feedback
      
      * Fix headers
      
      * Switch to enum class for `SectionKind`
      
      * Add missing ASF header
      
      * Fix lint
      
      * Fix lint again
      
      * Fix lint
      
      * Kill lint warnings
      
      * Address feedback
      
      * Change Python interface to MicroTVM
      
      All interaction with the device is now through `Session` objects, which
      are used through Python's `with` blocks.
      
      * Reorder LowLevelDevice interface
      
      * Store shared ptr to session in all alloced objects
      
      * Move helper functions out of `tvm.micro`
      
      * Switch static char arr to vector
      
      * Improve general infra and code quality
      
      Does not yet address all of tqchen's feedback
      
      * Forgot a rename
      
      * Fix lint
      
      * Add ASF header
      
      * Fix lint
      
      * Partially address MarisaKirisame's feedback
      
      * Lint
      
      * Expose `MicroSession` as a node to Python
      
      * Revert to using `Session` constructor
      
      * Fix compiler error
      
      * (Maybe) fix CI error
      
      * Debugging
      
      * Remove
      
      * Quell lint
      
      * Switch to stack-based session contexts
      
      * Make uTVM less intrusive to host codegen
      
      And use SSA for operands of generated ternary operators
      
      * Inline UTVMArgs into UTVMTask struct
      
      * Remove `HostLowLevelDevice` header
      
      * Remove `BaseAddr` class
      
      * Address feedback
      
      * Add "utvm" prefix to global vars in runtime
      
      * Fix lint
      
      * Fix CI
      
      * Fix `test_binutil.py`
      
      * Fix submodules
      
      * Remove ResNet tests
      
      * Make `test_binutil.py` work with nose
      
      * Fix CI
      
      * I swear this actually fixes the binutil tests
      
      * lint
      
      * lint
      
      * Add fcompile-compatible cross-compile func
      
      * Add docs for uTVM runtime files
      
      * Move pointer patching into `MicroSession`
      
      * Fix lint
      
      * First attempt at unifying cross-compile APIs
      
      * Fix lint
      
      * Rename `cross_compile` back to `cc`
      
      * Address feedback
      
      * Remove commented code
      
      * Lint
      
      * Figure out failing function
      
      * Remove debugging code
      
      * Change "micro_dev" target to "micro"
      
      * Add checks in tests for whether uTVM is enabled
      
      * Add TODO for 32-bit support
      
      * Rename more "micro_dev" to "micro"
      
      * Undo rename
      
      We already have `tvm.micro` as a namespace.  Can't have it as a method
      as well.
      
      * Fix failing CI
      
      Thanks to @tqchen for finding this bug.  Emitting ternary operators for
      `min` and `max` causes concurrency bugs in CUDA, so we're moving the
      ternary op emissions from `CodeGenC` to `CodeGenCHost`.
      
      * Address feedback
      
      * Fix lint
      Logan Weber committed
  18. 09 Jul, 2019 1 commit
  19. 28 Jun, 2019 1 commit
  20. 05 Jun, 2019 1 commit
  21. 01 Jun, 2019 1 commit
    • [Bugfix][VTA] PkgConfig cause crash in PYNQ board due to link library (#3257) · f6acf2e5
      * [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.
      Hua committed
  22. 21 May, 2019 1 commit
  23. 08 May, 2019 1 commit
    • [RFC] [VTA] [TSIM] Enabling Cycle-Accurate Hardware Simulation for VTA #3009 (#3010) · a6d04b8d
      * 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
      Luis Vega committed
  24. 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
  25. 27 Mar, 2019 1 commit
  26. 23 Mar, 2019 1 commit
  27. 13 Feb, 2019 1 commit
    • [Hybrid script] Backend support (#2477) · c53dd102
      * a preliminary version is done?
      
      * we no longer need the redundant hybrid/api.py
      
      * support assert stmt
      
      * cast supported
      
      * intrin -> runtime; util is mainly in charge of compilation time
      
      * assert statement
      
      * fix python lint
      
      * fix cpp lint
      
      * on the way to module
      
      * rollback .cc
      
      * fix typo, no direct expose then
      
      * @vinx13 ceil is added i guess?
      
      * wip...
      
      * temp commit
      
      * fix import
      
      * i preliminary version is done?
      
      * on the way to build hybrid module
      
      * nearly fixed...
      
      * dumped python are equiv as original python
      
      * on the way to bootstrap
      
      * cpu bootstrap done
      
      * bootstrap!
      
      * fix lint
      
      * fix doc
      
      * resolve some review concerns
      
      * support load/save
      
      * fix lint
      
      * thanks to xqdan fixed my typo
      
      * fix build, make dump non-optional
      
      * add vthread
      
      * jesus why i added this
      Jian Weng committed
  28. 17 Jan, 2019 1 commit
  29. 02 Dec, 2018 1 commit
  30. 10 Nov, 2018 1 commit
  31. 21 Oct, 2018 1 commit
  32. 06 Oct, 2018 1 commit
  33. 28 Sep, 2018 1 commit
  34. 24 Sep, 2018 1 commit
  35. 31 Jul, 2018 1 commit
  36. 15 Jul, 2018 1 commit
  37. 12 Jul, 2018 1 commit