diff --git a/misc/tvm/Makefile b/misc/tvm/Makefile index e10f213bb4c7..9902257cc330 100644 --- a/misc/tvm/Makefile +++ b/misc/tvm/Makefile @@ -1,38 +1,42 @@ PORTNAME= tvm DISTVERSIONPREFIX= v -DISTVERSION= 0.6.1 +DISTVERSION= 0.9.0 CATEGORIES= misc # machine-learning MAINTAINER= yuri@FreeBSD.org COMMENT= Deep learning compiler stack for cpu, gpu and specialized accelerators LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= dmlc-core>0:devel/dmlc-core \ rang>0:devel/rang +TEST_DEPENDS= googletest>0:devel/googletest -USES= cmake compiler:c++11-lang localbase +USES= cmake:testing compiler:c++11-lang localbase USE_GITHUB= yes -GH_ACCOUNT= apache -GH_PROJECT= incubator-tvm -GH_TUPLE= dmlc:dlpack:0acb731:dlpack/3rdparty/dlpack USE_LDCONFIG= yes +GH_ACCOUNT= apache +GH_PROJECT= tvm +GH_TUPLE= dmlc:dlpack:ddeb264:dlpack/3rdparty/dlpack + +CMAKE_ON= INSTALL_DEV # Install compiler infrastructure (as opposed to runtime-only) CMAKE_ARGS= -DDMLC_PATH=${LOCALBASE}/include -DRANG_PATH=${LOCALBASE}/include +CMAKE_TESTING_TARGET= cpptest -LDFLAGS+= /usr/lib/libexecinfo.so +LDFLAGS+= -lexecinfo -OPTIONS_DEFINE= LLVM COMPILER -OPTIONS_DEFAULT= LLVM COMPILER -OPTIONS_SUB= yes +OPTIONS_DEFINE= LLVM +OPTIONS_DEFAULT= LLVM +LLVM_VERSION= ${LLVM_DEFAULT} LLVM_DESC= With LLVM support for model compilation -LLVM_CMAKE_ON= -DUSE_LLVM=${LOCALBASE}/bin/llvm-config${LLVM_DEFAULT} -LLVM_BUILD_DEPENDS= llvm-config${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} -LLVM_RUN_DEPENDS= llvm-config${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT} +LLVM_CMAKE_ON= -DUSE_LLVM=${LOCALBASE}/bin/llvm-config${LLVM_VERSION} +LLVM_BUILD_DEPENDS= llvm-config${LLVM_VERSION}:devel/llvm${LLVM_VERSION} +LLVM_RUN_DEPENDS= llvm-config${LLVM_VERSION}:devel/llvm${LLVM_VERSION} -COMPILER_DESC= Install compiler infrastructure (as opposed to runtime-only) -COMPILER_CMAKE_BOOL= INSTALL_DEV +post-test: + @cd ${TEST_WRKSRC} && ./cpptest .include diff --git a/misc/tvm/distinfo b/misc/tvm/distinfo index b13765217815..92e4334c5182 100644 --- a/misc/tvm/distinfo +++ b/misc/tvm/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1594921140 -SHA256 (apache-incubator-tvm-v0.6.1_GH0.tar.gz) = e2688526d24242bbf5f3adbc0590b1234c4fd0b7a8f61bd837af6c49e5020713 -SIZE (apache-incubator-tvm-v0.6.1_GH0.tar.gz) = 2984949 -SHA256 (dmlc-dlpack-0acb731_GH0.tar.gz) = e246632ccb182369e78a4028bfd9d3ff8a3507620ba414126fb0e860477248ba -SIZE (dmlc-dlpack-0acb731_GH0.tar.gz) = 39435 +TIMESTAMP = 1658387958 +SHA256 (apache-tvm-v0.9.0_GH0.tar.gz) = bb6de5645095a7f7e2b2551f6dff8d1ca80f095852a6e1c2deeea569a7eb8816 +SIZE (apache-tvm-v0.9.0_GH0.tar.gz) = 7017289 +SHA256 (dmlc-dlpack-ddeb264_GH0.tar.gz) = 87e45c7141f8af012cf4e9829072342df2b568def3ed65f1c9bc5fa4b986e3c8 +SIZE (dmlc-dlpack-ddeb264_GH0.tar.gz) = 39502 diff --git a/misc/tvm/files/patch-CMakeLists.txt b/misc/tvm/files/patch-CMakeLists.txt new file mode 100644 index 000000000000..6e1e86748d58 --- /dev/null +++ b/misc/tvm/files/patch-CMakeLists.txt @@ -0,0 +1,11 @@ +--- CMakeLists.txt.orig 2022-07-21 21:46:05 UTC ++++ CMakeLists.txt +@@ -656,7 +656,7 @@ endif() + + # Create the `cpptest` target if we can find GTest. If not, we create dummy + # targets that give the user an informative error message. +-if(GTEST_FOUND) ++if(BUILD_TESTING AND GTEST_FOUND) + tvm_file_glob(GLOB_RECURSE TEST_SRCS tests/cpp/*.cc) + add_executable(cpptest ${TEST_SRCS}) + # include runtime files for unit testing diff --git a/misc/tvm/files/patch-src_tir_transforms_common__subexpr__elim__tools.h b/misc/tvm/files/patch-src_tir_transforms_common__subexpr__elim__tools.h new file mode 100644 index 000000000000..cf8cae0f0bfa --- /dev/null +++ b/misc/tvm/files/patch-src_tir_transforms_common__subexpr__elim__tools.h @@ -0,0 +1,11 @@ +--- src/tir/transforms/common_subexpr_elim_tools.h.orig 2022-07-21 17:19:38 UTC ++++ src/tir/transforms/common_subexpr_elim_tools.h +@@ -37,7 +37,7 @@ + #include // For pairs datatype + #include + +-#include "../../../3rdparty/dmlc-core/include/dmlc/optional.h" ++#include + + namespace tvm { + namespace tir { diff --git a/misc/tvm/pkg-plist b/misc/tvm/pkg-plist index 398701549dc4..af2927819a7b 100644 --- a/misc/tvm/pkg-plist +++ b/misc/tvm/pkg-plist @@ -1,137 +1,245 @@ -%%COMPILER%%include/dlpack/dlpack.h -%%COMPILER%%include/nnvm/base.h -%%COMPILER%%include/nnvm/c_api.h -%%COMPILER%%include/nnvm/compiler/op_attr_types.h -%%COMPILER%%include/nnvm/compiler/packed_func_ext.h -%%COMPILER%%include/nnvm/compiler/util.h -%%COMPILER%%include/nnvm/graph.h -%%COMPILER%%include/nnvm/graph_attr_types.h -%%COMPILER%%include/nnvm/layout.h -%%COMPILER%%include/nnvm/node.h -%%COMPILER%%include/nnvm/op.h -%%COMPILER%%include/nnvm/op_attr_types.h -%%COMPILER%%include/nnvm/pass.h -%%COMPILER%%include/nnvm/pass_functions.h -%%COMPILER%%include/nnvm/symbolic.h -%%COMPILER%%include/nnvm/top/nn.h -%%COMPILER%%include/nnvm/top/tensor.h -%%COMPILER%%include/nnvm/tuple.h -%%COMPILER%%include/topi/broadcast.h -%%COMPILER%%include/topi/contrib/cublas.h -%%COMPILER%%include/topi/contrib/rocblas.h -%%COMPILER%%include/topi/cuda/dense.h -%%COMPILER%%include/topi/cuda/injective.h -%%COMPILER%%include/topi/cuda/normalization.h -%%COMPILER%%include/topi/cuda/pooling.h -%%COMPILER%%include/topi/cuda/reduction.h -%%COMPILER%%include/topi/cuda/softmax.h -%%COMPILER%%include/topi/detail/array_utils.h -%%COMPILER%%include/topi/detail/broadcast.h -%%COMPILER%%include/topi/detail/constant_utils.h -%%COMPILER%%include/topi/detail/extern.h -%%COMPILER%%include/topi/detail/fuse.h -%%COMPILER%%include/topi/detail/pad_utils.h -%%COMPILER%%include/topi/detail/ravel_unravel.h -%%COMPILER%%include/topi/elemwise.h -%%COMPILER%%include/topi/generic/default.h -%%COMPILER%%include/topi/generic/extern.h -%%COMPILER%%include/topi/generic/injective.h -%%COMPILER%%include/topi/image/resize.h -%%COMPILER%%include/topi/nn.h -%%COMPILER%%include/topi/nn/batch_matmul.h -%%COMPILER%%include/topi/nn/bias_add.h -%%COMPILER%%include/topi/nn/bnn.h -%%COMPILER%%include/topi/nn/dense.h -%%COMPILER%%include/topi/nn/dilate.h -%%COMPILER%%include/topi/nn/flatten.h -%%COMPILER%%include/topi/nn/l2_normalize.h -%%COMPILER%%include/topi/nn/local_response_norm.h -%%COMPILER%%include/topi/nn/mapping.h -%%COMPILER%%include/topi/nn/pooling.h -%%COMPILER%%include/topi/nn/softmax.h -%%COMPILER%%include/topi/nn/upsampling.h -%%COMPILER%%include/topi/reduction.h -%%COMPILER%%include/topi/rocm/dense.h -%%COMPILER%%include/topi/rocm/normalization.h -%%COMPILER%%include/topi/tags.h -%%COMPILER%%include/topi/transform.h -%%COMPILER%%include/topi/vision/reorg.h -%%COMPILER%%include/topi/x86/bnn.h -%%COMPILER%%include/topi/x86/default.h -%%COMPILER%%include/topi/x86/injective.h -%%COMPILER%%include/tvm/api_registry.h -%%COMPILER%%include/tvm/arithmetic.h -%%COMPILER%%include/tvm/attrs.h -%%COMPILER%%include/tvm/base.h -%%COMPILER%%include/tvm/buffer.h -%%COMPILER%%include/tvm/build_module.h -%%COMPILER%%include/tvm/channel.h -%%COMPILER%%include/tvm/codegen.h -%%COMPILER%%include/tvm/data_layout.h -%%COMPILER%%include/tvm/dtype.h -%%COMPILER%%include/tvm/expr.h -%%COMPILER%%include/tvm/expr_operator.h -%%COMPILER%%include/tvm/ir.h -%%COMPILER%%include/tvm/ir_functor_ext.h -%%COMPILER%%include/tvm/ir_mutator.h -%%COMPILER%%include/tvm/ir_pass.h -%%COMPILER%%include/tvm/ir_visitor.h -%%COMPILER%%include/tvm/logging.h -%%COMPILER%%include/tvm/lowered_func.h -%%COMPILER%%include/tvm/node/container.h -%%COMPILER%%include/tvm/node/functor.h -%%COMPILER%%include/tvm/node/node.h -%%COMPILER%%include/tvm/node/reflection.h -%%COMPILER%%include/tvm/node/serialization.h -%%COMPILER%%include/tvm/operation.h -%%COMPILER%%include/tvm/packed_func_ext.h -%%COMPILER%%include/tvm/relay/adt.h -%%COMPILER%%include/tvm/relay/analysis.h -%%COMPILER%%include/tvm/relay/attrs/algorithm.h -%%COMPILER%%include/tvm/relay/attrs/annotation.h -%%COMPILER%%include/tvm/relay/attrs/bitserial.h -%%COMPILER%%include/tvm/relay/attrs/debug.h -%%COMPILER%%include/tvm/relay/attrs/device_copy.h -%%COMPILER%%include/tvm/relay/attrs/image.h -%%COMPILER%%include/tvm/relay/attrs/memory.h -%%COMPILER%%include/tvm/relay/attrs/nn.h -%%COMPILER%%include/tvm/relay/attrs/reduce.h -%%COMPILER%%include/tvm/relay/attrs/transform.h -%%COMPILER%%include/tvm/relay/attrs/vision.h -%%COMPILER%%include/tvm/relay/base.h -%%COMPILER%%include/tvm/relay/error.h -%%COMPILER%%include/tvm/relay/expr.h -%%COMPILER%%include/tvm/relay/expr_functor.h -%%COMPILER%%include/tvm/relay/feature.h -%%COMPILER%%include/tvm/relay/interpreter.h -%%COMPILER%%include/tvm/relay/module.h -%%COMPILER%%include/tvm/relay/op.h -%%COMPILER%%include/tvm/relay/op_attr_types.h -%%COMPILER%%include/tvm/relay/pattern_functor.h -%%COMPILER%%include/tvm/relay/qnn/attrs.h -%%COMPILER%%include/tvm/relay/qnn/transform.h -%%COMPILER%%include/tvm/relay/transform.h -%%COMPILER%%include/tvm/relay/type.h +include/dlpack/dlpack.h +include/tvm/arith/analyzer.h +include/tvm/arith/bound.h +include/tvm/arith/int_set.h +include/tvm/arith/int_solver.h +include/tvm/arith/iter_affine_map.h +include/tvm/arith/pattern.h +include/tvm/auto_scheduler/auto_schedule.h +include/tvm/auto_scheduler/compute_dag.h +include/tvm/auto_scheduler/cost_model.h +include/tvm/auto_scheduler/feature.h +include/tvm/auto_scheduler/loop_state.h +include/tvm/auto_scheduler/measure.h +include/tvm/auto_scheduler/measure_record.h +include/tvm/auto_scheduler/search_policy.h +include/tvm/auto_scheduler/search_task.h +include/tvm/auto_scheduler/transform_step.h +include/tvm/driver/driver_api.h +include/tvm/ir/adt.h +include/tvm/ir/affine_type.h +include/tvm/ir/attrs.h +include/tvm/ir/diagnostic.h +include/tvm/ir/env_func.h +include/tvm/ir/error.h +include/tvm/ir/expr.h +include/tvm/ir/function.h +include/tvm/ir/instrument.h +include/tvm/ir/memory_pools.h +include/tvm/ir/module.h +include/tvm/ir/op.h +include/tvm/ir/span.h +include/tvm/ir/tensor_type.h +include/tvm/ir/transform.h +include/tvm/ir/type.h +include/tvm/ir/type_functor.h +include/tvm/ir/type_relation.h +include/tvm/meta_schedule/apply_history_best.h +include/tvm/meta_schedule/arg_info.h +include/tvm/meta_schedule/builder.h +include/tvm/meta_schedule/cost_model.h +include/tvm/meta_schedule/database.h +include/tvm/meta_schedule/extracted_task.h +include/tvm/meta_schedule/feature_extractor.h +include/tvm/meta_schedule/measure_callback.h +include/tvm/meta_schedule/measure_candidate.h +include/tvm/meta_schedule/mutator.h +include/tvm/meta_schedule/postproc.h +include/tvm/meta_schedule/profiler.h +include/tvm/meta_schedule/runner.h +include/tvm/meta_schedule/schedule_rule.h +include/tvm/meta_schedule/search_strategy.h +include/tvm/meta_schedule/space_generator.h +include/tvm/meta_schedule/task_scheduler.h +include/tvm/meta_schedule/tune_context.h +include/tvm/node/attr_registry_map.h +include/tvm/node/functor.h +include/tvm/node/node.h +include/tvm/node/reflection.h +include/tvm/node/repr_printer.h +include/tvm/node/serialization.h +include/tvm/node/structural_equal.h +include/tvm/node/structural_hash.h +include/tvm/parser/parser.h +include/tvm/parser/source_map.h +include/tvm/relay/adt.h +include/tvm/relay/analysis.h +include/tvm/relay/attrs/algorithm.h +include/tvm/relay/attrs/annotation.h +include/tvm/relay/attrs/bitserial.h +include/tvm/relay/attrs/call.h +include/tvm/relay/attrs/debug.h +include/tvm/relay/attrs/device_copy.h +include/tvm/relay/attrs/image.h +include/tvm/relay/attrs/memory.h +include/tvm/relay/attrs/nn.h +include/tvm/relay/attrs/on_device.h +include/tvm/relay/attrs/random.h +include/tvm/relay/attrs/reduce.h +include/tvm/relay/attrs/transform.h +include/tvm/relay/attrs/vision.h +include/tvm/relay/attrs/vm.h +include/tvm/relay/base.h +include/tvm/relay/dataflow_matcher.h +include/tvm/relay/dataflow_pattern.h +include/tvm/relay/dataflow_pattern_functor.h +include/tvm/relay/executor.h +include/tvm/relay/expr.h +include/tvm/relay/expr_functor.h +include/tvm/relay/feature.h +include/tvm/relay/function.h +include/tvm/relay/interpreter.h +include/tvm/relay/op.h +include/tvm/relay/op_attr_types.h +include/tvm/relay/op_strategy.h +include/tvm/relay/pattern_functor.h +include/tvm/relay/qnn/attrs.h +include/tvm/relay/qnn/transform.h +include/tvm/relay/runtime.h +include/tvm/relay/transform.h +include/tvm/relay/type.h +include/tvm/runtime/builtin_fp16.h include/tvm/runtime/c_backend_api.h include/tvm/runtime/c_runtime_api.h +include/tvm/runtime/container/adt.h +include/tvm/runtime/container/array.h +include/tvm/runtime/container/base.h +include/tvm/runtime/container/closure.h +include/tvm/runtime/container/map.h +include/tvm/runtime/container/optional.h +include/tvm/runtime/container/shape_tuple.h +include/tvm/runtime/container/string.h +include/tvm/runtime/contrib/libtorch_runtime.h +include/tvm/runtime/contrib/papi.h +include/tvm/runtime/crt/aot_executor.h +include/tvm/runtime/crt/aot_executor_module.h +include/tvm/runtime/crt/crt.h +include/tvm/runtime/crt/error_codes.h +include/tvm/runtime/crt/func_registry.h +include/tvm/runtime/crt/graph_executor.h +include/tvm/runtime/crt/graph_executor_module.h +include/tvm/runtime/crt/logging.h +include/tvm/runtime/crt/microtvm_rpc_server.h +include/tvm/runtime/crt/module.h +include/tvm/runtime/crt/packed_func.h +include/tvm/runtime/crt/page_allocator.h +include/tvm/runtime/crt/platform.h +include/tvm/runtime/crt/rpc_common/frame_buffer.h +include/tvm/runtime/crt/rpc_common/framing.h +include/tvm/runtime/crt/rpc_common/session.h +include/tvm/runtime/crt/rpc_common/write_stream.h +include/tvm/runtime/crt/stack_allocator.h +include/tvm/runtime/data_type.h +include/tvm/runtime/debug.h include/tvm/runtime/device_api.h +include/tvm/runtime/executor_info.h +include/tvm/runtime/logging.h include/tvm/runtime/memory.h -include/tvm/runtime/micro/standalone/utvm_runtime.h +include/tvm/runtime/metadata.h +include/tvm/runtime/metadata_base.h +include/tvm/runtime/metadata_types.h +include/tvm/runtime/micro/standalone/microtvm_runtime.h include/tvm/runtime/module.h include/tvm/runtime/ndarray.h include/tvm/runtime/object.h include/tvm/runtime/packed_func.h +include/tvm/runtime/profiling.h include/tvm/runtime/registry.h include/tvm/runtime/serializer.h include/tvm/runtime/threading_backend.h -include/tvm/runtime/util.h -include/tvm/runtime/vm.h -%%COMPILER%%include/tvm/schedule.h -%%COMPILER%%include/tvm/schedule_pass.h -%%COMPILER%%include/tvm/target_info.h -%%COMPILER%%include/tvm/tensor.h -%%COMPILER%%include/tvm/tensor_intrin.h -lib/libnnvm_compiler.so +include/tvm/runtime/vm/bytecode.h +include/tvm/runtime/vm/executable.h +include/tvm/runtime/vm/memory_manager.h +include/tvm/runtime/vm/vm.h +include/tvm/support/parallel_for.h +include/tvm/support/random_engine.h +include/tvm/support/span.h +include/tvm/support/with.h +include/tvm/target/codegen.h +include/tvm/target/compilation_config.h +include/tvm/target/generic_func.h +include/tvm/target/tag.h +include/tvm/target/target.h +include/tvm/target/target_info.h +include/tvm/target/target_kind.h +include/tvm/target/virtual_device.h +include/tvm/te/autodiff.h +include/tvm/te/operation.h +include/tvm/te/schedule.h +include/tvm/te/schedule_pass.h +include/tvm/te/tensor.h +include/tvm/te/tensor_intrin.h +include/tvm/tir/analysis.h +include/tvm/tir/buffer.h +include/tvm/tir/builtin.h +include/tvm/tir/data_layout.h +include/tvm/tir/expr.h +include/tvm/tir/expr_functor.h +include/tvm/tir/function.h +include/tvm/tir/index_map.h +include/tvm/tir/op.h +include/tvm/tir/op_attr_types.h +include/tvm/tir/schedule/block_scope.h +include/tvm/tir/schedule/instruction.h +include/tvm/tir/schedule/schedule.h +include/tvm/tir/schedule/state.h +include/tvm/tir/schedule/trace.h +include/tvm/tir/stmt.h +include/tvm/tir/stmt_functor.h +include/tvm/tir/transform.h +include/tvm/tir/usmp/algo/greedy.h +include/tvm/tir/usmp/algorithms.h +include/tvm/tir/usmp/analysis.h +include/tvm/tir/usmp/transform.h +include/tvm/tir/usmp/utils.h +include/tvm/tir/var.h +include/tvm/topi/broadcast.h +include/tvm/topi/contrib/cublas.h +include/tvm/topi/contrib/rocblas.h +include/tvm/topi/cuda/dense.h +include/tvm/topi/cuda/injective.h +include/tvm/topi/cuda/pooling.h +include/tvm/topi/cuda/reduction.h +include/tvm/topi/cuda/softmax.h +include/tvm/topi/detail/array_utils.h +include/tvm/topi/detail/broadcast.h +include/tvm/topi/detail/constant_utils.h +include/tvm/topi/detail/extern.h +include/tvm/topi/detail/fuse.h +include/tvm/topi/detail/pad_utils.h +include/tvm/topi/detail/ravel_unravel.h +include/tvm/topi/detail/strided_slice.h +include/tvm/topi/detail/tensor_utils.h +include/tvm/topi/einsum.h +include/tvm/topi/elemwise.h +include/tvm/topi/generic/default.h +include/tvm/topi/generic/extern.h +include/tvm/topi/generic/injective.h +include/tvm/topi/nn.h +include/tvm/topi/nn/bias_add.h +include/tvm/topi/nn/bnn.h +include/tvm/topi/nn/dense.h +include/tvm/topi/nn/dilate.h +include/tvm/topi/nn/flatten.h +include/tvm/topi/nn/local_response_norm.h +include/tvm/topi/nn/mapping.h +include/tvm/topi/nn/pooling.h +include/tvm/topi/nn/softmax.h +include/tvm/topi/reduction.h +include/tvm/topi/rocm/dense.h +include/tvm/topi/rocm/injective.h +include/tvm/topi/rocm/pooling.h +include/tvm/topi/rocm/reduction.h +include/tvm/topi/rocm/softmax.h +include/tvm/topi/tags.h +include/tvm/topi/transform.h +include/tvm/topi/utils.h +include/tvm/topi/vision/reorg.h +include/tvm/topi/x86/bnn.h +include/tvm/topi/x86/default.h +include/tvm/topi/x86/injective.h +lib/cmake/tvm/tvmConfig.cmake +lib/cmake/tvm/tvmTargets-%%CMAKE_BUILD_TYPE%%.cmake +lib/cmake/tvm/tvmTargets.cmake lib/libtvm.so lib/libtvm_runtime.so -lib/libtvm_topi.so