tvm
首发于tvm

TVM开发报告 - 2019年4月

社区发展

社区加入了新的committer Wuwei Lin (@vinx13) 和新的 reviewers hlu1,Meghan Cowan (@cowanmeg)。同时,TVM社区通过投票决定在master分支以及之后的release版本中正式弃用Python2的支持(Issue #2994 · dmlc/tvm))。

社区讨论论坛( discuss.tvm.ai )继续健康成长,在3月累计页面浏览量6万1千次,用户访问量2千1百次。

新特性和改进

社区在继续推进对于各种深度学习前端框架的支持,增强了内置的基于编译技术的优化比如说fusion,loop partition等。同时我们也对relay的输出报错系统进行了改进,以及增强了quantization对于cuda设备的支持,autotvm也加入了对bitserial等操作的支持。更多细节可见下表。

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 - ISTanCo Domain Parking (#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)

编辑于 2019-05-06

文章被以下专栏收录