-
Notifications
You must be signed in to change notification settings - Fork 6.8k
Add test pipeline for USE_TVM_OP=OFF on Unix #16450
Conversation
a019b0b
to
410623f
Compare
ci/jenkins/Jenkins_steps.groovy
Outdated
|
||
// Python wheels | ||
mx_pip = 'build/*.whl' | ||
|
||
// mxnet cmake libraries, in cmake builds we do not produce a libnvvm static library by default. | ||
mx_cmake_lib = 'build/libmxnet.so, build/libmxnet.a, build/3rdparty/tvm/libtvm_runtime.so, build/libtvmop.so, build/3rdparty/dmlc-core/libdmlc.a, build/tests/mxnet_unit_tests, build/3rdparty/openmp/runtime/src/libomp.so' | ||
mx_cmake_lib_no_tvm_op = 'build/libmxnet.so, build/libmxnet.a, build/3rdparty/dmlc-core/libdmlc.a, build/tests/mxnet_unit_tests, build/3rdparty/openmp/runtime/src/libomp.so' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you add libsample_lib.so as target here like line 28?
// mxnet cmake libraries, in cmake builds we do not produce a libnvvm static library by default. | ||
mx_cmake_lib_debug = 'build/libmxnet.so, build/libmxnet.a, build/3rdparty/tvm/libtvm_runtime.so, build/libtvmop.so, build/libsample_lib.so, build/3rdparty/dmlc-core/libdmlc.a, build/tests/mxnet_unit_tests' | ||
mx_cmake_mkldnn_lib = 'build/libmxnet.so, build/libmxnet.a, build/3rdparty/tvm/libtvm_runtime.so, build/libtvmop.so, build/3rdparty/dmlc-core/libdmlc.a, build/tests/mxnet_unit_tests, build/3rdparty/openmp/runtime/src/libomp.so, build/3rdparty/mkldnn/src/libmkldnn.so.0' | ||
mx_mkldnn_lib = 'lib/libmxnet.so, lib/libmxnet.a, lib/libtvm_runtime.so, lib/libtvmop.so, libsample_lib.so, lib/libiomp5.so, lib/libmkldnn.so.0, lib/libmklml_intel.so, 3rdparty/dmlc-core/libdmlc.a, 3rdparty/tvm/nnvm/lib/libnnvm.a' | ||
mx_tensorrt_lib = 'build/libmxnet.so, build/3rdparty/tvm/libtvm_runtime.so, build/libtvmop.so, lib/libnvonnxparser_runtime.so.0, lib/libnvonnxparser.so.0, lib/libonnx_proto.so, lib/libonnx.so' | ||
mx_lib_cpp_examples = 'lib/libmxnet.so, lib/libmxnet.a, lib/libtvm_runtime.so, lib/libtvmop.so, libsample_lib.so, 3rdparty/dmlc-core/libdmlc.a, 3rdparty/tvm/nnvm/lib/libnnvm.a, 3rdparty/ps-lite/build/libps.a, deps/lib/libprotobuf-lite.a, deps/lib/libzmq.a, build/cpp-package/example/*, python/mxnet/_cy2/*.so, python/mxnet/_cy3/*.so' | ||
mx_lib_cpp_examples_no_tvm_op = 'lib/libmxnet.so, lib/libmxnet.a, libsample_lib.so, 3rdparty/dmlc-core/libdmlc.a, 3rdparty/tvm/nnvm/lib/libnnvm.a, 3rdparty/ps-lite/build/libps.a, deps/lib/libprotobuf-lite.a, deps/lib/libzmq.a, build/cpp-package/example/*, python/mxnet/_cy2/*.so, python/mxnet/_cy3/*.so' | ||
mx_lib_cpp_examples_cpu = 'build/libmxnet.so, build/3rdparty/tvm/libtvm_runtime.so, build/libtvmop.so, build/cpp-package/example/*' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mseth10 Can you take a look at all the libsample_lib.so's? Some of them have a path like "build/libsample_lib.so" and others are just "libsample_lib.so"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I took a look and let @reminisce know offline. mx_cmake_lib_no_tvm_op
is the binary set corresponding to a cmake build and hence we need to put it in a build/
directory.
921f6fc
to
7d133eb
Compare
ci/jenkins/Jenkins_steps.groovy
Outdated
timeout(time: max_time, unit: 'MINUTES') { | ||
utils.init_git() | ||
utils.docker_run('ubuntu_gpu_cu101', 'build_ubuntu_gpu_cmake_no_tvm_op', false) | ||
utils.pack_lib('cmake_gpu_no_tvm_op', mx_cmake_lib_cython_no_tvm_op) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't need to pack libraries here, as there is no test stage that uses it.
ci/jenkins/Jenkins_steps.groovy
Outdated
mx_cmake_lib_cython = 'build/libmxnet.so, build/libmxnet.a, build/3rdparty/tvm/libtvm_runtime.so, build/libtvmop.so, build/3rdparty/dmlc-core/libdmlc.a, build/tests/mxnet_unit_tests, build/3rdparty/openmp/runtime/src/libomp.so, python/mxnet/_cy2/*.so, python/mxnet/_cy3/*.so' | ||
mx_cmake_lib_cython_no_tvm_op = 'build/libmxnet.so, build/libmxnet.a, build/3rdparty/dmlc-core/libdmlc.a, build/tests/mxnet_unit_tests, build/3rdparty/openmp/runtime/src/libomp.so, python/mxnet/_cy2/*.so, python/mxnet/_cy3/*.so' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We do not need this library set, as a result of above comment:
https://github.com/apache/incubator-mxnet/pull/16450/files#r335187907
ci/jenkins/Jenkins_steps.groovy
Outdated
node(NODE_LINUX_GPU) { | ||
ws('workspace/ut-python3-gpu-no-tvm-op') { | ||
try { | ||
utils.unpack_and_init('gpu_no_tvm_op', mx_lib_cython_no_tvm_op) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The build corresponding to this test packs library set mx_lib_cpp_examples_no_tvm_op
https://github.com/apache/incubator-mxnet/pull/16450/files#diff-bb61a49bf10098c4c42879f1632fdb40R273
We should use the same library set while unpacking. A new library set is not required.
Suggested action: Replace mx_lib_cython_no_tvm_op
with mx_lib_cpp_examples_no_tvm_op
ci/jenkins/Jenkins_steps.groovy
Outdated
@@ -25,19 +25,23 @@ utils = load('ci/Jenkinsfile_utils.groovy') | |||
// mxnet libraries | |||
mx_lib = 'lib/libmxnet.so, lib/libmxnet.a, lib/libtvm_runtime.so, lib/libtvmop.so, libsample_lib.so, 3rdparty/dmlc-core/libdmlc.a, 3rdparty/tvm/nnvm/lib/libnnvm.a' | |||
mx_lib_cython = 'lib/libmxnet.so, lib/libmxnet.a, lib/libtvm_runtime.so, lib/libtvmop.so, libsample_lib.so, 3rdparty/dmlc-core/libdmlc.a, 3rdparty/tvm/nnvm/lib/libnnvm.a, python/mxnet/_cy2/*.so, python/mxnet/_cy3/*.so' | |||
mx_lib_cython_no_tvm_op = 'lib/libmxnet.so, lib/libmxnet.a, libsample_lib.so, 3rdparty/dmlc-core/libdmlc.a, 3rdparty/tvm/nnvm/lib/libnnvm.a, python/mxnet/_cy2/*.so, python/mxnet/_cy3/*.so' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We do not need this library set, as a result of above comment:
https://github.com/apache/incubator-mxnet/pull/16450/files#r335190763
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @reminisce I have left a few comments on reusing the library sets in test stages. We need to cache a library set in build stage only to be used later by a test stage, so we don't need to create separate library sets for both stages. Please let me know what you think.
7d133eb
to
4902c5a
Compare
@mseth10 I have made changes as you suggested. Could you review again? Thanks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for addressing the comments. Looks good to me.
dist-kvstore tests GPU failure has shown up in quite a few PRs recently. Wonder what the root cause is. |
I noticed the same thing. |
9fbeb2b
to
f568b87
Compare
f568b87
to
9d61d86
Compare
Description
Currently,
USE_TVM_OP
defaults toON
on Unix machines in the CI. When one operator is implemented w/ and w/o TVM, the non-TVM implementation is not tested in the CI on Unix machines. This PR adds additional test pipeline for those implementations on Unix.Checklist
Essentials
Please feel free to remove inapplicable items for your PR.
Changes
Comments