From 0cb28f0b06fd512f6ff32e81781630a969ec5f1a Mon Sep 17 00:00:00 2001 From: Stella Laurenzo Date: Thu, 24 Sep 2020 18:26:51 -0700 Subject: [PATCH] Move tests around so we can have dedicated tests for the c10 dispatcher. * Adds a trivial missing test for _torch_mlir.c10.get_registered_ops() * Disables the regression tests for now on c10 (until implemented). --- frontends/pytorch/test/CMakeLists.txt | 4 ++++ frontends/pytorch/test/acap_regression/lit.local.cfg | 3 +++ .../test/{ => acap_regression}/test_export_ResA.py | 0 .../test/{ => acap_regression}/test_export_add3.py | 0 .../{ => acap_regression}/test_export_batchnorm.py | 0 .../{ => acap_regression}/test_export_conv2d_back.py | 0 .../{ => acap_regression}/test_export_multi_out.py | 0 .../{ => acap_regression}/test_export_resnet18.py | 0 .../test/{ => acap_regression}/test_export_vgg11.py | 0 .../test/{ => acap_regression}/test_jit_add2.py | 0 .../test/{ => acap_regression}/test_jit_add3.py | 0 .../test/{ => acap_regression}/test_jit_add_views.py | 0 .../test/{ => acap_regression}/test_jit_as_stride.py | 0 .../test/{ => acap_regression}/test_jit_conv2d.py | 0 .../{ => acap_regression}/test_jit_conv2d_back.py | 0 .../test/{ => acap_regression}/test_jit_lenet_back.py | 0 .../test/{ => acap_regression}/test_jit_lenet_fwd.py | 0 .../test/{ => acap_regression}/test_jit_linear.py | 0 .../test/{ => acap_regression}/test_jit_logsoftmax.py | 0 .../test/{ => acap_regression}/test_jit_maxpool.py | 0 .../test/{ => acap_regression}/test_jit_mlp_back.py | 0 .../pytorch/test/{ => acap_regression}/test_jit_mm.py | 0 .../test/{ => acap_regression}/test_jit_mul2.py | 0 .../test/{ => acap_regression}/test_jit_nllloss.py | 0 .../test/{ => acap_regression}/test_jit_relu.py | 0 .../pytorch/test/{ => acap_regression}/test_jit_t.py | 0 .../{ => acap_regression}/test_op_report_conv2d.py | 0 .../test_op_report_vgg_style_lenet.py | 0 .../pytorch/test/c10_dispatch/get_registered_ops.py | 11 +++++++++++ frontends/pytorch/test/c10_dispatch/lit.local.cfg | 2 ++ frontends/pytorch/test/lit.site.cfg.py.in | 1 + 31 files changed, 21 insertions(+) create mode 100644 frontends/pytorch/test/acap_regression/lit.local.cfg rename frontends/pytorch/test/{ => acap_regression}/test_export_ResA.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_export_add3.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_export_batchnorm.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_export_conv2d_back.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_export_multi_out.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_export_resnet18.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_export_vgg11.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_jit_add2.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_jit_add3.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_jit_add_views.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_jit_as_stride.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_jit_conv2d.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_jit_conv2d_back.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_jit_lenet_back.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_jit_lenet_fwd.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_jit_linear.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_jit_logsoftmax.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_jit_maxpool.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_jit_mlp_back.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_jit_mm.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_jit_mul2.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_jit_nllloss.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_jit_relu.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_jit_t.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_op_report_conv2d.py (100%) rename frontends/pytorch/test/{ => acap_regression}/test_op_report_vgg_style_lenet.py (100%) create mode 100644 frontends/pytorch/test/c10_dispatch/get_registered_ops.py create mode 100644 frontends/pytorch/test/c10_dispatch/lit.local.cfg diff --git a/frontends/pytorch/test/CMakeLists.txt b/frontends/pytorch/test/CMakeLists.txt index e06165e08..560a40fcb 100644 --- a/frontends/pytorch/test/CMakeLists.txt +++ b/frontends/pytorch/test/CMakeLists.txt @@ -1,3 +1,7 @@ +llvm_canonicalize_cmake_booleans( + NPCOMP_ENABLE_TORCH_TYPE_DISPATCH +) + configure_lit_site_cfg( ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py diff --git a/frontends/pytorch/test/acap_regression/lit.local.cfg b/frontends/pytorch/test/acap_regression/lit.local.cfg new file mode 100644 index 000000000..985c21151 --- /dev/null +++ b/frontends/pytorch/test/acap_regression/lit.local.cfg @@ -0,0 +1,3 @@ +# TODO: Enable these tests for the new c10 dispatch code path with pt > 1.3 +if config.enable_c10_dispatch: + config.unsupported = True diff --git a/frontends/pytorch/test/test_export_ResA.py b/frontends/pytorch/test/acap_regression/test_export_ResA.py similarity index 100% rename from frontends/pytorch/test/test_export_ResA.py rename to frontends/pytorch/test/acap_regression/test_export_ResA.py diff --git a/frontends/pytorch/test/test_export_add3.py b/frontends/pytorch/test/acap_regression/test_export_add3.py similarity index 100% rename from frontends/pytorch/test/test_export_add3.py rename to frontends/pytorch/test/acap_regression/test_export_add3.py diff --git a/frontends/pytorch/test/test_export_batchnorm.py b/frontends/pytorch/test/acap_regression/test_export_batchnorm.py similarity index 100% rename from frontends/pytorch/test/test_export_batchnorm.py rename to frontends/pytorch/test/acap_regression/test_export_batchnorm.py diff --git a/frontends/pytorch/test/test_export_conv2d_back.py b/frontends/pytorch/test/acap_regression/test_export_conv2d_back.py similarity index 100% rename from frontends/pytorch/test/test_export_conv2d_back.py rename to frontends/pytorch/test/acap_regression/test_export_conv2d_back.py diff --git a/frontends/pytorch/test/test_export_multi_out.py b/frontends/pytorch/test/acap_regression/test_export_multi_out.py similarity index 100% rename from frontends/pytorch/test/test_export_multi_out.py rename to frontends/pytorch/test/acap_regression/test_export_multi_out.py diff --git a/frontends/pytorch/test/test_export_resnet18.py b/frontends/pytorch/test/acap_regression/test_export_resnet18.py similarity index 100% rename from frontends/pytorch/test/test_export_resnet18.py rename to frontends/pytorch/test/acap_regression/test_export_resnet18.py diff --git a/frontends/pytorch/test/test_export_vgg11.py b/frontends/pytorch/test/acap_regression/test_export_vgg11.py similarity index 100% rename from frontends/pytorch/test/test_export_vgg11.py rename to frontends/pytorch/test/acap_regression/test_export_vgg11.py diff --git a/frontends/pytorch/test/test_jit_add2.py b/frontends/pytorch/test/acap_regression/test_jit_add2.py similarity index 100% rename from frontends/pytorch/test/test_jit_add2.py rename to frontends/pytorch/test/acap_regression/test_jit_add2.py diff --git a/frontends/pytorch/test/test_jit_add3.py b/frontends/pytorch/test/acap_regression/test_jit_add3.py similarity index 100% rename from frontends/pytorch/test/test_jit_add3.py rename to frontends/pytorch/test/acap_regression/test_jit_add3.py diff --git a/frontends/pytorch/test/test_jit_add_views.py b/frontends/pytorch/test/acap_regression/test_jit_add_views.py similarity index 100% rename from frontends/pytorch/test/test_jit_add_views.py rename to frontends/pytorch/test/acap_regression/test_jit_add_views.py diff --git a/frontends/pytorch/test/test_jit_as_stride.py b/frontends/pytorch/test/acap_regression/test_jit_as_stride.py similarity index 100% rename from frontends/pytorch/test/test_jit_as_stride.py rename to frontends/pytorch/test/acap_regression/test_jit_as_stride.py diff --git a/frontends/pytorch/test/test_jit_conv2d.py b/frontends/pytorch/test/acap_regression/test_jit_conv2d.py similarity index 100% rename from frontends/pytorch/test/test_jit_conv2d.py rename to frontends/pytorch/test/acap_regression/test_jit_conv2d.py diff --git a/frontends/pytorch/test/test_jit_conv2d_back.py b/frontends/pytorch/test/acap_regression/test_jit_conv2d_back.py similarity index 100% rename from frontends/pytorch/test/test_jit_conv2d_back.py rename to frontends/pytorch/test/acap_regression/test_jit_conv2d_back.py diff --git a/frontends/pytorch/test/test_jit_lenet_back.py b/frontends/pytorch/test/acap_regression/test_jit_lenet_back.py similarity index 100% rename from frontends/pytorch/test/test_jit_lenet_back.py rename to frontends/pytorch/test/acap_regression/test_jit_lenet_back.py diff --git a/frontends/pytorch/test/test_jit_lenet_fwd.py b/frontends/pytorch/test/acap_regression/test_jit_lenet_fwd.py similarity index 100% rename from frontends/pytorch/test/test_jit_lenet_fwd.py rename to frontends/pytorch/test/acap_regression/test_jit_lenet_fwd.py diff --git a/frontends/pytorch/test/test_jit_linear.py b/frontends/pytorch/test/acap_regression/test_jit_linear.py similarity index 100% rename from frontends/pytorch/test/test_jit_linear.py rename to frontends/pytorch/test/acap_regression/test_jit_linear.py diff --git a/frontends/pytorch/test/test_jit_logsoftmax.py b/frontends/pytorch/test/acap_regression/test_jit_logsoftmax.py similarity index 100% rename from frontends/pytorch/test/test_jit_logsoftmax.py rename to frontends/pytorch/test/acap_regression/test_jit_logsoftmax.py diff --git a/frontends/pytorch/test/test_jit_maxpool.py b/frontends/pytorch/test/acap_regression/test_jit_maxpool.py similarity index 100% rename from frontends/pytorch/test/test_jit_maxpool.py rename to frontends/pytorch/test/acap_regression/test_jit_maxpool.py diff --git a/frontends/pytorch/test/test_jit_mlp_back.py b/frontends/pytorch/test/acap_regression/test_jit_mlp_back.py similarity index 100% rename from frontends/pytorch/test/test_jit_mlp_back.py rename to frontends/pytorch/test/acap_regression/test_jit_mlp_back.py diff --git a/frontends/pytorch/test/test_jit_mm.py b/frontends/pytorch/test/acap_regression/test_jit_mm.py similarity index 100% rename from frontends/pytorch/test/test_jit_mm.py rename to frontends/pytorch/test/acap_regression/test_jit_mm.py diff --git a/frontends/pytorch/test/test_jit_mul2.py b/frontends/pytorch/test/acap_regression/test_jit_mul2.py similarity index 100% rename from frontends/pytorch/test/test_jit_mul2.py rename to frontends/pytorch/test/acap_regression/test_jit_mul2.py diff --git a/frontends/pytorch/test/test_jit_nllloss.py b/frontends/pytorch/test/acap_regression/test_jit_nllloss.py similarity index 100% rename from frontends/pytorch/test/test_jit_nllloss.py rename to frontends/pytorch/test/acap_regression/test_jit_nllloss.py diff --git a/frontends/pytorch/test/test_jit_relu.py b/frontends/pytorch/test/acap_regression/test_jit_relu.py similarity index 100% rename from frontends/pytorch/test/test_jit_relu.py rename to frontends/pytorch/test/acap_regression/test_jit_relu.py diff --git a/frontends/pytorch/test/test_jit_t.py b/frontends/pytorch/test/acap_regression/test_jit_t.py similarity index 100% rename from frontends/pytorch/test/test_jit_t.py rename to frontends/pytorch/test/acap_regression/test_jit_t.py diff --git a/frontends/pytorch/test/test_op_report_conv2d.py b/frontends/pytorch/test/acap_regression/test_op_report_conv2d.py similarity index 100% rename from frontends/pytorch/test/test_op_report_conv2d.py rename to frontends/pytorch/test/acap_regression/test_op_report_conv2d.py diff --git a/frontends/pytorch/test/test_op_report_vgg_style_lenet.py b/frontends/pytorch/test/acap_regression/test_op_report_vgg_style_lenet.py similarity index 100% rename from frontends/pytorch/test/test_op_report_vgg_style_lenet.py rename to frontends/pytorch/test/acap_regression/test_op_report_vgg_style_lenet.py diff --git a/frontends/pytorch/test/c10_dispatch/get_registered_ops.py b/frontends/pytorch/test/c10_dispatch/get_registered_ops.py new file mode 100644 index 000000000..760adce60 --- /dev/null +++ b/frontends/pytorch/test/c10_dispatch/get_registered_ops.py @@ -0,0 +1,11 @@ +# -*- Python -*- +# This file is licensed under a pytorch-style license +# See frontends/pytorch/LICENSE for license information. +# RUN: python %s | FileCheck %s + +import _torch_mlir + +# This check is just for a built-in op that is unlikely to change (and is +# otherwise insignificant). +# CHECK: {'name': ('aten::mul', 'Tensor'), 'is_vararg': False, 'is_varret': False, 'is_mutable': False, 'arguments': [{'name': 'self', 'type': 'Tensor', 'pytype': 'Tensor'}, {'name': 'other', 'type': 'Tensor', 'pytype': 'Tensor'}], 'returns': [{'name': '', 'type': 'Tensor', 'pytype': 'Tensor'}]} +print('\n\n'.join([repr(r) for r in _torch_mlir.c10.get_registered_ops()])) diff --git a/frontends/pytorch/test/c10_dispatch/lit.local.cfg b/frontends/pytorch/test/c10_dispatch/lit.local.cfg new file mode 100644 index 000000000..e5b7f9b9c --- /dev/null +++ b/frontends/pytorch/test/c10_dispatch/lit.local.cfg @@ -0,0 +1,2 @@ +if not config.enable_c10_dispatch: + config.unsupported = True diff --git a/frontends/pytorch/test/lit.site.cfg.py.in b/frontends/pytorch/test/lit.site.cfg.py.in index 646c17208..6476f69d5 100644 --- a/frontends/pytorch/test/lit.site.cfg.py.in +++ b/frontends/pytorch/test/lit.site.cfg.py.in @@ -34,6 +34,7 @@ config.llvm_host_triple = '@LLVM_HOST_TRIPLE@' config.host_arch = "@HOST_ARCH@" config.npcomp_src_root = "@CMAKE_SOURCE_DIR@" config.npcomp_obj_root = "@CMAKE_BINARY_DIR@" +config.enable_c10_dispatch = not @NPCOMP_ENABLE_TORCH_TYPE_DISPATCH@ # Support substitution of the tools_dir with user parameters. This is # used when we can't determine the tool dir at configuration time.