TVM Monthly - April 2019

As discussed with TVM PMC, we would like to give a summary of the project per month, so people can get a better sense of what is going on in the community.

Feedback and suggestion are welcomed so that we can further improve the report.

Community

The community welcomes new committer Wuwei Lin (@vinx13) and new reviewers @hlu1,Meghan Cowan (@cowanmeg). TVM Community has voted through deprecating python2 support in the master branch and following release. (#2994)

This forum grew healthily and got 61.8k pageviews, 2.1k user visits in the last month.

Features and Improvements

The community keeps making progress on supporting a variety of deep learning frameworks, enhancing internal compiler based optimization like fusion, loop partition etc. We also make improvement for relay printing and quantization operator coverage for cuda device. Autotvm support has also been added for Bitserial operators.

More improvements along with details are listed below.

Compiler Improvement

  • Quantize all fields of concatenate (#2913)
  • Remove stale verilog generator (#2964)
  • Improve Relay printing (#2984, 2881, 3030, 3041)
  • Add min_num_branches option in CombineParallelConv2D (#2961)
  • Add expr_visitor, fix expr_functor exponential blowup problem (#2988)
  • Support Deriving channels when it is not provided in AlterLayout. (#2972)
  • Enhence BoundDeduce algorithm (#2795)
  • Enhence loop partition algorithm (#2956)
  • Better tuple fusion implementation (#3092)
  • Enhance fusion rule that starts from elemwise and broadcast (#2932)

Operator Support

  • Add foldr1 operator (#2928)
  • Add rsqrt operator (#2949)
  • Add clip and wrap mode support in take (#2858)
  • Gather_nd exposed to relay (#2945)
  • bitserial_conv2d move to autotvm template and updates (#2819)
  • Port x86 NCHWc to AutoTVM for Task Extraction (#2664)
  • Implement relay nn.bias_add compute in C++ (#3027)
  • Rename output tensors for better readability (#3006)
  • int8 dense on CUDA & Dense op quantization (#2877)
  • Bitserial dense operators for CPU (#3051)
  • Enhance upsample operator to adapt onnx opset v9 (#2968)

User Interface and Frontend

  • Support tf.gather (#2935)
  • Support tf.where (#2936)
  • Adding ADD operator to tflite frontend for compiling the MobileNetV2 (#2919)
  • Support SpaceToBatchND/BatchToSpaceND in Tensorflow frontend (#2943)
  • Simplify TF get_output_names (#3025)
  • TF Tile Round Sign Pow Exp Reverse (#2960)
  • Remove ‘input_0d_mismatch’ special handling for TF Frontend(#3087)
  • Gluncv SSD support on the GPU (#2784)
  • Fix Placeholder issue (#2834)

Language, Runtime and Hardware Support

  • Unify types between bindings and pure Rust impl (#2616)
  • Provide error msg for failure function call in tvm4j(#2967)
  • Expose backtrace symbols in Debug mode (#3001)
  • Rustify PackedFunc & Friends (#2969)
  • C++ GraphRuntimeCodegen, Deprecate Python2 (#2986)
  • Ensure interpreted functions can take values that are not TensorValues (3015)
  • Make OpenCL runtime Compatible with OpenCL2.0 (#2897)

Documents, Test, and Build

  • Add gradient operator tutorial docs (#2751)
  • Add compiler pass tutorial docs (#2746)
  • Add Android Tutorial (#2977)
  • Add caffe2 nnvm frontend to CI (#3018)
  • Use bridge network and expose port on macOS when launch docker image (#3086
  • Run DarkNet tests (#2673)
  • Add file type check (#3116)
  • recover lint error, add asf header check (#3117)

Fixes

  • Fix makedirs() condition in contrib (#2942)
  • Add missing #!/bin/bash directive (#2951)
  • Bilinear resize bug fix from PR #2777 (#2857)
  • Fix bias_add default axis (#2829)
  • Remove empty ty.rs (#2958)
  • fix undefined reference to dlopen, etc (#2957)
  • Removed deprecated std::unary_function (#2962)
  • Fix for compiling error (#2966)
  • Add output format to ndk build func (#2999)
  • Fix java checkstyle version (#2998)
  • Fix relay invariant error message (#3011)
  • Fix for caffe2 nnvm frontend (#2996)
  • Fix rust resnet example (#3000)
  • Fix x||!x for comparisons in rewrite simplifier (#3029)
  • Fix BatchMatMulRel typerelation (#3032)
  • Update dmlc-core, fix default ctors of NodeEntry (#3017)
  • Fix Fuse (#3035)
  • Fix PostOrderVisit signature (#3048)
  • Fix winograd nnpack fp16 (#3046)
  • Fix some typos (#3063, #3112)
  • Fix group_conv2d unit test (#3113)
  • Fix bug in ONNX importer (#3084)
  • Fixing a doc nit (#3123) …
  • Fix type code error for StringImm (#3050)
  • Fix bug of wrongly generated device_map (#2990)
  • use unordered_map instead of map in ANF (#3024)

People Who Reviewed Pull Requests

Note: The format is name(number of activities) Disclaimer: number of activities do not directly correspond to the community’s view about the significance of contributions.

tqchen (105), yzhliu (23), jroesch (16), srkreddy1238 (15), icemelon9 (15), wweic (15), zhiics (12), merrymercy (11), vinx13 (10), FrozenGene (10), eqy (9), ajtulloch (9), MarisaKirisame (8), masahi (8), ZihengJiang (7), nhynes (7), junrushao1994 (7), kevinthesun (6), yongwww (6), grwlf (5), slyubomirsky (4), ehsanmok (4), Laurawly (3), kazum (3), zhreshold (3), xqdan (3), apivovarov (3), yidawang (3), tmoreau89 (2), mjs-arm (2), hlu1 (2), joshpoll (2), sgrechanik-h (2), liangfu (2), antinucleon (2), weberlo (2), denis0x0D (2), kazimuth (2), KoinFlyp (2), siju-samuel (1), Huyuwei (1), lixiaoquan (1), derisavi (1), alexeyr (1), anijain2305 (1), cbalint13 (1), reminisce (1), hcho3 (1), kumasento (1), yinghai (1)

People Whose Pull Requests are Updated in the Last Month

Note: The format is name(number of activities, area list)

hlu1 (21, frontend, runtime), MarisaKirisame (12, relay), tqchen (8, compiler, ci, community), nhynes (6, rust), eqy (6, autotvm, topi), yongwww (6, frontend), icemelon9 (5, operator, compiler), antinucleon (5, op, runtime), cowanmeg (5, operator), vinx13 (4, quantization), masahi (4, fusion), lixiaoquan (4, frontend), sgrechanik-h (4, compiler), derisavi (4, compiler), merrymercy (3, autotvm), yzhliu (3, tvm4j), Laurawly (3, operator), jroesch (3, relay), slyubomirsky (3, relay), apivovarov (3, document), weberlo (3, document), cbalint13 (3, compiler), kazimuth (3, language), llyfacebook (3, operator), srkreddy1238 (2, test), siju-samuel (2, runtime), mjs-arm (2, opencl), kevinthesun (2, operator, autotvm), joshpoll (2, relay), alexeyr (2, frontend), ehsanmok (2, rust), gemfield (2, operator), viirya (2, ci), jdavies-huawei (2, compiler), KoinFlyp (2, frontend), OuHangKresnik (2, fix), kumasento (2, fix), yinghai (2, operator), higumachan (2, operator), PariksheetPinjari909 (1, operator), kazum (1, ci), wweic (1, relay), ajtulloch (1, performance), xqdan (1, compiler), junrushao1994 (1, fix), yidawang (1, relay), liangfu (1, vta), imorinaga (1, fix), ashutoshparkhi (1, operator), makihiro (1, operator), larroy (1, fix), Mutinifni (1, codegen), hcho3 (1, build), leeexyz (1, fix), gaocegege (1, fix), MaxXSoft (1, fix), Youjk (1, fix), unrahul (1, fix), gomida (1, operator), tkat0 (1, document)

5 Likes