1. 20 Mar, 2020 1 commit
    • [TIR][TARGET] Refactor Target codegen to use IRModule and PrimFunc. (#5107) · 841725cc
      As part of the unified IR refactor.
      This PR refactors the target codegen to use IRModule containing tir::PrimFuncs.
      
      In order to break the refactor into several steps without breaking the codebase,
      we built an conversion pass to convert Array<LoweredFunc> into IRModule.
      
      The follow-up refactors will gradually move the passes covered by IRModule up
      until we cover all the passes. Then we can remove the additional redundant
      concepts such as LoweredFunc.
      Tianqi Chen committed
  2. 10 Mar, 2020 1 commit
    • Revive the Rust + SGX refactor (#4976) · 41e1d5f9
      * Add Nick's changes's squashed
      
      * Fix frontend compilation
      
      * Re-enable Rust CI
      
      * Add changes with conflicted badly
      
      * Restructure import_module! macro in order to avoid unstable features
      
      * Kill old unstable feature enablement
      
      * Refactor common to use new APIs
      
      * Move the code to stable
      
      * Fix warning
      
      Co-authored-by: Nick Hynes <nhynes@oasislabs.com>
      Jared Roesch committed
  3. 07 Feb, 2020 1 commit
    • [REFACTOR][PY][API-Change] Polish tvm.runtime, tvm.runtime.module API update (#4837) · e0122c0e
      * [REFACTOR][PY-API] Polish tvm.runtime, tvm.runtime.module API update
      
      This PR updates the tvm.runtime to use the new FFI style.
      
      - Remove top-level tvm.module to avoid confusion between runtime.Module and IRModule
      - API changes wrt to runtime.Module
        - tvm.module.load -> tvm.runtime.load_module
        - tvm.module.enabled -> tvm.runtime.enabled
        - tvm.module.system_lib -> tvm.runtime.system_lib
      - Remove dep on api_internal from runtime.
      
      * Update module.load in the latest API
      Tianqi Chen committed
  4. 09 Jan, 2020 1 commit
  5. 24 Dec, 2019 1 commit
  6. 22 Dec, 2019 1 commit
  7. 11 Nov, 2019 1 commit
  8. 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
  9. 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
  10. 23 Aug, 2018 1 commit
  11. 09 Jul, 2018 1 commit
  12. 26 Jun, 2018 1 commit
  13. 11 May, 2018 1 commit
  14. 27 Feb, 2018 1 commit
    • TVM SGX (#919) · f4b063e9
      * Update DMLC core most recent version
      
      * Modify runtime to minimize io when building for SGX
      
      * Add SGX example app
      
      * Prefer streaming versions of packed_func function
      nhynes committed
  15. 23 Feb, 2018 3 commits
  16. 02 Feb, 2018 1 commit
  17. 20 Jan, 2018 1 commit
  18. 13 Sep, 2017 1 commit
    • [BACKEND] initial llvm codegen for amdgpu (#402) · 891e226b
      * added initial llvm codegen for amdgpu
      
      * fixed whitespace
      
      * fixed hsaco gen from ir
      
      * fixed targetmachine for rocm and added GetSource for rocm
      
      * fixed whitespace issues
      
      * changed statement to use less than 100 lines
      
      * added intrinsics for workgroup - rocm
      
      * whitespace - newline error fix
      
      * fixed error msg for workitem-workgroup intrinsics
      
      * added llvm ir dump for rocm codegen
      
      * [ROCM] changed codegen to emit proper amdgpu kernel header
      
      * fixed whitespace error
      
      * fixed whitespace error- 2
      
      * fixed AddFunction to not to use extra arg
      
      1. Changed AddFunctionInternal to not to take extra arg for target type
      2. Use Target from CodeGenLLVM to check for AMDGPU target
      
      * fixed whitespaces
      
      * fixed whitespaces 2
      
      * fixed codegen for AMDGPU - now generating valid IR
      
      * fixed codegen depending on code review
      
      * reviewed alignment for amd devices
      
      * added code to dump code object to file
      
      * fixed cpplint errors
      
      * print out IR after pass manager
      
      * added code to dump asm, obj to file and std string
      
      * fixed whitespaces
      
      * Update codegen_amdgpu.cc
      
      * used registry for amdgpu llvm
      
      * Fixed whitespaces
      
      * added code for calling linker
      
      * fixed formatting errors
      
      * added rocm link python interface
      
      * fixed pylint issues and added more body to the function
      
      * added doc string
      
      * added doc string for module
      
      * fixed python code after review, fixed llvm object codegen
      
      * fixed linker to generate code object
      
      * removed dumping to output file and debugging log out
      
      * fixed lint for python code
      
      * added fault check after running linker
      
      * removed print statement in rocm.py
      
      * changed rocm lld linker to raise runtimeerror than emitting error log to stderr
      
      * changed the way linker command line is pass to subprocess.popen
      
      * removed redundant code and reuse tvm utils
      
      * removed commented out code
      
      * removed cloning of unused modules, and put IR into string
      Aditya Atluri committed
  19. 11 Sep, 2017 1 commit
  20. 28 Aug, 2017 1 commit
  21. 11 Jul, 2017 1 commit
  22. 07 Jul, 2017 1 commit
  23. 06 Jun, 2017 1 commit
  24. 20 May, 2017 1 commit
  25. 02 May, 2017 1 commit
  26. 21 Apr, 2017 1 commit
  27. 16 Apr, 2017 1 commit
  28. 27 Feb, 2017 1 commit
  29. 26 Feb, 2017 1 commit
  30. 24 Feb, 2017 1 commit