Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update upstream 20190626 #33

Merged
merged 176 commits into from
Jun 27, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
176 commits
Select commit Hold shift + click to select a range
dcd3db4
cleanup: removed a piece of code that is redundant now given updates …
derisavi May 13, 2019
cdaa7bc
add onnx elemwise greater/less (#3186)
zhreshold May 13, 2019
6d604c0
[RELAY][PASS] detect depthwise conv2d in mac_count pass (#3083)
eqy May 14, 2019
ca37de7
Avoid using heavy API to query single attribution (#3179)
ghostplant May 14, 2019
ab4f881
[Relay][TensorFlow Frontend] SoftPlus Sqrt (#3187)
yongwww May 15, 2019
f835627
[Datatypes] Custom datatypes (#2900)
gussmith23 May 15, 2019
cb91d7e
[Relay][Compilation] replace relay.build_module with C++ BuildModule …
zhiics May 16, 2019
e570767
[Relay] Option to select which convolution layers are quantized. (#3173)
jwfromm May 16, 2019
73af04f
Add the acc16 intrinsic support (#3081)
lly-zero-one May 16, 2019
30d026f
Get list of unsupported ONNX operators (#2995)
markrogersjr May 16, 2019
6bcc40d
[TENSORLFOW] PlaceholderWithDefault (limited) implementation. (#3184)
srkreddy1238 May 16, 2019
22a7af3
[TOPI] Raise exception group_conv2d_nchw not supported (#3195)
vinx13 May 16, 2019
a2e6d10
Quick fix of VTA FPGA Toolchain Installation documentation (#3196)
flip1995 May 16, 2019
57963d5
Update .gitignore (#3199)
MarisaKirisame May 16, 2019
fc00608
[RELAY] Hotfix build_module creation (#3198)
tqchen May 16, 2019
d9a3798
[Relay] Better shape inference in TensorFlow Frontend. (#3176)
jwfromm May 17, 2019
d98318c
[CODEGEN][CUDA][OPENCL] Handle INF and NAN (#3194)
lixiaoquan May 17, 2019
4eb19ad
[ARM] Fix concat (#3061)
hlu1 May 17, 2019
dafa2f8
[BugFix][VTA] Fix bug in vta runtime DepPop function. (#3208)
huajsj May 20, 2019
2039d2a
[VTA] [TSIM] Improve tsim example (#3206)
vegaluisjose May 20, 2019
c174537
[BugFix] Fix bug in cast to bool (#3207)
icemelon May 20, 2019
c5549b1
[Relay][ONNX] fix #3134 converter where initializers were not registe…
zhreshold May 20, 2019
08fa791
[Relay][TOPI] operator All (#3124)
yongwww May 20, 2019
00a0099
Add bing to reviewer (#3214)
icemelon May 21, 2019
04d2b04
[relay][vm] remove throw in destructor (#3215)
zhiics May 21, 2019
1bf6184
[Relay][heterogeneous pass] remove on_device op after annotation (#3204)
zhiics May 21, 2019
5a798c8
[Contrib] cblas batch_matmul (#3210)
hlu1 May 21, 2019
ced5110
Add `SkipVectorize` pass (#3222)
weberlo May 21, 2019
f279c10
[TFLite] Convert TFLite NCHW to NHWC (#3141)
FrozenGene May 22, 2019
ea40f53
[Team] Eddie -> PMC (#3220)
yzhliu May 22, 2019
3602f8c
Add packing for int8 1x1 convolution and support the int8 group convo…
lly-zero-one May 22, 2019
b950767
[Bugfix] Fix sort changing original input data issue (#3212)
Laurawly May 22, 2019
6d1520a
[WIP] [Relay] [NNVM] [Frontend] implement MaxPool-8 and MaxPool-10 (#…
higumachan May 22, 2019
d7f2d30
[relay][pass manager] Open transform namespace (#3226)
zhiics May 22, 2019
0dbfa2a
[Relay][Prelude] Remove Peano nats from the prelude (#3045)
slyubomirsky May 22, 2019
522105a
Register SkipVectorize (#3228)
gussmith23 May 22, 2019
982841e
[3rdparty] sync submodules (#3229)
antinucleon May 22, 2019
e6b68b4
[GraphRuntime] Debug graph runtime (#3232)
hlu1 May 23, 2019
5ff99b6
[NODE] Macro to define NodeRef methods, constructor style example (#3…
tqchen May 23, 2019
4427d34
Modified pick best to accumulate the best configurations from both th…
jwfromm May 23, 2019
489a805
[LINT] handle more file types in ASF header (#3235)
eqy May 24, 2019
50ba25a
[C++][API] Consistent RAII scoping API. (#3231)
tqchen May 24, 2019
5e25c76
[Relay][Transform] merge PassContext and BuildConfig (#3234)
zhiics May 24, 2019
1e66d2f
[RELAY]Frontend darknet (#2773)
siju-samuel May 24, 2019
51a2d64
[Relay] remove unneeded VisitExpr (#3239)
MarisaKirisame May 24, 2019
f8c4cb9
[Relay] Start porting pass to the pass manager (#3191)
MarisaKirisame May 24, 2019
4b8bae3
Fixed a typo (#3218)
gemfield May 25, 2019
a6fc910
[Relay][Frontend] Add Crop op converter (#3241)
icemelon May 26, 2019
cbc719b
[ARITH] Improve div/mod in rewrite simplifier (#3149)
sgrechanik-h May 27, 2019
f3b4c80
[Doc][Relay] Add VM doc (#3188)
wweic May 27, 2019
8bd6046
[VTA][TSIM] Use Module instead of RawModule for testbench by creating…
vegaluisjose May 28, 2019
f928887
Move CombineParallelConv2D to opt level 4 (#3248)
vinx13 May 28, 2019
d89257a
kCustomBegin overlapped with kExtEnd; incr by 1 (#3250)
gussmith23 May 28, 2019
87538e4
Typo: Tensorflow --> TensorFlow (#3249)
gussmith23 May 28, 2019
f736980
[RUST] Rust DSO module (#2976)
nhynes May 28, 2019
cbd62f1
[TOPI] Fix resize nearest with fractional scaling (#3244)
masahi May 28, 2019
cb0fe1d
[C++] Cleanup transform API nits (#3253)
tqchen May 29, 2019
9053677
[BugFix][VTA] Fix vta_conv2d crash issue after change vta_config.json…
huajsj May 29, 2019
4cd7589
[AutoTVM]Core functionality for Graph tuner (#2184)
kevinthesun May 29, 2019
d0705c5
[Relay] Handle float16 constants & fix BatchNorm (#3260)
cbalint13 May 31, 2019
3491169
[Bugfix] Fix a memory leak in OpManager (#3263)
hlu1 May 31, 2019
bd4ead2
Jekyll (#3262)
tqchen May 31, 2019
d9f4f5d
[Relay][Hashing] Structural hash - incorporate the var type into its …
anijain2305 May 31, 2019
a49722c
Enable uTVM in Jenkinsfile (#3269)
weberlo May 31, 2019
d1bb99f
[Bugfix][VTA] PkgConfig cause crash in PYNQ board due to link library…
huajsj Jun 1, 2019
2581b69
[relay][heterogeneous] annotate using visitor (#3261)
zhiics Jun 1, 2019
61dda87
Update tflite tutorial to use TFLite r1.13 schema (#3271)
apivovarov Jun 1, 2019
92a61c3
[ARITH] Bugfix: check arg positiveness for mod rules (#3279)
sgrechanik-h Jun 3, 2019
3919e01
[RELAY][TRANSFORM] Migrate buildmodule to transform (#3251)
zhiics Jun 3, 2019
439c2f8
[ARITH] Bugfix: int bound analysis for mod (#3288)
sgrechanik-h Jun 4, 2019
23ce1f2
Bump ONNX version (#3286)
jroesch Jun 4, 2019
c861aa3
[Bugfix] [VTA] VTA DRAM Have A Logic Issue May Cause GEMM Output Wron…
huajsj Jun 4, 2019
21daf8e
[Relay][Docs] Add parser dependency install instructions. (#3277)
joshpoll Jun 4, 2019
4e90aac
[Relay/TOPI][Op] Add TopK operator (#3256)
icemelon Jun 4, 2019
a79e078
[LANG] Comparison operators support for Imm expressions (#3283)
ZihengJiang Jun 4, 2019
1dbe83d
[IR] Try to improve nms and get_valid_count (#3282)
Laurawly Jun 5, 2019
cd3248e
[Relay][VM] Fix code generation for packed functions + tuples (#3287)
jroesch Jun 5, 2019
b8bd444
Improve error message for custom tflite operators (#3284)
apivovarov Jun 5, 2019
92c10ec
More fixes and tweaks to the cuda conda packages (#3281)
abergeron Jun 5, 2019
cdabfa9
[VTA] [Hardware] Chisel implementation (#3258)
vegaluisjose Jun 5, 2019
9851c83
Add support for overloading comparison operations in relay (#2910) (#…
Jun 5, 2019
b130c9c
fast tanh (#3255)
hlu1 Jun 5, 2019
d1325be
Ghost nodes in NNVM graph (#3290)
ptrendx Jun 5, 2019
ceac70b
Improve x86 roi align (#3296)
kevinthesun Jun 6, 2019
265a71a
[VTA] [APPS] [TSIM] small naming fix (#3293)
vegaluisjose Jun 6, 2019
21ea7e6
[Relay][Frontend] Simplify parameter handling in Tensorflow frontend …
alexeyr Jun 6, 2019
9c8ffa2
Fix x86 depthwise conv2d alter_op_layout (#3264)
kevinthesun Jun 6, 2019
ca5a817
Minor improve to assertion (#3295)
larroy Jun 6, 2019
1c8b5c3
[VTA] add doc to tsim-example driver and update verilator env variabl…
vegaluisjose Jun 7, 2019
7063b77
Fix some typos in api docs (#3309)
apivovarov Jun 7, 2019
a2864a8
[DOC] Capitalize TVM consistently (#3316)
mshawcroft Jun 7, 2019
8a08651
[LINT] Improve robustness in task_lint.sh logic (#3315)
mshawcroft Jun 7, 2019
a126e3b
[DOC] minor language use improvements (#3317)
mshawcroft Jun 7, 2019
c68d5c5
[CI] Ensure rat ignores rust cargo lock files [CI] Ensure rat ignores…
mshawcroft Jun 7, 2019
a6083b0
[PASS][RELAY] polish pass infra (#3319)
tqchen Jun 7, 2019
c34dddd
Make the behavior of data nullptr check of pooling layer same as othe…
Lyken17 Jun 8, 2019
ff4ffe9
[VTA] [APPS] [TSIM] update documentation (README) (#3318)
vegaluisjose Jun 8, 2019
dc8d27e
[Rust] Static syslib (#3274)
nhynes Jun 9, 2019
bfdda28
Improve non_max_suppression and get_valid_counts for CPU (#3305)
kevinthesun Jun 9, 2019
c9dc9a3
Add MUL operator to relay tflite frontend (#3304)
apivovarov Jun 9, 2019
05ded20
add another default location to verilator (#3324)
vegaluisjose Jun 9, 2019
b35350e
[DOC] minor gramatical improvements to tensor_expr_get_started (#3330)
mshawcroft Jun 10, 2019
e19b899
Drop trailing whitespace (#3331)
mshawcroft Jun 10, 2019
9b3a340
[CI] Fix shell script exit codes (#3329)
mshawcroft Jun 10, 2019
b54019f
Add all parameters to from_tensorflow docs (#3321)
apivovarov Jun 10, 2019
317b98a
Fix Error messages in tflite.py (#3320)
apivovarov Jun 10, 2019
c435ab9
Support x86 dilation conv2d and improve multi-batch conv2d (#3308)
kevinthesun Jun 10, 2019
a33e7aa
[Autotvm] Support override (#3292)
hlu1 Jun 10, 2019
a654cf1
[Relay][heterogeneous] Fix tuple annotation (#3311)
zhiics Jun 10, 2019
e3ee1aa
Add PAD operator to relay tflite frontend (#3310)
apivovarov Jun 10, 2019
ac20b98
[relay][vm] move vm opt passes to pass manager (#3323)
zhiics Jun 11, 2019
92dfe37
[Relay][Prelude] Use the Relay parser to define the Relay prelude (#3…
jroesch Jun 11, 2019
f1d3d6f
Add LOGISTIC operator to relay tflite frontend (#3313)
apivovarov Jun 11, 2019
5aa8212
[CI] Clarify RAT exclude patterns. (#3328)
mshawcroft Jun 11, 2019
278d81a
[RELAY] Pass infra cleanup (#3336)
tqchen Jun 11, 2019
9f94927
[CI] separate out legacy as a stage (#3337)
tqchen Jun 11, 2019
630a0ae
[Topi] Fast mode in take op (#3325)
hlu1 Jun 11, 2019
a0aeeb5
[VTA][TSIM] update app example (#3343)
vegaluisjose Jun 11, 2019
590c457
Non_maximum_suppression and get_valid_counts add new parameters (#3335)
Laurawly Jun 12, 2019
7e8de9b
[DOC] minor grammatical improvements (#3341)
mshawcroft Jun 12, 2019
515cbb2
[DOC] clarfiy explanation (#3340)
mshawcroft Jun 12, 2019
b131be2
[Relay][Backend] Fix interpreter argument conversion for tuples. (#3349)
jroesch Jun 12, 2019
7f4510c
[Relay][Frontend] Fix MxNet RNN without providing state initializatio…
icemelon Jun 12, 2019
4fcf582
[Relay] add ClipByValue and Neg in tf frontend converter (#3211)
yongwww Jun 12, 2019
9ab290f
Support export ADT value in Python (#3299)
wweic Jun 13, 2019
5bd12cc
[Team] Jian Weng -> Committer (#3359)
yzhliu Jun 13, 2019
c154e6b
Update tflite schema version to 1.13 (#3356)
apivovarov Jun 13, 2019
aa91e52
[Relay][Transform] quantize opt passes to pass manager (#3289)
zhiics Jun 13, 2019
5701d2e
[Relay] Check match expressions for completeness (#3203)
slyubomirsky Jun 13, 2019
ddbe014
[Relay] Add Elemwise operator Sub, Divide, Power, Max, Min to tflite …
huajsj Jun 13, 2019
08f9f01
[Relay][Frontend] Add a bunch of ops in tf converter (#3270)
yongwww Jun 13, 2019
827a8fb
[ARITH] Revamp IntSet (#3272)
tqchen Jun 13, 2019
ebff9ac
[Relay] tflite frontend, keep underline with comments in same length.…
huajsj Jun 13, 2019
c2c40b7
Update CMakeLists.txt to be more flexible (#3354)
marcelotrevisani Jun 13, 2019
faff496
[VTA] add support to event counters (#3347)
vegaluisjose Jun 13, 2019
eb675ec
[TEST][FLAKY] Fix flaky test on topk and quantize pass (#3362)
icemelon Jun 14, 2019
4a0b742
fix hardware-makefile for osx, bugfix chisel-RegFile, and rename driv…
vegaluisjose Jun 14, 2019
fcc6897
[BUILD] Enable more visible symbols by default (#3365)
tqchen Jun 14, 2019
c45bef4
Add test_forward_ssd_mobilenet_v1 to tflite/test_forward (#3350)
apivovarov Jun 14, 2019
82a5546
[Relay][VM] Add AllocTensor instruction and better instruction printe…
icemelon Jun 14, 2019
b8b93f8
Fix typo in word explicitly (#3376)
apivovarov Jun 15, 2019
964c260
save (#3033)
MarisaKirisame Jun 15, 2019
700afd4
add favicon in rtd (#3379)
szha Jun 17, 2019
3c7e132
[RELAY][PASS] Enable decorating python class as Pass (#3364)
tqchen Jun 17, 2019
5b348b3
[relay][frontend] Return module from frontend parsers (#3353)
zhiics Jun 17, 2019
d3077d5
[Relay][Pass] CanonicalizeCast (#3280)
vinx13 Jun 17, 2019
2f5bc0d
[nnvm] fix nnvm compiler build module error (#3378)
Howave Jun 17, 2019
e852b5c
[Relay][Frontend][ONNX] Fix reshape precompute, and type error (#3230)
jroesch Jun 17, 2019
4647a9c
TFLite: Add fused_activation_function for ADD, SUB, MUL, DIV (#3372)
apivovarov Jun 17, 2019
28a3b75
Revert "[Relay][Frontend][ONNX] Fix reshape precompute, and type erro…
tqchen Jun 17, 2019
24cb036
hotfix for onnx (#3387)
zhiics Jun 18, 2019
c034258
[ARITH] Bugfix min/max const canonicalize rule (#3386)
tqchen Jun 18, 2019
f87ef07
Add RESIZE operators to realy TFLite frontend (#3370)
apivovarov Jun 18, 2019
781ed45
[CI] Update ci-gpu to v0.52 (#3374)
tqchen Jun 18, 2019
7aedb15
[TEST][TENSORFLOW] clean up code (#3342)
vv1133 Jun 19, 2019
adb2e67
[Bugfix] Missing headers (#3392)
hlu1 Jun 19, 2019
b505439
[VTA] Fix VTA function Vivado Compile Error. (#3375)
huajsj Jun 20, 2019
649092c
return mod from frontend for autotvm (#3401)
zhiics Jun 20, 2019
20fab59
[Relay] Fix name conflict in PartialEval (#3402)
vinx13 Jun 20, 2019
6508d31
to fix issue Target llvm is not enabled[followup] (#3404)
henrywu2019 Jun 20, 2019
d8799ab
Add EtaExpand to transform API (#3406)
wweic Jun 20, 2019
da648cd
[Community] @joshpoll -> Reviewer (#3412)
merrymercy Jun 21, 2019
0a9d379
[VTA] [APPS] Update README on tsim example (#3409)
vegaluisjose Jun 21, 2019
cd49a56
Extend TensorComputeOp to allow scalar inputs (#2606). (#3300)
jdavies-huawei Jun 22, 2019
d31254c
Create closure object for GlobalVar (#3411)
wweic Jun 22, 2019
401576d
Fix global var in prelude (#3405)
wweic Jun 22, 2019
cd18ee8
[QUANTIZE] Memorizing the quantize node mapping (#3233)
ZihengJiang Jun 22, 2019
50ce8da
Add nix to gitignore (#3418)
MarisaKirisame Jun 22, 2019
95fa59b
[Frontend][MxNet] Support bidirectional RNN layer (#3397)
icemelon Jun 23, 2019
466e8d4
Add Reduce operators to TFLite (#3421)
apivovarov Jun 24, 2019
40fe439
fix (#3417)
MarisaKirisame Jun 24, 2019
42afe41
Fixing package path in tflite test (#3427)
wangshangsam Jun 25, 2019
b1da37d
[Runtime] Allow for parameter sharing in GraphRuntime (#3384)
ajtulloch Jun 25, 2019
e8dbfc8
[VTA] Add VTA PYNQ metal_test bitstream program logic and fix compile…
huajsj Jun 25, 2019
6cd907e
[Relay] Add ResizeNearestNeighbor and CropAndResize in tf converter (…
yongwww Jun 25, 2019
61a90e7
Update dmlc_tvm_commit_id
Jun 26, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -216,3 +216,14 @@ patched.txt
# Python type checking
.mypy_cache/
.pyre/

# pipenv file
Pipfile
Pipfile.lock

# conda package artifacts
conda/Dockerfile.cuda*
conda/pkg

.envrc
*.nix
2 changes: 1 addition & 1 deletion 3rdparty/HalideIR
Submodule HalideIR updated 2 files
+3 −1 Makefile
+2 −2 src/ir/IR.cpp
80 changes: 80 additions & 0 deletions 3rdparty/bfloat16/bfloat16.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
/*
Copyright (c) 2019 by Contributors
\file tvm/src/codegen/custom_datatypes/mybfloat16.cc
\brief Small bfloat16 library for use in unittests

Code originally from TensorFlow; taken and simplified. Original license:

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
==============================================================================*/

#include <tvm/runtime/c_runtime_api.h>
#include <cstddef>
#include <cstdint>

void FloatToBFloat16(const float* src, uint16_t* dst, size_t size) {
const uint16_t* p = reinterpret_cast<const uint16_t*>(src);
uint16_t* q = reinterpret_cast<uint16_t*>(dst);
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
for (; size != 0; p += 2, q++, size--) {
*q = p[0];
}
#else
for (; size != 0; p += 2, q++, size--) {
*q = p[1];
}
#endif
}

void BFloat16ToFloat(const uint16_t* src, float* dst, size_t size) {
const uint16_t* p = reinterpret_cast<const uint16_t*>(src);
uint16_t* q = reinterpret_cast<uint16_t*>(dst);
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
for (; size != 0; p++, q += 2, size--) {
q[0] = *p;
q[1] = 0;
}
#else
for (; size != 0; p++, q += 2, size--) {
q[0] = 0;
q[1] = *p;
}
#endif
}

void BFloat16Add(const uint16_t* a, const uint16_t* b, uint16_t* dst,
size_t size) {
float a_f, b_f;
BFloat16ToFloat(a, &a_f, 1);
BFloat16ToFloat(b, &b_f, 1);
float out_f = a_f + b_f;
FloatToBFloat16(&out_f, dst, 1);
}

extern "C" {
TVM_DLL TVM_DLL uint16_t FloatToBFloat16_wrapper(float in) {
uint16_t out;
FloatToBFloat16(&in, &out, 1);
return out;
}

TVM_DLL float BFloat16ToFloat_wrapper(uint16_t in) {
float out;
BFloat16ToFloat(&in, &out, 1);
return out;
}

TVM_DLL uint16_t BFloat16Add_wrapper(uint16_t a, uint16_t b) {
uint16_t out;
BFloat16Add(&a, &b, &out, 1);
return out;
}
}
2 changes: 1 addition & 1 deletion 3rdparty/dlpack
30 changes: 24 additions & 6 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,13 @@ tvm_option(USE_SGX "Build with SGX" OFF)
tvm_option(USE_RTTI "Build with RTTI" ON)
tvm_option(USE_MSVC_MT "Build with MT" OFF)
tvm_option(INSTALL_DEV "Install compiler infrastructure" OFF)
tvm_option(HIDE_PRIVATE_SYMBOLS "Compile with -fvisibility=hidden." OFF)

# 3rdparty libraries
tvm_option(DLPACK_PATH "Path to DLPACK" "3rdparty/dlpack/include")
tvm_option(DMLC_PATH "Path to DMLC" "3rdparty/dmlc-core/include")
tvm_option(RANG_PATH "Path to RANG" "3rdparty/rang/include")
tvm_option(COMPILER_RT_PATH "Path to COMPILER-RT" "3rdparty/compiler-rt")

# Contrib library options
tvm_option(USE_BLAS "The blas library to be linked" none)
Expand All @@ -52,11 +59,12 @@ tvm_option(USE_TENSORRT "Build with TensorRT, must have CUDA and CUDNN enabled"
tvm_option(USE_ANTLR "Build with ANTLR for Relay parsing" OFF)

# include directories
include_directories(${CMAKE_INCLUDE_PATH})
include_directories("include")
include_directories("3rdparty/dlpack/include")
include_directories("3rdparty/dmlc-core/include")
include_directories("3rdparty/rang/include")
include_directories("3rdparty/compiler-rt")
include_directories(${DLPACK_PATH})
include_directories(${DMLC_PATH})
include_directories(${RANG_PATH})
include_directories(${COMPILER_RT_PATH})

# initial variables
set(TVM_LINKER_LIBS "")
Expand Down Expand Up @@ -90,8 +98,13 @@ else(MSVC)
set(CMAKE_C_FLAGS "-O0 -g -Wall -fPIC ${CMAKE_C_FLAGS} -rdynamic")
set(CMAKE_CXX_FLAGS "-O0 -g -Wall -fPIC -std=c++11 ${CMAKE_CXX_FLAGS} -rdynamic")
else()
set(CMAKE_C_FLAGS "-O2 -Wall -fPIC -fvisibility=hidden ${CMAKE_C_FLAGS}")
set(CMAKE_CXX_FLAGS "-O2 -Wall -fPIC -fvisibility=hidden -std=c++11 ${CMAKE_CXX_FLAGS}")
set(CMAKE_C_FLAGS "-O2 -Wall -fPIC ${CMAKE_C_FLAGS}")
set(CMAKE_CXX_FLAGS "-O2 -Wall -fPIC -std=c++11 ${CMAKE_CXX_FLAGS}")
if (HIDE_PRIVATE_SYMBOLS)
message("Hide private symbols...")
set(CMAKE_C_FLAGS "-fvisibility=hidden ${CMAKE_C_FLAGS}")
set(CMAKE_CXX_FLAGS "-fvisibility=hidden ${CMAKE_CXX_FLAGS}")
endif(HIDE_PRIVATE_SYMBOLS)
endif ()
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" AND
CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7.0)
Expand Down Expand Up @@ -123,6 +136,8 @@ file(GLOB_RECURSE RELAY_SRCS
)
list(APPEND COMPILER_SRCS ${RELAY_SRCS})

file(GLOB DATATYPE_SRCS src/codegen/datatype/*.cc)
list(APPEND COMPILER_SRCS ${DATATYPE_SRCS})

if(NOT MSVC)
file(GLOB COMPILER_VERILOG_SRCS src/codegen/verilog/*.cc)
Expand Down Expand Up @@ -152,6 +167,8 @@ if(NOT USE_RTTI)
add_definitions(-DDMLC_ENABLE_RTTI=0)
endif()

list(APPEND RUNTIME_SRCS 3rdparty/bfloat16/bfloat16.cc)

if(USE_RPC)
message(STATUS "Build with RPC support...")
file(GLOB RUNTIME_RPC_SRCS src/runtime/rpc/*.cc)
Expand Down Expand Up @@ -209,6 +226,7 @@ add_library(tvm_runtime_static STATIC ${RUNTIME_SRCS})
if(USE_RELAY_DEBUG)
message(STATUS "Building Relay in debug mode...")
set_target_properties(tvm PROPERTIES COMPILE_DEFINITIONS "USE_RELAY_DEBUG")
else()
set_target_properties(tvm PROPERTIES COMPILE_DEFINITIONS "NDEBUG")
endif(USE_RELAY_DEBUG)

Expand Down
5 changes: 4 additions & 1 deletion CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,8 @@ We do encourage everyone to work anything they are interested in.
- [Zhixun Tan](https://github.com/phisiart): @phisiart - opengl, web
- [Leyuan Wang](https://github.com/Laurawly): @Laurawly: - topi
- [Yao Wang](https://github.com/kevinthesun): @kevinthesun: - topi, vision
- [Eddie Yan](https://github.com/eqy): @eqy - runtime, autotvm, rpc, topi
- [Jian Weng](https://github.com/were): @were: - hybrid script
- [Eddie Yan](https://github.com/eqy) (PMC): @eqy - runtime, autotvm, rpc, topi
- [Lianmin Zheng](https://github.com/merrymercy) (PMC): @merrymercy - autotvm, topi, relay

## Reviewers
Expand All @@ -82,6 +83,7 @@ We do encourage everyone to work anything they are interested in.
- [Kazutaka Morita](https://github.com/kazum): @kazum
- [Tatsuya Nishiyama](https://github.com/nishi-t): @nishi-t
- [Pariksheet Pinjari](https://github.com/PariksheetPinjari909): @PariksheetPinjari909
- [Josh Pollock](https://github.com/joshpoll): @joshpoll
- [Jared Roesch](https://github.com/jroesch): @jroesch
- [Siva](https://github.com/srkreddy1238): @srkreddy1238
- [Siju Samuel](https://github.com/siju-samuel): @siju-samuel
Expand All @@ -94,6 +96,7 @@ We do encourage everyone to work anything they are interested in.
- [Leyuan Wang](https://github.com/Laurawly): @Laurawly
- [Jian Weng](https://github.com/were): @were
- [Zhao Wu](https://github.com/FrozenGene): @FrozenGene
- [Bing Xu](https://github.com/antinucleon): @antinucleon
- [Eddie Yan](https://github.com/eqy): @eqy
- [Joshua Z. Zhang](https://github.com/zhreshold): @zhreshold
- [Lianmin Zheng](https://github.com/merrymercy): @merrymercy
Expand Down
18 changes: 17 additions & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
// - Periodically cleanup the old versions on local workers
//
ci_lint = "tvmai/ci-lint:v0.51"
ci_gpu = "tvmai/ci-gpu:v0.51"
ci_gpu = "tvmai/ci-gpu:v0.52"
ci_cpu = "tvmai/ci-cpu:v0.50"
ci_i386 = "tvmai/ci-i386:v0.50"

Expand Down Expand Up @@ -135,6 +135,7 @@ stage('Build') {
echo set\\(USE_CUDNN ON\\) >> config.cmake
echo set\\(USE_CUDA ON\\) >> config.cmake
echo set\\(USE_OPENGL ON\\) >> config.cmake
echo set\\(USE_MICRO ON\\) >> config.cmake
echo set\\(USE_LLVM llvm-config-6.0\\) >> config.cmake
echo set\\(USE_NNPACK ON\\) >> config.cmake
echo set\\(NNPACK_PATH /NNPACK/build/\\) >> config.cmake
Expand All @@ -157,6 +158,7 @@ stage('Build') {
echo set\\(USE_OPENCL ON\\) >> config.cmake
echo set\\(USE_ROCM ON\\) >> config.cmake
echo set\\(USE_VULKAN ON\\) >> config.cmake
echo set\\(USE_MICRO ON\\) >> config.cmake
echo set\\(USE_GRAPH_RUNTIME_DEBUG ON\\) >> config.cmake
echo set\\(CMAKE_CXX_COMPILER clang-6.0\\) >> config.cmake
echo set\\(CMAKE_CXX_FLAGS -Werror\\) >> config.cmake
Expand All @@ -174,12 +176,14 @@ stage('Build') {
cd build
cp ../cmake/config.cmake .
echo set\\(USE_SORT ON\\) >> config.cmake
echo set\\(USE_MICRO ON\\) >> config.cmake
echo set\\(USE_GRAPH_RUNTIME_DEBUG ON\\) >> config.cmake
echo set\\(USE_LLVM llvm-config-4.0\\) >> config.cmake
echo set\\(USE_NNPACK ON\\) >> config.cmake
echo set\\(NNPACK_PATH /NNPACK/build/\\) >> config.cmake
echo set\\(CMAKE_CXX_COMPILER g++\\) >> config.cmake
echo set\\(CMAKE_CXX_FLAGS -Werror\\) >> config.cmake
echo set\\(HIDE_PRIVATE_SYMBOLS ON\\) >> config.cmake
"""
make(ci_cpu, 'build', '-j4')
pack_lib('cpu', tvm_lib)
Expand All @@ -202,6 +206,7 @@ stage('Build') {
cd build
cp ../cmake/config.cmake .
echo set\\(USE_SORT ON\\) >> config.cmake
echo set\\(USE_MICRO ON\\) >> config.cmake
echo set\\(USE_RPC ON\\) >> config.cmake
echo set\\(USE_GRAPH_RUNTIME_DEBUG ON\\) >> config.cmake
echo set\\(USE_LLVM llvm-config-5.0\\) >> config.cmake
Expand Down Expand Up @@ -277,6 +282,17 @@ stage('Integration Test') {
}
}
},
'legacy: GPU': {
node('GPU') {
ws('workspace/tvm/legacy-python-gpu') {
init_git()
unpack_lib('gpu', tvm_multilib)
timeout(time: max_time, unit: 'MINUTES') {
sh "${docker_run} ${ci_gpu} ./tests/scripts/task_python_legacy.sh"
}
}
}
},
'docs: GPU': {
node('GPU') {
ws('workspace/tvm/docs-python-gpu') {
Expand Down
2 changes: 1 addition & 1 deletion apps/android_rpc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ export TVM_NDK_CC=/opt/android-toolchain-arm64/bin/aarch64-linux-android-g++
python android_rpc_test.py
```

This will compile TVM IR to shared libraries (CPU, OpenCL and Vulkan) and run vector addition on your Android device. To verify compiled TVM IR shared libraries on OpenCL target set [`'test_opencl = True'`](https://github.com/dmlc/tvm/blob/master/apps/android_rpc/tests/android_rpc_test.py#L25) and on Vulkan target set [`'test_vulkan = False'`](https://github.com/dmlc/tvm/blob/master/apps/android_rpc/tests/android_rpc_test.py#L27) in [tests/android_rpc_test.py](https://github.com/dmlc/tvm/blob/master/apps/android_rpc/tests/android_rpc_test.py), by default on CPU target will execute.
This will compile TVM IR to shared libraries (CPU, OpenCL and Vulkan) and run vector addition on your Android device. To verify compiled TVM IR shared libraries on OpenCL target set `'test_opencl = True'` and on Vulkan target set `'test_vulkan = True'` in [tests/android_rpc_test.py](https://github.com/dmlc/tvm/blob/master/apps/android_rpc/tests/android_rpc_test.py), by default on CPU target will execute.
On my test device, it gives following results.

```bash
Expand Down
3 changes: 0 additions & 3 deletions cmake/config.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -135,9 +135,6 @@ set(USE_TENSORRT OFF)
# Build ANTLR parser for Relay text format
set(USE_ANTLR OFF)

# Build TSIM for VTA
set(USE_VTA_TSIM OFF)

# Whether use Relay debug mode
set(USE_RELAY_DEBUG OFF)

18 changes: 9 additions & 9 deletions cmake/modules/VTA.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,7 @@ elseif(PYTHON)
--use-cfg=${CMAKE_CURRENT_BINARY_DIR}/vta_config.json)
endif()

execute_process(COMMAND ${VTA_CONFIG} --target OUTPUT_VARIABLE __vta_target)
string(STRIP ${__vta_target} VTA_TARGET)
execute_process(COMMAND ${VTA_CONFIG} --target OUTPUT_VARIABLE VTA_TARGET OUTPUT_STRIP_TRAILING_WHITESPACE)

message(STATUS "Build VTA runtime with target: " ${VTA_TARGET})

Expand All @@ -44,6 +43,13 @@ elseif(PYTHON)

add_library(vta SHARED ${VTA_RUNTIME_SRCS})

if(${VTA_TARGET} STREQUAL "tsim")
target_compile_definitions(vta PUBLIC USE_TSIM)
include_directories("vta/include")
file(GLOB RUNTIME_DPI_SRCS vta/src/dpi/module.cc)
list(APPEND RUNTIME_SRCS ${RUNTIME_DPI_SRCS})
endif()

target_include_directories(vta PUBLIC vta/include)

foreach(__def ${VTA_DEFINITIONS})
Expand All @@ -55,18 +61,12 @@ elseif(PYTHON)
set_target_properties(vta PROPERTIES LINK_FLAGS "-undefined dynamic_lookup")
endif(APPLE)

# PYNQ rules for Pynq v2.3
# PYNQ rules for Pynq v2.4
if(${VTA_TARGET} STREQUAL "pynq")
find_library(__cma_lib NAMES cma PATH /usr/lib)
target_link_libraries(vta ${__cma_lib})
endif()

if(NOT USE_VTA_TSIM STREQUAL "OFF")
include_directories("vta/include")
file(GLOB RUNTIME_DPI_SRCS vta/src/dpi/module.cc)
list(APPEND RUNTIME_SRCS ${RUNTIME_DPI_SRCS})
endif()

else()
message(STATUS "Cannot found python in env, VTA build is skipped..")
endif()
6 changes: 5 additions & 1 deletion cmake/modules/contrib/BLAS.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,11 @@ elseif(USE_BLAS STREQUAL "mkl")
if(NOT IS_DIRECTORY ${USE_MKL_PATH})
set(USE_MKL_PATH /opt/intel/mkl)
endif()
find_library(BLAS_LIBRARY NAMES mkl_rt mklml_gnu HINTS ${USE_MKL_PATH}/lib/ ${USE_MKL_PATH}/lib/intel64)
if(APPLE)
find_library(BLAS_LIBRARY NAMES mklml HINTS ${USE_MKL_PATH}/lib/ ${USE_MKL_PATH}/lib/intel64)
elseif(UNIX)
find_library(BLAS_LIBRARY NAMES mkl_rt mklml_gnu HINTS ${USE_MKL_PATH}/lib/ ${USE_MKL_PATH}/lib/intel64)
endif()
include_directories(${USE_MKL_PATH}/include)
list(APPEND TVM_RUNTIME_LINKER_LIBS ${BLAS_LIBRARY})
list(APPEND RUNTIME_SRCS ${CBLAS_CONTRIB_SRC})
Expand Down
10 changes: 8 additions & 2 deletions conda/Dockerfile.cuda100 → conda/Dockerfile.template
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,13 @@
# specific language governing permissions and limitations
# under the License.

FROM nvidia/cuda:10.0-devel-centos6
FROM nvidia/cuda:{{ cuda_version }}-devel-centos6

RUN curl -fsSL http://developer.download.nvidia.com/compute/redist/cudnn/v{{ cudnn_short_version }}/cudnn-{{ cuda_version }}-linux-x64-v{{ cudnn_version }}.tgz -O && \
tar --no-same-owner -xzf cudnn-{{ cuda_version }}-linux-x64-v{{ cudnn_version }}.tgz -C /usr/local && \
rm cudnn-{{ cuda_version }}-linux-x64-v{{ cudnn_version }}.tgz && \
ldconfig


RUN curl -o ~/miniconda.sh -O https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh && \
chmod +x ~/miniconda.sh && \
Expand All @@ -30,4 +36,4 @@ ENV LD_LIBRARY_PATH /usr/local/nvidia/lib:/usr/local/nvidia/lib64
WORKDIR /workspace
RUN chmod -R a+w /workspace

CMD conda build --output-folder /workspace/conda/pkg --variants '{cuda: True, cuda_version: 10.0}' /workspace/conda/tvm-libs
CMD conda build --output-folder /workspace/conda/pkg --variants '{cuda: True, cuda_version: {{ cuda_version }}}' /workspace/conda/tvm-libs
18 changes: 7 additions & 11 deletions conda/build_cuda.sh → conda/Makefile
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,18 @@
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
#
# http://www.apache.org/licenses/LICENSE-2.0
#
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#/bin/sh
condadir=`dirname $0`
condadir=`readlink -f $condadir`
srcdir=`dirname $condadir`

docker build -t tvm-cuda100-forge $condadir -f $condadir/Dockerfile.cuda100
docker run --rm -v $srcdir:/workspace tvm-cuda100-forge
docker build -t tvm-cuda92-forge $condadir -f $condadir/Dockerfile.cuda92
docker run --rm -v $srcdir:/workspace tvm-cuda92-forge
sudo chown -R `whoami` $condadir/pkg
packages:
conda build tvm-libs
conda build tvm
conda build topi
conda built nnvm
Loading