TVM Monthly - May 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 PMC member Eddie Yan (@eqy) and new reviewers
Meghan Cowan (@cowanmeg) and Bing Xu (@antinucleon).

This forum grew healthily and got 65.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 AutoTVM,
simplifier, quantized ops, etc. We deliver major features including Relay VM runtime, pass manager, Darknet frontend for Relay, and TSIM simulation for VTA.

More improvements along with details are listed below.

Compiler Improvement

  • Add pass manager to Relay (#3226, #3234, #3191)
  • Remove on_device op after annotation in heterogeneous pass (#3204)
  • Support custom datatypes (#2900)
  • Core functionality for Graph tuner (#2184)
  • Add the acc16 intrinsic support (#3081)
  • Handle float16 constants & fix BatchNorm (#3260)
  • Structural hash - incorporate the var type into its hash (#3267)
  • Relay C++ Build Module (#3082, #3144, #3174)
  • Improve canonical and rewrite simplifier (#3132, #3149)
  • Detect depthwise conv2d in mac_count pass (#3083)
  • Capture constant external python variables in hybrid script (#3157)
  • Add option to select which convolution layers are quantized. (#3173)
  • Remove Peano nats from the prelude (#3045)
  • Add SkipVectorize pass (#3222, #3228)
  • Macro to define NodeRef methods, constructor style example (#3224)
  • Consistent RAII scoping API (#3231)

Operator Support

  • Add adaptive pooling operator (#3085)
  • Add all operator (#3124)
  • Add cblas batch_matmul (#3210)
  • Add packing for int8 1x1 convolution and support the int8 group convolution on X86 (#2991)

User Interface and Frontend

  • Allow an op as loop var in Tensorflow (#3056)
  • Add FULLY_CONNECTED op into tflite frontend (#3019)
  • Add MXNet converter for RNN layer ops (#3125)
  • Add log op in tf frontend (#3111)
  • Add SoftPlus Sqrt in Tensorflow frontend (#3187)
  • Add onnx elemwise greater/less (#3186)
  • Add PlaceholderWithDefault (limited) implementation in TensorFlow (#3184)
  • Register all operators’ attributes in Python (#3175)
  • Support tf.math.reduce_prod (#3166)
  • Better shape inference in TensorFlow Frontend (#3176)
  • Get list of unsupported ONNX operators (#2995)
  • Frontend darknet (#2773)
  • Implement ONNX MaxPool-v8 and MaxPool-v10 (#3114)
  • Convert TFLite NCHW to NHWC (#3141)
  • Add Crop op converter (#3241)

Language, Runtime and Hardware Support

  • Add VM runtime for Relay and compiler support (#3120, #3121, #2889, #3139)
  • Handle INF and NAN in CUDA and OpenCL (#3194)
  • Update debug graph runtime for more precise layerwise timing (#3232)
  • Enabling Cycle-Accurate Hardware Simulation for VTA (#3010, #3206, #3242)
  • Rust DSO module (#2976)

Documents, Test, and Build

  • Developer documentation for InferBound pass (#3126)
  • Add missing targets to target_name documentation (#3128)
  • Various documentation improvements (#3133)
  • Fix :code: markup syntax (#3140)
  • Always run cpptest during build to ensure library correctness (#3147)
  • Add VM doc (#3188)
  • Handle more file types in ASF header (#3235)

Fixes

  • Fix PRelu layout in Relay (#3013)
  • Minor addition to graph runtime debug (#3129)
  • Fix mali conv2d performance regression (#3131)
  • Fix dense autotvm template registration in ROCm (#3136)
  • Fix conv2d_transpose (#3138)
  • Fix python lint warnings (#3145)
  • Some fixes for golang latest version compiler #3119 (#3182)
  • Add more syncs to fix flaky test caused by get_valid_counts (#3151)
  • Fix AlterLayout Pass (#3155)
  • Fix a multithreaded bug in llvm LazyInitJIT (#3158)
  • Fix a tensorflow test bug. (#3165)
  • Fix concat for ARM (#3061)
  • Handle vectorize for LE statement (#3137)
  • Raise exception group_conv2d_nchw not supported (#3195)
  • Quick fix of VTA FPGA Toolchain Installation documentation (#3196)
  • Check file exists before removing it (#3178)
  • Fix a bug of flatten in ONNX to Relay converter (#3180)
  • Fix converter where initializers were not registered as nodes (#3143)
  • Fix bug in cast to bool (#3207)
  • Hotfix build_module creation (#3198)
  • Fix sort changing original input data issue (#3212)
  • Fix bug in vta runtime DepPop function (#3208)
  • Fix resize nearest with fractional scaling (#3244)
  • Fix vta_conv2d crash issue after change vta_config.json (#3213)
  • Fix a memory leak in OpManager (#3263)
  • PkgConfig cause crash in PYNQ board due to link library (#3257)

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 (106), jroesch (28), yzhliu (20), wweic (17), zhiics (16), vinx13 (13), merrymercy (11), MarisaKirisame (11), icemelon9 (11), srkreddy1238 (9), masahi (7), kevinthesun (7), tmoreau89 (6), slyubomirsky (6), FrozenGene (6), weberlo (6), eqy (5), zhreshold (5), Laurawly (4), yongwww (4), antinucleon (4), junrushao1994 (4), yidawang (4), huajsj (3), hlu1 (2), alex-weaver (2), sgrechanik-h (2), liangfu (2), anijain2305 (2), cbalint13 (2), yinghai (2), ZihengJiang (1), nhynes (1), PariksheetPinjari909 (1), kazum (1), nishi-t (1), were (1), joshpoll (1), ajtulloch (1), xqdan (1), apivovarov (1), derisavi (1), imorinaga (1), grwlf (1), ehsanmok (1), gussmith23 (1), Mutinifni (1), reminisce (1), KoinFlyp (1), kparzysz (1)

People Whose Pull Requests are Updated:

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

kevinthesun (14, op, compiler, fix), zhiics (10, compiler, runtime), jroesch (8, runtime, relay), antinucleon (8, runtime, fix), tqchen (7, compiler, ci), MarisaKirisame (7, relay, compiler), hlu1 (7, fix, runtime, op), yongwww (6, frontend, op), merrymercy (5, compiler, fix), icemelon9 (5, runtime, frontend, fix), slyubomirsky (5, relay, compiler), gussmith23 (5, compiler), Laurawly (4, op, fix), nhynes (4, op, runtime), lixiaoquan (4, frontend), jwfromm (4, compiler, frontend), eqy (3, relay), weberlo (3, compiler), vegaluisjose (3, vta), srkreddy1238 (2, frontend), yzhliu (2, community), vinx13 (2, fix), masahi (2, fix), zhreshold (2, frontend), wweic (2, runtime, doc), sgrechanik-h (2, compiler), huajsj (2, fix), larroy (2, fix), llyfacebook (2, compiler), ZihengJiang (1, compiler), siju-samuel (1, frontend), tmoreau89 (1, vta), ajtulloch (1, op), yidawang (1, fix), liangfu (1, vta), derisavi (1, compiler), FrozenGene (1, fix), imorinaga (1, fix), alexeyr (1, frontend), cowanmeg (1, op), anijain2305 (1, compiler), ashutoshparkhi (1, fix), cbalint13 (1, compiler), gemfield (1, fix), jdavies-huawei (1, doc), KoinFlyp (1, frontend), yinghai (1, fix), higumachan (1, frontend), Oldpan (1, fix), flip1995 (1, doc), hostplant (1, runtime), kparzysz (1, runtime), songqun (1, frontend)

4 Likes