src/te/*.cc
src/autotvm/*.cc
src/tir/*.cc
+ src/topi/*.cc
src/driver/*.cc
src/parser/*.cc
src/printer/*.cc
file(GLOB DATATYPE_SRCS src/target/datatype/*.cc)
list(APPEND COMPILER_SRCS ${DATATYPE_SRCS})
-
-file(GLOB TOPI_SRCS
- src/topi/*.cc
-)
-
file(GLOB RUNTIME_SRCS
src/runtime/*.cc
src/runtime/vm/*.cc
set(CMAKE_CUDA_STANDARD 14)
endif()
-add_library(tvm SHARED ${COMPILER_SRCS} ${RUNTIME_SRCS} ${TOPI_SRCS})
-add_library(tvm_topi SHARED ${TOPI_SRCS})
+add_library(tvm SHARED ${COMPILER_SRCS} ${RUNTIME_SRCS})
add_library(tvm_runtime SHARED ${RUNTIME_SRCS})
if(USE_CPP_RPC)
if(USE_FALLBACK_STL_MAP)
message(STATUS "Building with STL Map...")
set_target_properties(tvm PROPERTIES COMPILE_DEFINITIONS "USE_FALLBACK_STL_MAP=1")
- set_target_properties(tvm_topi PROPERTIES COMPILE_DEFINITIONS "USE_FALLBACK_STL_MAP=1")
else()
message(STATUS "Building with TVM Map...")
set_target_properties(tvm PROPERTIES COMPILE_DEFINITIONS "USE_FALLBACK_STL_MAP=0")
- set_target_properties(tvm_topi PROPERTIES COMPILE_DEFINITIONS "USE_FALLBACK_STL_MAP=0")
endif(USE_FALLBACK_STL_MAP)
if(BUILD_FOR_HEXAGON)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
find_package(Threads REQUIRED)
target_link_libraries(tvm Threads::Threads)
- target_link_libraries(tvm_topi Threads::Threads)
target_link_libraries(tvm_runtime Threads::Threads)
endif()
target_link_libraries(tvm ${TVM_LINKER_LIBS} ${TVM_RUNTIME_LINKER_LIBS})
-target_link_libraries(tvm_topi tvm ${TVM_LINKER_LIBS} ${TVM_RUNTIME_LINKER_LIBS})
target_link_libraries(tvm_runtime ${TVM_RUNTIME_LINKER_LIBS})
if (HIDE_PRIVATE_SYMBOLS AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# but it's not available until CMake 3.13. Switch to 'target_link_options'
# once minimum CMake version is bumped up to 3.13 or above.
target_link_libraries(tvm ${HIDE_SYMBOLS_LINKER_FLAGS})
- target_link_libraries(tvm_topi ${HIDE_SYMBOLS_LINKER_FLAGS})
target_link_libraries(tvm_runtime ${HIDE_SYMBOLS_LINKER_FLAGS})
endif()
# Installation rules
install(TARGETS tvm DESTINATION lib${LIB_SUFFIX})
-install(TARGETS tvm_topi DESTINATION lib${LIB_SUFFIX})
install(TARGETS tvm_runtime DESTINATION lib${LIB_SUFFIX})
if (INSTALL_DEV)
This folder contains various extension projects using TVM,
they also serve as examples on how to use TVM in your own project.
-If you are interested in writing optimized kernels with TVM, checkout [TOPI: TVM Operator Inventory](../topi).
- [extension](extension) How to extend TVM C++ api along with python API.
- [ios_rpc](ios_rpc) iOS RPC server.
One can use `register!` macro to expose a Rust closure with arguments which implement `TryFrom<ArgValue>`
and return types which implement `Into<RetValue>`. Once registered with TVM these functions can be
accessed via Python or C++, or any other language which implements the TVM packed function convention
-see `docs.tvm.ai` for more information.
+see the offcial documentation for more information.
```rust
use tvm_rt::{ArgValue, RetValue};