profile
viewpoint
Tianqi Chen tqchen OctoML https://tqchen.com/ Large scale Machine Learning

tqchen/tinyflow 1566

Tutorial code on how to build your own Deep Learning System in 2k Lines

tqchen/xgboost 472

https://github.com/dmlc/xgboost

tqchen/mxnet-gan 212

MultiGPU enabled image generative models (GAN and DCGAN)

dmlc/mxnet-gtc-tutorial 134

MXNet Tutorial for NVidia GTC 2016.

tqchen/ML-SGHMC 77

Experiment code for Stochastic Gradient Hamiltonian Monte Carlo

szha/mxnet-fold 54

Dynamic Batching with MXNet Gluon

tqchen/mshadow 29

Matrix Shadow:Lightweight CPU/GPU Matrix and Tensor Template Library in C++/CUDA for (Deep) Machine Learning

tqchen/yarn-ec2 28

Quickly start YARN cluster on EC2

hetong007/higgsml 21

Repository for post higgs-competition model submission

push eventapache/incubator-tvm

Neo Chien

commit sha 8290eabafb22a8a54249165ce09dd31ff1f31c7c

[TEST][FLAKY] topi/tests/python/test_topi_sort.py::test_argsort (#4891) * [TEST][FLAKY] topi/tests/python/test_topi_sort.py::test_argsort * upadate test function of argsort like topk * Shuffle index and get data from shuffled index * Replace the random.uniform with np.arange

view details

push time in 3 days

PR merged apache/incubator-tvm

[TEST][FLAKY] topi/tests/python/test_topi_sort.py::test_argsort status: need update

Hi @tqchen ,

Following issue #4860 , I sort the array and then shuffle it, I would appreciate if you can give some suggestions/review for this PR, thank you.

+31 -7

4 comments

1 changed file

cchung100m

pr closed time in 3 days

pull request commentapache/incubator-tvm

[Relay][AutoTVM] Relay op strategy

Will let @merrymercy manage this PR

icemelon9

comment created time in 3 days

issue commentapache/incubator-tvm

Emscripten Runtime Error while linking

Sorry, the corresponding thread is here https://github.com/apache/incubator-tvm/issues/2425

videetparekh

comment created time in 4 days

delete branch tqchen/tvm

delete branch : linker

delete time in 4 days

create barnchtqchen/tvm

branch : linker

created branch time in 4 days

PR opened apache/incubator-tvm

[COMMUNITY] @anijain2305 -> Committer

Please join us to welcome @anijain2305 as a committer. He mainly works on the area of pre-quantized model support and helped to drive high quality code to the codebase.

+1 -0

0 comment

1 changed file

pr created time in 4 days

push eventtqchen/tvm

Tianqi Chen

commit sha 55d819252852d107b9d9a31224666c7032b9cf89

[REFACTOR] top->te (#4759) Bring up namespace te -- Tensor expression language DSL.

view details

Tianqi Chen

commit sha 1d40dc0f505cd4991b6075c86dbd65a63c561c29

[INFO] Add .asf.yaml for github info (#4761)

view details

Cody Yu

commit sha dcb556da605900ecc17534c83eea8fd6f47020e8

[Docs] Bring Your Own Codegen Guide -- Part 2 (#4718) * BYOC Tutorial -- part 2 * Fix comments * Address comments

view details

Tianqi Chen

commit sha fc1a1d83691f7229e25a37befdcd3ad9c3d430b3

[REFACTOR] driver.h -> driver_api.h (#4760) "driver" normally refers to the "main" function. Rationale: the header exposes set of APIs to drive compilation and should be named as driver api to best reflect its usage.

view details

Alexander Pivovarov

commit sha 4dbe4d98c115e6aa6a8d2fd29e50a79dd68f83a3

Fix padding in pooling op (#4738)

view details

Alexander Pivovarov

commit sha cf3e7865ecfd7ba398f86b887d9d6f75cf0714b0

Remove run_infer_type duplicates (#4766)

view details

Alex Gladkov

commit sha 4f92cfe5e2f1524285d4111753ad0e24ebc4e318

Improve CUDA conv2d_transpose_nchw (#4762) - combine pad and dilate; - fix for the issue https://discuss.tvm.ai/t/compile-error-for-cuda-target/4164 - fix for the issue https://github.com/apache/incubator-tvm/pull/4472

view details

Alexander Pivovarov

commit sha 23ba37d4650236b57a2869fe966504810ea11101

pooling.cc improvements (#4767)

view details

Hua Jiang

commit sha b9328d02c098bcbd75f852496904404382f13854

[VTA] Support network which have no unique operator as start/stop name for graph pack. (#4703) * [VTA] Support network which have no unique operator as start/stop name for graph pack. [Issue] Current vta use 'start' and 'stop' name to define the pack start point and end point, but this method not work for these network which have no 2 unique operator as start point and stop point. [Solution] In this solution we give 2 addtional parameters start_name_indx and stop_name_indx to make vta pack logic work with the said network, for exampl for following networks which have no unique operator, %0 = nn.add %1 = nn.conv2d %2 = nn.batch_norm %3 = nn.leaky_relu %4 = nn.add %5 = nn.conv2d %6 = nn.batch_norm %7 = nn.leaky_relu %8 = nn.add with this solution we can use following parameter format to make vta work on it. relay_prog = graph_pack( //.... start_name="nn.add", stop_name="nn.add", start_name_idx=0, stop_name_idx=4) to apply on new network, by printing the network we can get index information like following. print(mod.astext(show_meta_data=False)) relay_prog = graph_pack(mod ... start_name="nn.add", stop_name="nn.add", start_name_idx=0, stop_name_idx=4) * address review comments and fix index count bug issue: when do print(mod), the output not only the Call is also have other type like Var, need add logic to count all except meta. solution: add related logic * address review comments. * address review comments * add more detail comments.

view details

hlu1

commit sha 4d4346d13193bd95936c54ce703902a97f2539f7

[Doc] TVM_REGISTER_API -> TVM_REGISTER_GLOBAL (#4768)

view details

Alex Gladkov

commit sha 1ae44cf039a0cac6789ed112971e0b8898b2bef3

Fix Tensorflow conv3d pad bug, add non-cubic data and kernel tests (#4772)

view details

masahi

commit sha 69d2f9bd3ab8d954658dddda6488c2b7f85e971c

[TOPI] Remove cpp upsampling and resize op (#4769) * remove cpp upsampling * remove cpp resize

view details

masahi

commit sha 266212572bb769c54f54937a42e335e6e86dd87e

add missing nullptr check (#4773)

view details

Ina Dobreva

commit sha 9bd2c7b44208ed992061f8c2688e1137357f1db1

[Bugfix][Frontend][TF] Fix incorrect calculations in tf SLICE (#4518) * fix formula for calculating end indices when size[i] == -1 * add a test case for size[i] == -1 * discard expanding dimension of begin_value & end_value since it is needed only if you pass them as scalars not as tensors. * discard 'slice_tensor' variable so that implementation matches the tf parser pattern

view details

HUAN-PING SU

commit sha bef00f7ecc4d04828612f3f18837294da47f2841

Bump prebuilt-image version in demo dockerfile (#4770)

view details

Kaiyan Chang

commit sha 9056fc40e0b928a0fdf7cdaba3efadabf7f2905c

Update tune_simple_template.py (#4778) fixed a spelling mistake.

view details

Jon Soifer

commit sha 00ec7f9c95f62d4833ff3832c4c50d0c38398207

[Build] Explicitly link to cublasLt if it exists (#4776) * Explicitly link to cublasLt * Only link cublasLt if it's found Co-authored-by: Jon Soifer <jonso@microsoft.com>

view details

Jon Soifer

commit sha f71a10c5dd0523443b8854248fc622fffbb37120

properly extract error type from windows error message (#4780) Co-authored-by: Jon Soifer <jonso@microsoft.com>

view details

Jon Soifer

commit sha de919cbdf8d3394d77d8ed616c1ffbcfab9f896d

[Relay][Frontend][ONNX] Broadcast condition, x, and y for Where op (#4774) * ONNX frontend broadcast condition * fix * fix style Co-authored-by: Jon Soifer <jonso@microsoft.com>

view details

Cody Yu

commit sha d54036a909b9157d15b26462499aba10bbf920c8

Safe remove tmpdir (#4781)

view details

push time in 4 days

push eventapache/incubator-tvm

Cody Yu

commit sha 98e7709ff9e69d48ed46e66d89145aeed074f509

[DOCS] Fix Sphinx Warnings (RST indent, cross-ref, and image scale) (#4920) * fix indents * Fix image scale and cross-ref

view details

push time in 4 days

PR merged apache/incubator-tvm

[DOCS] Fix Sphinx Warnings (RST indent, cross-ref, and image scale)

Continue working for #4908. This PR fixed all indent/format warnings in RST doc files, doc cross-refernece, and image scale. After this PR we have 18 warnings remaining. While the target related warnings wil be covered by @cchung100m , here are 2 weird warnings that I have no idea:

WARNING: error while formatting arguments for tvm.relay.op.OpPattern: <class 'tvm.relay.op.op.OpPattern'> is a builtin class.
WARNING: error while formatting arguments for tvm.relay.vision.nms: module 'tvm.relay.op.vision.nms' has no attribute '__mro__'.

@tqchen @cchung100m do you have any idea about them? Thanks.

+99 -122

0 comment

22 changed files

comaniac

pr closed time in 4 days

pull request commentapache/incubator-tvm

[Relay][AutoTVM] Relay op strategy

@yzhliu @jwfromm Please https://docs.tvm.ai/contribute/code_review.html#approve-and-request-changes-explicitly

icemelon9

comment created time in 4 days

Pull request review commentapache/incubator-tvm

[TEST][FLAKY] topi/tests/python/test_topi_sort.py::test_argsort

 def verify_argsort(axis, is_ascend):     data_dtype = "float32"     data = tvm.placeholder(dshape, name="data", dtype=data_dtype)     np_data = np.random.uniform(size=dshape).astype(data_dtype)

Ah, sorry I was a bit confused here. The shuffling here still does not address the problem of ties(two values too close to each other in random.uniform).

We should instead change this line to directly create arange then broadcast to the shape, then we shuffle each of the broadcasted place.

Then the problem will be solved because arange won't have ties

cchung100m

comment created time in 4 days

push eventapache/incubator-tvm

wpan11nv

commit sha efd35e86992815d7f46a77dfced79180964472ac

[Relay] Fix an assertion exposed by loop vectorizer (#4916) - Allows uniform conditions for select expressions (the same as halide) exposed by the loop vectorizer. Signed-off-by: Wei Pan <weip@nvidia.com>

view details

push time in 4 days

PR merged apache/incubator-tvm

[Relay] Fix an assertion exposed by loop vectorizer
  • Allows uniform conditions for select expressions (the same as halide) exposed by the loop vectorizer.

Signed-off-by: Wei Pan weip@nvidia.com

Thanks for contributing to TVM! Please refer to guideline https://docs.tvm.ai/contribute/ for useful information and tips. After the pull request is submitted, please request code reviews from Reviewers by @ them in the pull request thread.

+3 -1

1 comment

2 changed files

wpan11nv

pr closed time in 4 days

pull request commentapache/incubator-tvm

[DOCS] Fix sphinx warnings

Thanks @comaniac

comaniac

comment created time in 4 days

push eventapache/incubator-tvm

Cody Yu

commit sha fd6d7837ed05661e81358045adb902772a4f82c3

[DOCS] Fix sphinx warnings (#4917) * Fix Python docstrings * More fixes * Fix lint

view details

push time in 4 days

PR merged apache/incubator-tvm

[DOCS] Fix sphinx warnings

Based on #4908, this is the first PR to remove all doc warnings from Python doc strings. After this fix, total number of doc warnings is reduced to 103 on my local.

+148 -191

2 comments

16 changed files

comaniac

pr closed time in 4 days

push eventapache/incubator-tvm

Tianqi Chen

commit sha 18295b278678017cfd7cb0bdbd3a9254dd2f7936

[REFACTOR] Polish ffi convention. (#4912) * [REFACTOR] Polish ffi convention. - Remove the src/api, keep registration local to the c++ function. - Remove the api_internal as it is no longer needed. * Update the codebase walk through

view details

push time in 5 days

PR merged apache/incubator-tvm

[REFACTOR] Polish ffi convention.
  • Remove the src/api, keep registration local to the c++ function.
  • Remove the api_internal as it is no longer needed.
+672 -752

1 comment

34 changed files

tqchen

pr closed time in 5 days

issue commentapache/incubator-tvm

[DEV] TVM v0.7 Roadmap

@liangfu auto tensorization depends on on the new IR update, we will send out specific guidelines after we finish the IR refactoring

tqchen

comment created time in 5 days

pull request commentapache/incubator-tvm

[Object] Add String container

ping @wweic

wweic

comment created time in 5 days

Pull request review commentapache/incubator-tvm

[TEST][FLAKY] topi/tests/python/test_topi_sort.py::test_argsort

 def verify_argsort(axis, is_ascend):     data_dtype = "float32"     data = tvm.placeholder(dshape, name="data", dtype=data_dtype)     np_data = np.random.uniform(size=dshape).astype(data_dtype)

np data is provided in the next few lines, this line is not needed

cchung100m

comment created time in 5 days

pull request commentapache/incubator-tvm

Split node min range is not stringent.

In this case, unfortunately we need to wait until #4890 is fixed

yongfeng-nv

comment created time in 5 days

issue closedapache/incubator-tvm

how the file of "module.loadfile_clbin" produce and use it with opencl

i'm using tvm on pc with opencl, i find that it use the file "module.loadfile_cl" is called int tvm,but how to use the another file of "module.loadfile_clbin". The file of "module.loadfile_clbin" how is genreated, is not known, i find this problem is rarely asked and ansered online.

closed time in 5 days

feixuedudiao

issue commentapache/incubator-tvm

how the file of "module.loadfile_clbin" produce and use it with opencl

Please open a new question thread on https://discuss.tvm.ai/

feixuedudiao

comment created time in 5 days

push eventtqchen/tvm

tqchen

commit sha eeb8fb869c4680f69824a3b13cd1880e05115955

Update the codebase walk through

view details

push time in 5 days

pull request commentapache/incubator-tvm

[REFACTOR] Polish ffi convention.

@zhiics updated

tqchen

comment created time in 5 days

push eventtqchen/tvm

tqchen

commit sha 6da41c87186888a3e0fb0b042e3ae364c1469858

Update the codebase walkthrough

view details

push time in 5 days

push eventtqchen/tvm

tqchen

commit sha 2712f2ed7db0a39ae1a30e2d6f715e2240b517f1

[REFACTOR] Polish ffi convention. - Remove the src/api, keep registration local to the c++ function. - Remove the api_internal as it is no longer needed.

view details

push time in 6 days

PR opened apache/incubator-tvm

[REFACTOR] Polish ffi convention.
  • Remove the src/api, keep registration local to the c++ function.
  • Remove the api_internal as it is no longer needed.
+658 -726

0 comment

31 changed files

pr created time in 6 days

push eventtqchen/tvm

Tianqi Chen

commit sha 8310b2526e69d1761a67f6a8566691a0eeb2e652

[CI] Update ci docker to add autodocsumm (#4903)

view details

Tianqi Chen

commit sha 38d1dd24a005e2b6902eec7fafeb9297eeb7b996

[CI] Add autodocsum as dep (#4902)

view details

Tianqi Chen

commit sha d1e1ac49b37210334e543f6c4cd8813cbe80e26d

[REFACTOR][PY] Establish tvm.arith (#4904)

view details

Josh Fromm

commit sha 9d646543098580490b85f5865d10d087f75ea22e

[Relay][Frontend][Keras] NHWC import support. (#4899) * Basic test working * Almost all tests working. * all tests passing. * Fixed lint. * Improved Style.

view details

Jon Soifer

commit sha 41835d176d31bc2f3ba1f0ed9e35bdbfd453dc39

[Relay] Expose FunctionGetAttr to Python (#4905) * [Relay] Expose FunctionGetAttr to Python * add test Co-authored-by: Jon Soifer <jonso@microsoft.com>

view details

Tianqi Chen

commit sha d2ae8c95d56d8788b1bf77ef28701eb50bbfb495

[DOCS] Update API docs to reflect the status after the refactor. (#4907)

view details

Andrew

commit sha 406b5f764d0454e9641880310249a69b2fc59e9b

Fix tvm.target.generic_func runtime detection (#4910)

view details

tqchen

commit sha a6d699a02f988b49616fe0b42f925db900d0dfde

[REFACTOR] Polish ffi convention. - Remove the src/api, keep registration local to the c++ function. - Remove the api_internal as it is no longer needed.

view details

push time in 6 days

issue commentapache/incubator-tvm

[RFC][Relay] Change the name of filter to select.

select can also be ambiguis. In many places, select means the conditional expression select(cond, true_value, false_value), if filter is a well defined term, perhaps we can keep the original name.

MarisaKirisame

comment created time in 6 days

issue commentapache/incubator-tvm

[DOCS] Fix Sphinx Warnings

Thanks @comaniac @cchung100m How about each of you try to work on one of the error type, and send PRs. We can coorindate in this thread

tqchen

comment created time in 6 days

push eventtqchen/tvm

tqchen

commit sha c279a4c341b334a223de20d63d15e2723a739f61

temp checkin

view details

push time in 6 days

push eventtqchen/tvm

tqchen

commit sha 28cc5fa80da16b2bca795fe50fe9b201ae682897

Remove api internal

view details

tqchen

commit sha 2225b1f4688301ae635288f416aa2e5d0c8cb821

remove api arith

view details

tqchen

commit sha b48a6c4d8ec7cc03f2f1a4d8cf166b6deb169673

triage

view details

tqchen

commit sha 2589da2199639fefea310038994d31f1bba1b949

API UPDATE

view details

push time in 6 days

push eventapache/incubator-tvm

Tianqi Chen

commit sha d2ae8c95d56d8788b1bf77ef28701eb50bbfb495

[DOCS] Update API docs to reflect the status after the refactor. (#4907)

view details

push time in 6 days

Pull request review commentapache/incubator-tvm

[Relay][AutoTVM] Relay op strategy

 def _get_cache_key(source_func, target):     return source_func  +def get_shape(shape):+    """Convert the shape to correct dtype and vars."""+    ret = []+    for dim in shape:+        if isinstance(dim, tvm.expr.IntImm):+            val = int(dim)+            assert val <= np.iinfo(np.int32).max+            ret.append(tvm.expr.IntImm("int32", val))+        elif isinstance(dim, tvm.expr.Any):+            ret.append(tvm.var("any_dim", "int32"))+        else:+            ret.append(dim)+    return ret+++def get_valid_implements(op, attrs, inputs, out_type, target):+    """Get all valid implementations from the op strategy.++    Note that this function doesn't support op with symbolic input shapes.++    Parameters+    ----------+    op : relay.op.Op+        Relay operator.++    attrs : object+        The op attribute.++    inputs : list of tvm.Tensor+        Input tensors to the op.++    out_type : relay.Type+        The output type.++    target : tvm.Target+        The target to compile the op.++    Returns+    -------+    ret : list of relay.op.OpImplement+        The list of op implementations.+    """+    fstrategy = op.get_attr("FTVMStrategy")+    assert fstrategy is not None, "%s doesn't have FTVMStrategy registered" % op.name+    with target:+        strategy = fstrategy(attrs, inputs, out_type, target)+    analyzer = tvm.arith.Analyzer()+    ret = []+    for spec in strategy.specializations:+        if spec.condition:+            # check if all the clauses in the specialized condition are true+            flag = True+            for clause in spec.condition.clauses:+                clause = analyzer.canonical_simplify(clause)+                if isinstance(clause, tvm.expr.IntImm) and clause.value:+                    continue+                flag = False+                break+            if flag:+                for impl in spec.implements:+                    ret.append(impl)+        else:+            for impl in spec.implements:+                ret.append(impl)+    return ret+++def select_implement(op, attrs, inputs, out_type, target, use_autotvm=True):

implementation?

icemelon9

comment created time in 6 days

Pull request review commentapache/incubator-tvm

[Relay][AutoTVM] Relay op strategy

 def _get_cache_key(source_func, target):     return source_func  +def get_shape(shape):+    """Convert the shape to correct dtype and vars."""+    ret = []+    for dim in shape:+        if isinstance(dim, tvm.expr.IntImm):+            val = int(dim)+            assert val <= np.iinfo(np.int32).max+            ret.append(tvm.expr.IntImm("int32", val))+        elif isinstance(dim, tvm.expr.Any):+            ret.append(tvm.var("any_dim", "int32"))+        else:+            ret.append(dim)+    return ret+++def get_valid_implements(op, attrs, inputs, out_type, target):+    """Get all valid implementations from the op strategy.++    Note that this function doesn't support op with symbolic input shapes.++    Parameters+    ----------+    op : relay.op.Op+        Relay operator.++    attrs : object+        The op attribute.++    inputs : list of tvm.Tensor+        Input tensors to the op.++    out_type : relay.Type+        The output type.++    target : tvm.Target+        The target to compile the op.++    Returns+    -------+    ret : list of relay.op.OpImplement+        The list of op implementations.+    """+    fstrategy = op.get_attr("FTVMStrategy")+    assert fstrategy is not None, "%s doesn't have FTVMStrategy registered" % op.name+    with target:+        strategy = fstrategy(attrs, inputs, out_type, target)+    analyzer = tvm.arith.Analyzer()+    ret = []+    for spec in strategy.specializations:+        if spec.condition:+            # check if all the clauses in the specialized condition are true+            flag = True+            for clause in spec.condition.clauses:+                clause = analyzer.canonical_simplify(clause)+                if isinstance(clause, tvm.expr.IntImm) and clause.value:+                    continue+                flag = False+                break+            if flag:+                for impl in spec.implements:+                    ret.append(impl)+        else:+            for impl in spec.implements:+                ret.append(impl)+    return ret+++def select_implement(op, attrs, inputs, out_type, target, use_autotvm=True):

alternatively, we can use impl

icemelon9

comment created time in 6 days

Pull request review commentapache/incubator-tvm

[Relay][AutoTVM] Relay op strategy

 tvm.expr    :members:    :undoc-members: -tvm.codegen-~~~~~~~~~~~-.. automodule:: tvm.codegen+tvm.target.codegen+~~~~~~~~~~~~~~~~~~

can ignore changes for now, superceded by https://github.com/apache/incubator-tvm/pull/4907

icemelon9

comment created time in 6 days

push eventtqchen/tvm

tqchen

commit sha 1725e0b2d6595de24e52fa36b55416d1439bedc0

[DOCS] Update API docs to reflect the status after the refactor.

view details

push time in 6 days

issue openedapache/incubator-tvm

[DOCS] Fix Warnings in Sphinx

While the docs builds just fine in the CI. There are a bunch of warnings being generated. We do not fix all the categories(e.g. the warning about image scale can simply be ignore), but some other warnings may affect the result of rendered document(in the case of bad format of embedded rst).

This thread calls for volunteers to help fix these issues(in most cases by changing the docstring to the correct format or change the rst content). After we collectively fixed most of them, we can start to introduce more strict checks in the CI to fail when new type of warnings occur.

To reproduce locally, run the following command in the docs folder(which does not need to execute the sphinx gallery part)

TVM_TUTORIAL_EXEC_PATTERN=none make html

created time in 6 days

PR opened apache/incubator-tvm

[DOCS] Update API docs to reflect the status after the refactor.
+123 -334

0 comment

30 changed files

pr created time in 6 days

push eventtqchen/tvm

Tianqi Chen

commit sha 08338dd5f8089b4fbf61ae8a63f02277dfcca713

[REFACTOR][PY] Establish tvm.te and tvm.driver (#4900) - Move the related files to tvm.te - Move build_module.py to tvm.driver

view details

pankratz

commit sha 976c08ad61cca9989331bfa57e83bcf92ed20798

Fixed bugs that occured when using bitwise operators on floating point type expressions. Further crash when using ops <<, >>, %. Finally added regression tests for both types of bug. (#4892)

view details

Tianqi Chen

commit sha 8310b2526e69d1761a67f6a8566691a0eeb2e652

[CI] Update ci docker to add autodocsumm (#4903)

view details

Tianqi Chen

commit sha 38d1dd24a005e2b6902eec7fafeb9297eeb7b996

[CI] Add autodocsum as dep (#4902)

view details

Tianqi Chen

commit sha d1e1ac49b37210334e543f6c4cd8813cbe80e26d

[REFACTOR][PY] Establish tvm.arith (#4904)

view details

tqchen

commit sha 8acddabbb4d56f8082fb69bca6c1348cbae62b79

[DOCS] Update API docs to reflect the status after the refactor.

view details

push time in 6 days

pull request commentapache/incubator-tvm

[Relay][Frontend][Keras] NHWC import support.

Merging this for now as this PR is self contained. It would be great if we can have a followup PR that updates the frontend to use ConvertLayout from NHWC -> NCHW so we won't have to support two path in the frontend

jwfromm

comment created time in 6 days

push eventapache/incubator-tvm

Josh Fromm

commit sha 9d646543098580490b85f5865d10d087f75ea22e

[Relay][Frontend][Keras] NHWC import support. (#4899) * Basic test working * Almost all tests working. * all tests passing. * Fixed lint. * Improved Style.

view details

push time in 6 days

PR merged apache/incubator-tvm

Reviewers
[Relay][Frontend][Keras] NHWC import support.

Currently the Keras importer can only output models with NCHW layout. This PR adds a layout argument to the Keras importer that allows NHWC to be used instead. This is useful for platforms that may have better NHWC than NCHW performance such as the Raspberry Pi.

A few notes:

  • Xception is not being tested in NHWC mode as I found that it was causing a strange cuda error when targeting GPU. On CPU, it works fine however so I suspect this is an issue with the nhwc separable convolutions in Topi rather than the importer.
  • I made a few changes to the test script to allow eager execution (and TF2.0) to work.
+143 -52

9 comments

2 changed files

jwfromm

pr closed time in 6 days

push eventapache/incubator-tvm

Tianqi Chen

commit sha d1e1ac49b37210334e543f6c4cd8813cbe80e26d

[REFACTOR][PY] Establish tvm.arith (#4904)

view details

push time in 6 days

PR merged apache/incubator-tvm

[REFACTOR][PY] Establish tvm.arith
+322 -107

0 comment

14 changed files

tqchen

pr closed time in 6 days

push eventapache/incubator-tvm

Tianqi Chen

commit sha 38d1dd24a005e2b6902eec7fafeb9297eeb7b996

[CI] Add autodocsum as dep (#4902)

view details

push time in 7 days

PR merged apache/incubator-tvm

[CI] Add autodocsum as dep

autodocsumm can generate a summary table for functions in a module automatically.

+1 -1

0 comment

1 changed file

tqchen

pr closed time in 7 days

push eventapache/incubator-tvm

Tianqi Chen

commit sha 8310b2526e69d1761a67f6a8566691a0eeb2e652

[CI] Update ci docker to add autodocsumm (#4903)

view details

push time in 7 days

PR merged apache/incubator-tvm

[CI] Update ci docker to add autodocsumm

source https://github.com/apache/incubator-tvm/pull/4902

+2 -2

0 comment

1 changed file

tqchen

pr closed time in 7 days

push eventtqchen/tvm

tqchen

commit sha b2c3437b62cfe7a638af8b78b580b1c3868d3295

dyz

view details

push time in 7 days

PR opened apache/incubator-tvm

[REFACTOR][PY] Establish tvm.arith
+322 -107

0 comment

14 changed files

pr created time in 7 days

create barnchtqchen/tvm

branch : pyarith

created branch time in 7 days

push eventapache/incubator-tvm

pankratz

commit sha 976c08ad61cca9989331bfa57e83bcf92ed20798

Fixed bugs that occured when using bitwise operators on floating point type expressions. Further crash when using ops <<, >>, %. Finally added regression tests for both types of bug. (#4892)

view details

push time in 7 days

PR merged apache/incubator-tvm

[Bugfix] Fixed: Bitwise ops on floats causing wrong code generation and crashes.

Bitwise Ops on Floats

I encountered a few bugs involving using bitwise operators on floating point types. The first bug is that the << and >> operators are essentially no-ops when applied to floats which can be misleading. For example:

shape = (1,1)
c = tvm.compute(shape,lambda i,j: tvm.const(10) << 2.0)
s = tvm.create_schedule([c.op])
f = tvm.build(s,[c])
c_tvm= tvm.nd.array(numpy.zeros(shape,dtype='float32'))
f(c_tvm)
print(c_tvm) #Prints [[10.]] not expected [[40.]]

The other bitwise operators |, &, ^, and ~ throw an error in the LLVM backend when applied to floats. For reference I tested using LLVM-8.

This bug is fixed by adding checks to filter out floats for the |, &, ^, ~, <<, and >> operators.

TypeError Crashes

I also encountered a few more cases where operators failed to promote python types to tvm ExprOps which causes a python TypeError.

a = tvm.var()
10 % a #crashes
10 << a #crashes
10 >> a #crashes

This bug is fixed by adding the missing operators to expr.py

This pull request also includes a regression test for both in test_lang_basic.py

@tqchen @ZihengJiang

+48 -0

0 comment

3 changed files

dpankratz

pr closed time in 7 days

push eventapache/incubator-tvm

Tianqi Chen

commit sha 08338dd5f8089b4fbf61ae8a63f02277dfcca713

[REFACTOR][PY] Establish tvm.te and tvm.driver (#4900) - Move the related files to tvm.te - Move build_module.py to tvm.driver

view details

push time in 7 days

PR merged apache/incubator-tvm

[REFACTOR][PY] Establish tvm.te and tvm.driver
  • Move the related files to tvm.te
  • Move build_module.py to tvm.driver
+1206 -1072

0 comment

39 changed files

tqchen

pr closed time in 7 days

PR opened apache/incubator-tvm

[CI] Update ci docker to add autodocsumm

source https://github.com/apache/incubator-tvm/pull/4902

+2 -2

0 comment

1 changed file

pr created time in 7 days

PR opened apache/incubator-tvm

[CI] Add autodocsum as dep

autodocsumm can generate a summary table for functions in a module automatically.

+1 -1

0 comment

1 changed file

pr created time in 7 days

push eventtqchen/tvm

Tianqi Chen

commit sha 7243a146fc7cc8056ef4f6478f5a28bd8e02f503

[CI] Update ci-lint to v0.60 (#4850)

view details

Tianqi Chen

commit sha 13f2155e8f89eb7b6a47b54bd565087dc538cdf2

[CI][DOCKER] Update ci-lint to pylint2.4.4 (#4851)

view details

Wang Yucheng

commit sha ee2d3cc3995450205cb470ba12eff8beff3336f8

[Frontend][TFlite] use qnn helper function in softmax (#4840)

view details

pankratz

commit sha d55e21ffbb53b4bc95441b2e22bae76f36e35f7c

Fixed bug in ExprOp that caused bitwise operators to fail when a basic python type was on the left hand side of the expression. Added regression test for crashing cases. (#4852)

view details

mbarrett97

commit sha 0dbe70c16dd6d8a2f7596a175544589e6b05e711

[Relay] Added Merge Composite pass (#4771) * [Relay] Added MergeComposite pass This pass allows for patterns to be wrapped in a function marked with 'Composite' and a composite function name. This is intended to be used with the external codegen for the cases where an external operator maps to multiple Relay operators. In that case, the mapping can be expressed as a pattern and assigned a name. For more information on this pass and its motivation, see the RFC: https://discuss.tvm.ai/t/rfc-external-codegen-defining-composite-relay-operators/5470 Change-Id: Icb1b803a9f0ac57c529143200228f3bb5793afc0 * [Relay] Merge composite tests Added tests for the merge_composite pass. Change-Id: I1728b4a05b0c1c36140a40f1afe028fde62185dd * Merge composite additional test Change-Id: I9bc7d6053c575e9468ac5abc31214c6ad8507e46 * Support priority order in merge_composite The order in which the patterns are matched was currently random as an unordered_map was used to store the pattern table. This uses arrays instead so that a distinct priority order of matching can be defined. Additional tests have also been added to verify this behaviour. Change-Id: Ief347df4262639138d5d9d7c8cee7ef233af7b56 * Improved merge composite docs Change-Id: Ie3a72045ecc3f13ad3c302fbdf192b7296a306a8 * Removed unused variable Change-Id: I7814d5fde368ffaf1b3d6d806060c774c7720364 * Remove unnecessary op check Change-Id: I38e78d2acd5b86cb8e837be72ff9d72cd10bcf33 * Improve styling on composite function creation Change-Id: I37add1c3134e0b5d5085fe1eb9daf8e06890fa8c * Comment reword Change-Id: Ie05872dcbbe0c3e1190b0597083b9a64e6b66c66 * Stylistic changes to avoid std::move Change-Id: I43a93995bbf10530399900c992aa99dd4ae4575f * Relax a check in ExtractPattern Change-Id: I0faef77a66c55f83f09e6e47c561ffaea63dedfa * Remove new line Change-Id: Ifdd02c12087a7e1a0a9b54825669bc0de8f13c3d * Removed MatchPattern from MergeComposite This is not necessary now that ExtractPattern can fulfill the same purpose. Change-Id: I14dc020afa8e50f2df4c0a2efb88a011987f8196 * Removed a new line Change-Id: I8b50f0c9069aa1bcaccbe68eb421031f01a64842 * Improved docs for merge composite Change-Id: Ib1959a35c856e7ea5639de2e4ef314a54f44caf5 * Fixed free vars in test Change-Id: I2b7f273db275964ec0e9820560663f0808adee79 * Handle case where root arg might not be a call Change-Id: I4eeea3ce723d3ba337d110dcc690377daebe8626 * Removed blank line Change-Id: I07f5392c0e95cfe3cfa5c333703cc6f82d6034fb * Change to CHECK_EQ Change-Id: I5c5d62d3cd57f72508b30b926f72091ae6f0d1cc * Revised a conditional Change-Id: I23a7897ca15a7cd076db5039dc653a4b8c27e803 * Improved doc styling Change-Id: I377f0a1c1ac70f3b8d7584b0c49bddc8c6c134ef * Fail extraction if vars conflict Change-Id: I78e36d805e8ed6b55e61d490212a967c857554a4 * Added further merge composite tests Change-Id: Ib1d800409fca4c1834c7fe0cab5a26ab99a26820 Co-authored-by: lhutton1 <35535092+lhutton1@users.noreply.github.com>

view details

Leyuan Wang

commit sha b7364b42488ef2ae7b5a39122ae5ca55b28432d4

reverse changes in pr #4849 (#4853)

view details

Animesh Jain

commit sha 902e21bd4e975037020c3b6445e4c903c2490a22

[TFLite] Using real image for QNN testing. (#4816) * [TFLite] Using real image for QNN testing. * Setting seed for SSD mobilenet for fixed input. * Support quantized Pad op. * Remove unnnecessary line. * Ina comments.

view details

Lianmin Zheng

commit sha 31c2f979ab95d546701340d8df854de16fec8dcd

[RUNTIME] Fix memory leakage of TVMByteArray (#4856)

view details

hlu1

commit sha 91d2f5af0d17d254565f8d9b7697ce953a791d15

[LLVM] Explicit llvm::StringRef to std::string conversion (#4859)

view details

hlu1

commit sha c42bb6c09fe855dbc0eb2eafe5a06540c2ea818d

[TVM] const auto p -> const auto &p (#4861)

view details

masahi

commit sha 4fce5137ddd30ea56d1951703de43727043090b9

add resize op converter (#4838)

view details

Zhi

commit sha 502cf264d5b353d6852c49f3bae69121c487d1dd

[Refactor] move vm.py under runtime and adt to runtime.container.py (#4855)

view details

kice

commit sha 54349ec467235c35945a13137a20c02fdcd3ddf5

Fix onnx import bugs (#4750) * Fix onnx import bugs Fix onnx attributes of string type incorrect handling Merge symmetric padding of Conv to symmetric form * Only merge symmetric padding for conv2d

view details

hlu1

commit sha 15df204fcdb8ea7a25ca2e6d5977529a045b1463

[Topi] Missing header (#4865)

view details

Tianqi Chen

commit sha a5661611472c8e92b20bbe4d074333b8183f2878

[REFACTOR][PY][API-CHANGE] establish tvm.ir, migrate corresponding files (#4862) * [REFACTOR][PY][API-CHANGE] establish tvm.ir, migrate corresponding relay files. This PR establishes tvm.ir and migrates the corresponding relay files into the new folder. API Change: - relay.Module -> tvm.IRModule * Update with ADT * Migrate transform * address comments * Migrate module * Migrate json_compact * Migrate attrs * Move LoweredFunc to stmt temporarily * temp migrate container * Finish migrate container

view details

tqchen

commit sha 176ffe5058e3f086d4618150ffd2445b6ef921f1

[DOCS][PY] Sphinx docs about tvm.ir

view details

tqchen

commit sha aaf62e47e64d592be770e915a7aa59d41eddb729

Fix optimize

view details

tqchen

commit sha 79cfab00d1a5ae55b3324dae803d5e1389e12bbe

[JVM] Update the runtime PackedFunc for module

view details

tqchen

commit sha 51a265af018964165eed570f57424eeabe120d1c

[REFACTOR][PY][API-CHANGE] Establish tvm.target Move the related target modules into tvm.target. API change: - tvm.target.current_target -> tvm.target.Target.current - tvm.datatype -> tvm.target.datatype

view details

mbarrett97

commit sha 70c63829474649f34928d42948bf3e5c7dbfbd75

[FRONTEND][TFLITE] Add support for TFLite_Detection_PostProcess (#4543) * [FRONTEND][TFLITE] Add support for TFLite_Detection_PostProcess This adds support for the custom operator TFLite_Detection_PostProcess which is commonly used in object detection networks such as SSD Mobilenet. It only adds support for when use_regular_nms = False. Change-Id: I819b253c0eb6f0fa55da65d2634e09359b888828 * Added a test for the tflite custom op Change-Id: Ie5baa092deae9a8bcffd2ebd9f6d346b90e58afd * Removed trailing comma Change-Id: Ib08f02b5f1a59a883048bfb36e4321152cd2e7f2 * Added spaces between divide Change-Id: If1171fc03d211a809cedeb800804394972af4060 * Formatted comment Change-Id: I3ce7e69b8d2c73aec57369c1c64ea1eec07f087b * Reduced line length in test Change-Id: I49eaafc3369070f8f3e85fbb965ad20972096c68 * Set random seed for test Change-Id: I542a787d11422ea83c52147b2cb1144fcef0dd77 * Fixes to style Change-Id: I2971b8ecebe08c882b2481a99f67cfbe515e0b1f * Assert for incorrect number of inputs Change-Id: I393f3b3b62be73e427498d98456fb1d5a214e0af * Change comparison to pass linting The linter was updated, so I needed to fix a small style issue as a result. Change-Id: Ia3c954565a00de92e7fb1912eae9ed9875d60c7c

view details

push time in 7 days

push eventtqchen/tvm

Tianqi Chen

commit sha 7243a146fc7cc8056ef4f6478f5a28bd8e02f503

[CI] Update ci-lint to v0.60 (#4850)

view details

Tianqi Chen

commit sha 13f2155e8f89eb7b6a47b54bd565087dc538cdf2

[CI][DOCKER] Update ci-lint to pylint2.4.4 (#4851)

view details

Wang Yucheng

commit sha ee2d3cc3995450205cb470ba12eff8beff3336f8

[Frontend][TFlite] use qnn helper function in softmax (#4840)

view details

pankratz

commit sha d55e21ffbb53b4bc95441b2e22bae76f36e35f7c

Fixed bug in ExprOp that caused bitwise operators to fail when a basic python type was on the left hand side of the expression. Added regression test for crashing cases. (#4852)

view details

mbarrett97

commit sha 0dbe70c16dd6d8a2f7596a175544589e6b05e711

[Relay] Added Merge Composite pass (#4771) * [Relay] Added MergeComposite pass This pass allows for patterns to be wrapped in a function marked with 'Composite' and a composite function name. This is intended to be used with the external codegen for the cases where an external operator maps to multiple Relay operators. In that case, the mapping can be expressed as a pattern and assigned a name. For more information on this pass and its motivation, see the RFC: https://discuss.tvm.ai/t/rfc-external-codegen-defining-composite-relay-operators/5470 Change-Id: Icb1b803a9f0ac57c529143200228f3bb5793afc0 * [Relay] Merge composite tests Added tests for the merge_composite pass. Change-Id: I1728b4a05b0c1c36140a40f1afe028fde62185dd * Merge composite additional test Change-Id: I9bc7d6053c575e9468ac5abc31214c6ad8507e46 * Support priority order in merge_composite The order in which the patterns are matched was currently random as an unordered_map was used to store the pattern table. This uses arrays instead so that a distinct priority order of matching can be defined. Additional tests have also been added to verify this behaviour. Change-Id: Ief347df4262639138d5d9d7c8cee7ef233af7b56 * Improved merge composite docs Change-Id: Ie3a72045ecc3f13ad3c302fbdf192b7296a306a8 * Removed unused variable Change-Id: I7814d5fde368ffaf1b3d6d806060c774c7720364 * Remove unnecessary op check Change-Id: I38e78d2acd5b86cb8e837be72ff9d72cd10bcf33 * Improve styling on composite function creation Change-Id: I37add1c3134e0b5d5085fe1eb9daf8e06890fa8c * Comment reword Change-Id: Ie05872dcbbe0c3e1190b0597083b9a64e6b66c66 * Stylistic changes to avoid std::move Change-Id: I43a93995bbf10530399900c992aa99dd4ae4575f * Relax a check in ExtractPattern Change-Id: I0faef77a66c55f83f09e6e47c561ffaea63dedfa * Remove new line Change-Id: Ifdd02c12087a7e1a0a9b54825669bc0de8f13c3d * Removed MatchPattern from MergeComposite This is not necessary now that ExtractPattern can fulfill the same purpose. Change-Id: I14dc020afa8e50f2df4c0a2efb88a011987f8196 * Removed a new line Change-Id: I8b50f0c9069aa1bcaccbe68eb421031f01a64842 * Improved docs for merge composite Change-Id: Ib1959a35c856e7ea5639de2e4ef314a54f44caf5 * Fixed free vars in test Change-Id: I2b7f273db275964ec0e9820560663f0808adee79 * Handle case where root arg might not be a call Change-Id: I4eeea3ce723d3ba337d110dcc690377daebe8626 * Removed blank line Change-Id: I07f5392c0e95cfe3cfa5c333703cc6f82d6034fb * Change to CHECK_EQ Change-Id: I5c5d62d3cd57f72508b30b926f72091ae6f0d1cc * Revised a conditional Change-Id: I23a7897ca15a7cd076db5039dc653a4b8c27e803 * Improved doc styling Change-Id: I377f0a1c1ac70f3b8d7584b0c49bddc8c6c134ef * Fail extraction if vars conflict Change-Id: I78e36d805e8ed6b55e61d490212a967c857554a4 * Added further merge composite tests Change-Id: Ib1d800409fca4c1834c7fe0cab5a26ab99a26820 Co-authored-by: lhutton1 <35535092+lhutton1@users.noreply.github.com>

view details

Leyuan Wang

commit sha b7364b42488ef2ae7b5a39122ae5ca55b28432d4

reverse changes in pr #4849 (#4853)

view details

Animesh Jain

commit sha 902e21bd4e975037020c3b6445e4c903c2490a22

[TFLite] Using real image for QNN testing. (#4816) * [TFLite] Using real image for QNN testing. * Setting seed for SSD mobilenet for fixed input. * Support quantized Pad op. * Remove unnnecessary line. * Ina comments.

view details

Lianmin Zheng

commit sha 31c2f979ab95d546701340d8df854de16fec8dcd

[RUNTIME] Fix memory leakage of TVMByteArray (#4856)

view details

hlu1

commit sha 91d2f5af0d17d254565f8d9b7697ce953a791d15

[LLVM] Explicit llvm::StringRef to std::string conversion (#4859)

view details

hlu1

commit sha c42bb6c09fe855dbc0eb2eafe5a06540c2ea818d

[TVM] const auto p -> const auto &p (#4861)

view details

masahi

commit sha 4fce5137ddd30ea56d1951703de43727043090b9

add resize op converter (#4838)

view details

Zhi

commit sha 502cf264d5b353d6852c49f3bae69121c487d1dd

[Refactor] move vm.py under runtime and adt to runtime.container.py (#4855)

view details

kice

commit sha 54349ec467235c35945a13137a20c02fdcd3ddf5

Fix onnx import bugs (#4750) * Fix onnx import bugs Fix onnx attributes of string type incorrect handling Merge symmetric padding of Conv to symmetric form * Only merge symmetric padding for conv2d

view details

hlu1

commit sha 15df204fcdb8ea7a25ca2e6d5977529a045b1463

[Topi] Missing header (#4865)

view details

Tianqi Chen

commit sha a5661611472c8e92b20bbe4d074333b8183f2878

[REFACTOR][PY][API-CHANGE] establish tvm.ir, migrate corresponding files (#4862) * [REFACTOR][PY][API-CHANGE] establish tvm.ir, migrate corresponding relay files. This PR establishes tvm.ir and migrates the corresponding relay files into the new folder. API Change: - relay.Module -> tvm.IRModule * Update with ADT * Migrate transform * address comments * Migrate module * Migrate json_compact * Migrate attrs * Move LoweredFunc to stmt temporarily * temp migrate container * Finish migrate container

view details

tqchen

commit sha 176ffe5058e3f086d4618150ffd2445b6ef921f1

[DOCS][PY] Sphinx docs about tvm.ir

view details

tqchen

commit sha aaf62e47e64d592be770e915a7aa59d41eddb729

Fix optimize

view details

tqchen

commit sha 79cfab00d1a5ae55b3324dae803d5e1389e12bbe

[JVM] Update the runtime PackedFunc for module

view details

tqchen

commit sha 51a265af018964165eed570f57424eeabe120d1c

[REFACTOR][PY][API-CHANGE] Establish tvm.target Move the related target modules into tvm.target. API change: - tvm.target.current_target -> tvm.target.Target.current - tvm.datatype -> tvm.target.datatype

view details

mbarrett97

commit sha 70c63829474649f34928d42948bf3e5c7dbfbd75

[FRONTEND][TFLITE] Add support for TFLite_Detection_PostProcess (#4543) * [FRONTEND][TFLITE] Add support for TFLite_Detection_PostProcess This adds support for the custom operator TFLite_Detection_PostProcess which is commonly used in object detection networks such as SSD Mobilenet. It only adds support for when use_regular_nms = False. Change-Id: I819b253c0eb6f0fa55da65d2634e09359b888828 * Added a test for the tflite custom op Change-Id: Ie5baa092deae9a8bcffd2ebd9f6d346b90e58afd * Removed trailing comma Change-Id: Ib08f02b5f1a59a883048bfb36e4321152cd2e7f2 * Added spaces between divide Change-Id: If1171fc03d211a809cedeb800804394972af4060 * Formatted comment Change-Id: I3ce7e69b8d2c73aec57369c1c64ea1eec07f087b * Reduced line length in test Change-Id: I49eaafc3369070f8f3e85fbb965ad20972096c68 * Set random seed for test Change-Id: I542a787d11422ea83c52147b2cb1144fcef0dd77 * Fixes to style Change-Id: I2971b8ecebe08c882b2481a99f67cfbe515e0b1f * Assert for incorrect number of inputs Change-Id: I393f3b3b62be73e427498d98456fb1d5a214e0af * Change comparison to pass linting The linter was updated, so I needed to fix a small style issue as a result. Change-Id: Ia3c954565a00de92e7fb1912eae9ed9875d60c7c

view details

push time in 7 days

push eventtqchen/tvm

masahi

commit sha a5e54b1decce06e666f4fe0fa348e97853993dbd

[QNN] Add support for per channel weight scale in dense op (#4880) * add test case for per channel dense * add unit arg in tflite frontend * update qnn legalize test * fix output dim index

view details

Cody Yu

commit sha feda150e34a79af3ea688ab27f9742720390b1e2

[AutoTVM] Support range in index based tuners (#4870) * Support range in index based tuners * Address comments * Remove __*state__ * trigger CI

view details

masahi

commit sha 7e9ec7352d487fddb0be25f4b53cce3abfad71c9

improve antlr import error message (#4888)

view details

wpan11nv

commit sha d50ba721eb5f7c0dbeceeaa78335d6f4c8cf2973

[CodeGen][CUDA] Fix issues in cuda codegen (#4876) - Do not emit __shared__ etc. as part of type for casting - Fix fp16 reduction kernels with compiler errors: "no operator "+" matches these operands, volatile half + volatile half This patch inserts casts to remove volatile type qualifier following volatile loads (fp16 only). CUDA fp16 library headers should add volatile member functions. - Update have_fp16 to include compute 6.1 GPUs, which do support fp16, although their fp16 throughput is low. Updated tests. Signed-off-by: Wei Pan <weip@nvidia.com>

view details

masahi

commit sha 529ee1feb6c96967d8ab28e08b72006c6d7e8887

[Relay] Fix VM compiler for while loop with free vars (#4889) * add additional switch to handle nested call node * Fix VM compiler for while loop with free var

view details

Tianqi Chen

commit sha e7be8bf43de4c1b19ea68134812ea7b0cd8e361f

[CI] Cleanup logfile before tutorial runs (#4896)

view details

Zhi

commit sha 95de08ba4f0d90dde308f4b2b401da8aaa333d2b

Fix alpha_equal bug (#4897)

view details

Baden Hughes

commit sha a43e326fb0250a46c61f726a4633633c2af2bf03

Update faq.md (#4893) various minor editorial updates - style, grammar, typos.

view details

Alex Gladkov

commit sha 13140916eeb6fc33b962f3faf9dbe6b702057865

Fast exponent (#4790)

view details

Tianqi Chen

commit sha 0b2d11a5745779ec139a05e8ece73c93fa6d7db8

[DOCS] Introduce how to add hardware backend to FAQ (#4898)

view details

Jon Soifer

commit sha 27a02844cb52e883a4a66da68a527590d76f7d01

[Relay][Pass] Fix bug in re-processing call node in MergeComposite pass (#4879) * Fix bug in re-processing call node * Add test * Add to main * temp changes to work from another machine * fix rest of tests * fix test_reuse_call_merge * fix merge Co-authored-by: Jon Soifer <jonso@microsoft.com>

view details

tqchen

commit sha b647d991ae050ff194b1e19731087c8e93cfc9e9

Autodocsum

view details

tqchen

commit sha e88fd70407b5c2e987bbdf33caa5c77e7dea89e2

Update using autodocsumm

view details

push time in 7 days

pull request commentapache/incubator-tvm

[Relay][Frontend][Keras] NHWC import support.

That sounds good.

jwfromm

comment created time in 7 days

push eventtqchen/tvm

tqchen

commit sha 5a82040b502492790d17b4dd98d81cbf44262e02

[REFACTOR][PY] Establish tvm.te and tvm.driver - Move the related files to tvm.te - Move build_module.py to tvm.driver

view details

push time in 7 days

push eventtqchen/tvm

tqchen

commit sha 80f37ce45f62a5eb66223277ea1deb3654981dae

[REFACTOR][PY] Establish tvm.te and tvm.driver - Move the related files to tvm.te - Move build_module.py to tvm.driver

view details

push time in 7 days

push eventtqchen/tvm

tqchen

commit sha f735f0634edafb9bb07534ab0835c666f05fab88

[REFACTOR][PY] Establish tvm.te and tvm.driver - Move the related files to tvm.te - Move build_module.py to tvm.driver

view details

push time in 7 days

push eventtqchen/tvm

tqchen

commit sha 4f2195832c722e8c0a2d7d92f927b2332f799e20

[REFACTOR][PY] Establish tvm.te and tvm.driver - Move the related files to tvm.te - Move build_module.py to tvm.driver

view details

push time in 7 days

PR opened apache/incubator-tvm

[REFACTOR][PY] Establish tvm.te and tvm.driver
  • Move the related files to tvm.te
  • Move build_module.py to tvm.driver
+1196 -1062

0 comment

34 changed files

pr created time in 7 days

push eventtqchen/tvm

masahi

commit sha a5e54b1decce06e666f4fe0fa348e97853993dbd

[QNN] Add support for per channel weight scale in dense op (#4880) * add test case for per channel dense * add unit arg in tflite frontend * update qnn legalize test * fix output dim index

view details

Cody Yu

commit sha feda150e34a79af3ea688ab27f9742720390b1e2

[AutoTVM] Support range in index based tuners (#4870) * Support range in index based tuners * Address comments * Remove __*state__ * trigger CI

view details

masahi

commit sha 7e9ec7352d487fddb0be25f4b53cce3abfad71c9

improve antlr import error message (#4888)

view details

wpan11nv

commit sha d50ba721eb5f7c0dbeceeaa78335d6f4c8cf2973

[CodeGen][CUDA] Fix issues in cuda codegen (#4876) - Do not emit __shared__ etc. as part of type for casting - Fix fp16 reduction kernels with compiler errors: "no operator "+" matches these operands, volatile half + volatile half This patch inserts casts to remove volatile type qualifier following volatile loads (fp16 only). CUDA fp16 library headers should add volatile member functions. - Update have_fp16 to include compute 6.1 GPUs, which do support fp16, although their fp16 throughput is low. Updated tests. Signed-off-by: Wei Pan <weip@nvidia.com>

view details

masahi

commit sha 529ee1feb6c96967d8ab28e08b72006c6d7e8887

[Relay] Fix VM compiler for while loop with free vars (#4889) * add additional switch to handle nested call node * Fix VM compiler for while loop with free var

view details

Tianqi Chen

commit sha e7be8bf43de4c1b19ea68134812ea7b0cd8e361f

[CI] Cleanup logfile before tutorial runs (#4896)

view details

Zhi

commit sha 95de08ba4f0d90dde308f4b2b401da8aaa333d2b

Fix alpha_equal bug (#4897)

view details

Baden Hughes

commit sha a43e326fb0250a46c61f726a4633633c2af2bf03

Update faq.md (#4893) various minor editorial updates - style, grammar, typos.

view details

Alex Gladkov

commit sha 13140916eeb6fc33b962f3faf9dbe6b702057865

Fast exponent (#4790)

view details

Tianqi Chen

commit sha 0b2d11a5745779ec139a05e8ece73c93fa6d7db8

[DOCS] Introduce how to add hardware backend to FAQ (#4898)

view details

Jon Soifer

commit sha 27a02844cb52e883a4a66da68a527590d76f7d01

[Relay][Pass] Fix bug in re-processing call node in MergeComposite pass (#4879) * Fix bug in re-processing call node * Add test * Add to main * temp changes to work from another machine * fix rest of tests * fix test_reuse_call_merge * fix merge Co-authored-by: Jon Soifer <jonso@microsoft.com>

view details

tqchen

commit sha 13b66fe178cb332f80e1d971274a9380d7f94561

[REFACTOR][PY] Establish tvm.te and tvm.driver - Move the related files to tvm.te - Move build_module.py to tvm.driver

view details

push time in 7 days

create barnchtqchen/tvm

branch : pyte-back

created branch time in 7 days

pull request commentapache/incubator-tvm

[Relay][Frontend][Keras] NHWC import support.

Given that the model is in native NHWC, perhaps it is better to do it in another way around, ingest as NHWC as in this PR and then call ConvertLayout

jwfromm

comment created time in 7 days

pull request commentapache/incubator-tvm

Fast exponent

Thanks @alexgl-github @anijain2305 @masahi @FrozenGene !

alexgl-github

comment created time in 7 days

push eventapache/incubator-tvm

Alex Gladkov

commit sha 13140916eeb6fc33b962f3faf9dbe6b702057865

Fast exponent (#4790)

view details

push time in 7 days

PR merged apache/incubator-tvm

Reviewers
Fast exponent

Thanks for contributing to TVM! Please refer to guideline https://docs.tvm.ai/contribute/ for useful information and tips. After the pull request is submitted, please request code reviews from Reviewers by @ them in the pull request thread.

+139 -0

12 comments

4 changed files

alexgl-github

pr closed time in 7 days

issue commentapache/incubator-tvm

[android_deploy] CRASH caused by `Module.load` func while running App on Android Device with

Glad that the problem is resolved. For future trouble shooting questions, you are more than welcomed to open new threads on https://discuss.tvm.ai/

KindleHe

comment created time in 7 days

pull request commentapache/incubator-tvm

[CODEGEN] Support cuda tensorcore subbyte int data type in auto tensorcore

see if you can reprod the error locally. I wonder if it has things to do with the join running of the testcase, or a memory corruption case where the change caused some changes in a memory locaiton. would be great if you can investigate further.

Orion34C

comment created time in 7 days

Pull request review commentapache/incubator-tvm

[TEST][FLAKY] topi/tests/python/test_topi_sort.py::test_argsort

 def verify_argsort(axis, is_ascend):     data_dtype = "float32"     data = tvm.placeholder(dshape, name="data", dtype=data_dtype)     np_data = np.random.uniform(size=dshape).astype(data_dtype)

remove np_data here

cchung100m

comment created time in 7 days

create barnchtqchen/tvm

branch : pyte

created branch time in 8 days

PR opened apache/incubator-tvm

[DOCS] Introduce how to add hardware backend to FAQ

cc @tmoreau89 @yzhliu

+77 -53

0 comment

8 changed files

pr created time in 8 days

create barnchtqchen/tvm

branch : faq

created branch time in 8 days

pull request commentapache/incubator-tvm

[CODEGEN] Support cuda tensorcore subbyte int data type in auto tensorcore

@Orion34C please rebase against the master and try tomake the CI green. Note that if the test depends on availability of GPU feature, we might need to skip the test by checking the gpu type.

@jwfromm @Hzfengsy would be great if you can also help to take a look

Orion34C

comment created time in 8 days

pull request commentapache/incubator-tvm

Update faq.md

Thanks @badenh

badenh

comment created time in 8 days

push eventapache/incubator-tvm

Baden Hughes

commit sha a43e326fb0250a46c61f726a4633633c2af2bf03

Update faq.md (#4893) various minor editorial updates - style, grammar, typos.

view details

push time in 8 days

PR merged apache/incubator-tvm

Update faq.md

@tqchen - this PR contains various minor editorial updates - style, grammar, typos.

Thanks for contributing to TVM! Please refer to guideline https://docs.tvm.ai/contribute/ for useful information and tips. After the pull request is submitted, please request code reviews from Reviewers by @ them in the pull request thread.

+9 -9

0 comment

1 changed file

badenh

pr closed time in 8 days

pull request commentapache/incubator-tvm

[Relay][AutoTVM] Relay op strategy

@merrymercy @Hzfengsy would be great if you can help to take a look and comment given this PR Is related to AutoTVM. Let us aim to mege it in the incoming week

icemelon9

comment created time in 8 days

pull request commentapache/incubator-tvm

[Realy][fix] Fix alpha_equal bug for attribute check

Thanks @zhiics !

zhiics

comment created time in 8 days

push eventapache/incubator-tvm

Zhi

commit sha 95de08ba4f0d90dde308f4b2b401da8aaa333d2b

Fix alpha_equal bug (#4897)

view details

push time in 8 days

PR merged apache/incubator-tvm

[Realy][fix] Fix alpha_equal bug for attribute check

This PR fix a bug in alpha_equal for attribute checking where it mistakenly uses lhs as the rhs.

The discussion is here: https://discuss.tvm.ai/t/relay-analysis-alpha-equal-questions-and-potential-issues/5704/2

This is the problem 1 in the discussion. Need a separate PR for Problem2.

+109 -49

1 comment

5 changed files

zhiics

pr closed time in 8 days

Pull request review commentapache/incubator-tvm

Relay op strategy

 def set_params(self, params):          return _expr.FunctionSetParams(self, params) +    def is_primitive(self):+        return int(self.get_attribute("Primitive")) == 1

Move this as a auxiliary function instead of member for now. Because member function need to be relatively stable, and we might have new attributes later.

icemelon9

comment created time in 8 days

Pull request review commentapache/incubator-tvm

Relay op strategy

 def __repr__(self):             self.name, self.args, self.kwargs, self.workload         ) -TASK_TABLE = {-}+TASK_TABLE = {}++class TopiTemplate(object):+    """Topi template that holds the topi compute and schedule function"""+    def __init__(self):+        self.compute = None+        self.schedule = None+        self.customized_func = None++    def __call__(self, *args, **kwargs):+        args = deserialize_args(args)+        if self.customized_func is None:+            return self._default_func(*args, **kwargs)+        assert callable(self.customized_func)+        return self.customized_func(*args, **kwargs)++    def _default_func(self, *args, **kwargs):+        assert callable(self.compute) and callable(self.schedule)+        out = self.compute(*args, **kwargs)+        arg_bufs = [out] + self.get_inputs(out)+        s = self.schedule([out])+        return s, arg_bufs++    def get_inputs(self, out):+        inputs = []+        queue = [out]+        while queue:+            t = queue.pop(0)+            if isinstance(t.op, tensor.PlaceholderOp):+                inputs.append(t)+            else:+                queue.extend(t.op.input_tensors)+        return inputs -def register(name, func=None, override=False):-    """Register a task function.+def register_task_compute(name, func=None):+    """Register compute function to autotvm task      Parameters     -----------    name : str-        The name to identify the task.-    func : callable-        The function to be registered.-    override : bool-        Whether override existing registration.+    name: str+        The task name++    func: None or callable+        If it is None, return a decorator.+        If is callable, decorate this function.      Returns     --------    func: callable-        The registered function+    decorator: callable+        A decorator     """-    def _do_reg(myf):-        if name in TASK_TABLE and not override:-            raise ValueError(-                "Key %s is already registered" % name)-        TASK_TABLE[name] = myf-        return myf+    def _do_reg(f):+        if name not in TASK_TABLE:+            TASK_TABLE[name] = TopiTemplate()+        tmpl = TASK_TABLE[name]+        if tmpl.compute is not None:+            raise ValueError("Compute is already registered in autoTVM task %s" % name)+        tmpl.compute = f+        return f     if func:         return _do_reg(func)     return _do_reg -def create(func_name, args, target, target_host=None, template_key=None):+def register_task_schedule(name, func=None):+    """Register schedule function to autotvm task+

add a code example section here

icemelon9

comment created time in 8 days

Pull request review commentapache/incubator-tvm

Relay op strategy

 def __repr__(self):             self.name, self.args, self.kwargs, self.workload         ) -TASK_TABLE = {-}+TASK_TABLE = {}++class TopiTemplate(object):+    """Topi template that holds the topi compute and schedule function"""+    def __init__(self):+        self.compute = None+        self.schedule = None+        self.customized_func = None++    def __call__(self, *args, **kwargs):+        args = deserialize_args(args)+        if self.customized_func is None:+            return self._default_func(*args, **kwargs)+        assert callable(self.customized_func)+        return self.customized_func(*args, **kwargs)++    def _default_func(self, *args, **kwargs):+        assert callable(self.compute) and callable(self.schedule)+        out = self.compute(*args, **kwargs)+        arg_bufs = [out] + self.get_inputs(out)+        s = self.schedule([out])+        return s, arg_bufs++    def get_inputs(self, out):+        inputs = []+        queue = [out]+        while queue:+            t = queue.pop(0)+            if isinstance(t.op, tensor.PlaceholderOp):+                inputs.append(t)+            else:+                queue.extend(t.op.input_tensors)+        return inputs -def register(name, func=None, override=False):-    """Register a task function.+def register_task_compute(name, func=None):+    """Register compute function to autotvm task      Parameters     -----------    name : str-        The name to identify the task.-    func : callable-        The function to be registered.-    override : bool-        Whether override existing registration.+    name: str+        The task name++    func: None or callable+        If it is None, return a decorator.+        If is callable, decorate this function.      Returns     --------    func: callable-        The registered function+    decorator: callable+        A decorator     """-    def _do_reg(myf):-        if name in TASK_TABLE and not override:-            raise ValueError(-                "Key %s is already registered" % name)-        TASK_TABLE[name] = myf-        return myf+    def _do_reg(f):+        if name not in TASK_TABLE:+            TASK_TABLE[name] = TopiTemplate()+        tmpl = TASK_TABLE[name]+        if tmpl.compute is not None:+            raise ValueError("Compute is already registered in autoTVM task %s" % name)+        tmpl.compute = f+        return f     if func:         return _do_reg(func)     return _do_reg -def create(func_name, args, target, target_host=None, template_key=None):+def register_task_schedule(name, func=None):+    """Register schedule function to autotvm task++    Parameters+    ----------+    name: str+        The task name++    func: None or callable+        If it is None, return a decorator.+        If is callable, decorate this function.++    Returns+    -------+    decorator: callable+        A decorator+    """+    def _do_reg(f):+        if name not in TASK_TABLE:+            TASK_TABLE[name] = TopiTemplate()+        tmpl = TASK_TABLE[name]+        if tmpl.schedule is not None:+            raise ValueError("Schedule is already registered in autoTVM task %s" % name)+        tmpl.schedule = f+        return f+    if func:+        return _do_reg(func)+    return _do_reg++def register_customized_task(name, func=None):+    """Register a customized function to autotvm task.++    Parameters+    ----------+    name: str+        The task name++    func: None or callable

Add an example code section here.

Explain what is an customized task

icemelon9

comment created time in 8 days

Pull request review commentapache/incubator-tvm

Relay op strategy

 def _get_cache_key(source_func, target):     return source_func  +def get_shape(shape):+    """Convert the shape to correct dtype and vars."""+    ret = []+    for dim in shape:+        if isinstance(dim, tvm.expr.IntImm):+            val = int(dim)+            assert val <= np.iinfo(np.int32).max+            ret.append(tvm.expr.IntImm("int32", val))+        elif isinstance(dim, tvm.expr.Any):+            ret.append(tvm.var("any_dim", "int32"))+        else:+            ret.append(dim)+    return ret+++def get_valid_implements(op, attrs, inputs, out_type, target):+    """Get all valid implementations from the op strategy.++    Note that this function doesn't support op with symbolic input shapes.++    Parameters+    ----------+    op : relay.op.Op+        Relay operator.++    attrs : object+        The op attribute.++    inputs : list of tvm.Tensor+        Input tensors to the op.++    out_type : relay.Type+        The output type.++    target : tvm.Target+        The target to compile the op.++    Returns+    -------+    ret : list of relay.op.OpImplement+        The list of op implementations.+    """+    fstrategy = op.get_attr("FTVMStrategy")+    assert fstrategy is not None, "%s doesn't have FTVMStrategy registered" % op.name+    with target:+        strategy = fstrategy(attrs, inputs, out_type, target)+    ret = []+    for spec in strategy.specializations:+        if spec.condition:+            # check if all the clauses in the specialized condition are true+            flag = True+            for clause in spec.condition.clauses:+                clause = tvm.ir_pass.Simplify(clause)

Please use tvm.arith's Analyzer instead for simplifications, as they are more direct approaches, see https://github.com/apache/incubator-tvm/blob/master/python/tvm/arith.py#L164

icemelon9

comment created time in 8 days

Pull request review commentapache/incubator-tvm

Relay op strategy

 enum AnyCodegenStrategy {   kVariableDimensions }; -/* \brief A runtime representation of shape. */+/*! \brief A runtime representation of shape. */ using Shape = Array<IndexExpr>;  using FShapeFunc = runtime::TypedPackedFunc<   Array<te::Tensor>(const Attrs& attrs,-                     const Array<te::Tensor>& inputs,-                     const Array<IndexExpr>& out_ndims)>;+                    const Array<te::Tensor>& inputs,+                    const Array<IndexExpr>& out_ndims)>;++/*!+ * \brief Operator implementation in TVM.+ */+class OpImplementNode : public Object {

OpImplement -> OpImplementation?

icemelon9

comment created time in 8 days

Pull request review commentapache/incubator-tvm

Relay op strategy

 enum AnyCodegenStrategy {   kVariableDimensions }; -/* \brief A runtime representation of shape. */+/*! \brief A runtime representation of shape. */ using Shape = Array<IndexExpr>;  using FShapeFunc = runtime::TypedPackedFunc<   Array<te::Tensor>(const Attrs& attrs,-                     const Array<te::Tensor>& inputs,-                     const Array<IndexExpr>& out_ndims)>;+                    const Array<te::Tensor>& inputs,+                    const Array<IndexExpr>& out_ndims)>;++/*!+ * \brief Operator implementation in TVM.+ */+class OpImplementNode : public Object {+ public:+  /*! \brief Compute function */+  FTVMCompute fcompute;+  /*! \brief Schedule function */+  FTVMSchedule fschedule;+  /*! \brief Name of the implementation */+  std::string name;+  /*! \brief Priority level */+  int plevel;++  void VisitAttrs(tvm::AttrVisitor* v) {+    v->Visit("name", &name);+    v->Visit("plevel", &plevel);+  }++  static constexpr const char* _type_key = "relay.OpImplement";+  TVM_DECLARE_FINAL_OBJECT_INFO(OpImplementNode, Object);+};++/*!+ * \brief Operator implementation class.+ */+class OpImplement : public ObjectRef {

Move related classes to relay/op_strategy.h

icemelon9

comment created time in 8 days

push eventdmlc/dlpack

Ruslan Baratov

commit sha 3ec04430e89a6834e5a1b99471f415fa939bf642

Specify paths to headers using 'target_include_directories' (#52)

view details

push time in 8 days

more