Add test pipeline for USE_TVM_OP=OFF on Unix#16450
Conversation
a019b0b to
410623f
Compare
ci/jenkins/Jenkins_steps.groovy
Outdated
|
|
||
| // 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.
can you add libsample_lib.so as target here like line 28?
| 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.
@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.
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.
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 = '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/libsample_lib.so, build/3rdparty/dmlc-core/libdmlc.a, build/tests/mxnet_unit_tests, build/3rdparty/openmp/runtime/src/libomp.so' | ||
| 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.
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.
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
| // 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.
We do not need this library set, as a result of above comment:
https://github.com/apache/incubator-mxnet/pull/16450/files#r335190763
mseth10
left a comment
There was a problem hiding this comment.
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. |
mseth10
left a comment
There was a problem hiding this comment.
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_OPdefaults toONon 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