- 12 Sep, 2019 1 commit
-
-
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
-
- 06 Sep, 2019 1 commit
-
-
Installed through pypi
Jason Knight committed
-
- 21 Aug, 2019 1 commit
-
-
* [Relay][VM]VM debugger * Report mean/min/max for op duration * Typos * Lint * Lint * Lint * Support build debug VM in CMake * Lint * Enable VM debug in unit test * Disable debug vm test until new docker image is built * Add device sync code * Fix qnn unit test * Disable vm debug by default * Rename files * Rename classes * Fix comment * Fix comment
Wei Chen committed
-
- 13 Aug, 2019 1 commit
-
-
* 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
-
- 26 Jul, 2019 1 commit
-
-
* Add USE_GTEST as a CMake variable * Add GTest section in installation docs * Incorporate feedback
Logan Weber committed
-
- 25 Jul, 2019 1 commit
-
-
* 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
-
- 05 Jun, 2019 1 commit
-
-
Luis Vega committed
-
- 09 May, 2019 1 commit
-
-
* Implement the virtual machine Co-Authored-By: wweic <ipondering.weic@gmail.com> * Fix rebase build issues * Reorganize vm.py and fix allocator bug * Remove compiler * Remove tests * Remove backend/vm/vm.cc too * Fix docs * Fix doc * Fix doc * Add vm docs * Remove change to dead_code.cc * Remove Relay logging * Remove reduce * Update include/tvm/runtime/vm.h Co-Authored-By: jroesch <roeschinc@gmail.com> * Reformat * Update include/tvm/runtime/vm.h Co-Authored-By: jroesch <roeschinc@gmail.com> * Address feedback * Update include/tvm/runtime/vm.h Co-Authored-By: jroesch <roeschinc@gmail.com> * Apply suggestions from code review Co-Authored-By: jroesch <roeschinc@gmail.com> * Fix a couple outstanding comments * Last couple comments * Update include/tvm/runtime/vm.h Co-Authored-By: jroesch <roeschinc@gmail.com> * Address code review feedback * Fix final comment * Address comments * Error reporting and example * add Const * Explicitly delete copy assignment operator * Fix rebase * Pass 3rd arg to fusion
Jared Roesch committed
-
- 08 May, 2019 1 commit
-
-
* 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
-
- 28 Mar, 2019 1 commit
-
-
Yao Wang committed
-
- 20 Mar, 2019 1 commit
-
-
Zeno Gantner committed
-
- 02 Dec, 2018 1 commit
-
-
Josh Pollock committed
-
- 24 Sep, 2018 1 commit
-
-
nhynes committed
-
- 11 Aug, 2018 1 commit
-
-
Tianqi Chen committed
-
- 31 Jul, 2018 1 commit
-
-
TABATA, Keiichi committed
-
- 09 Jul, 2018 1 commit
-
-
MORITA Kazutaka committed
-
- 25 Jun, 2018 1 commit
-
-
Tao Lv committed
-
- 13 Jun, 2018 1 commit
-
-
Tianqi Chen committed
-
- 12 Jun, 2018 1 commit
-
-
Tianqi Chen committed
-
- 11 Jun, 2018 1 commit
-
-
Tianqi Chen committed
-