"""
import ast
-import imp
from ..contrib import util
from .util import _internal_assert
if self.name is None:
self.name = finder.name
self.root_ = finder.root
- py_module = imp.load_source(self.name, path)
- self.func_ = getattr(py_module, self.name)
+
+ _, local_ = {}, {}
+ exec(self.src_, _, local_) #pylint: disable=exec-used
+ local_.pop('tvm')
+ assert len(local_) == 1
+ self.func_ = list(local_.values())[0]
--- /dev/null
+"""FFI for C++ TOPI ops and schedules"""
+from .impl import * #pylint: disable=wildcard-import
+from . import cuda
+from . import nn
+from . import vision
+from . import x86
+from . import generic
+from . import rocm
+from . import image
--- /dev/null
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# 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.
+"""FFI for CUDA TOPI ops and schedules"""
+
+from tvm._ffi.function import _init_api_prefix
+
+_init_api_prefix("topi.cpp.cuda", "topi.cuda")
--- /dev/null
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# 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.
+"""FFI for generic TOPI ops and schedules"""
+
+from tvm._ffi.function import _init_api_prefix
+
+_init_api_prefix("topi.cpp.generic", "topi.generic")
--- /dev/null
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# 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.
+"""FFI for image TOPI ops and schedules"""
+
+from tvm._ffi.function import _init_api_prefix
+
+_init_api_prefix("topi.cpp.image", "topi.image")
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
-"""FFI for C++ TOPI ops and schedules"""
+"""Load Lib for C++ TOPI ops and schedules"""
import sys
import os
import ctypes
-from imp import new_module as _new_module
+
from tvm._ffi.function import _init_api_prefix
from tvm._ffi import libinfo
_LIB, _LIB_NAME = _load_lib()
_init_api_prefix("topi.cpp", "topi")
-
-def _create_module(name):
- fullname = __name__ + "." + name
- mod = _new_module(fullname)
- sys.modules[fullname] = mod
- return mod
-
-# pylint: disable-msg=C0103
-nn = _create_module("nn")
-_init_api_prefix("topi.cpp.nn", "topi.nn")
-generic = _create_module("generic")
-_init_api_prefix("topi.cpp.generic", "topi.generic")
-cuda = _create_module("cuda")
-_init_api_prefix("topi.cpp.cuda", "topi.cuda")
-rocm = _create_module("rocm")
-_init_api_prefix("topi.cpp.rocm", "topi.rocm")
-x86 = _create_module("x86")
-_init_api_prefix("topi.cpp.x86", "topi.x86")
-vision = _create_module("vision")
-_init_api_prefix("topi.cpp.vision", "topi.vision")
-yolo = _create_module("vision.yolo")
-_init_api_prefix("topi.cpp.vision.yolo", "topi.vision.yolo")
-image = _create_module("image")
-_init_api_prefix("topi.cpp.image", "topi.image")
--- /dev/null
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# 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.
+"""FFI for NN TOPI ops and schedules"""
+
+from tvm._ffi.function import _init_api_prefix
+
+_init_api_prefix("topi.cpp.nn", "topi.nn")
--- /dev/null
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# 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.
+"""FFI for Rocm TOPI ops and schedules"""
+
+from tvm._ffi.function import _init_api_prefix
+
+_init_api_prefix("topi.cpp.rocm", "topi.rocm")
--- /dev/null
+"""FFI for vision TOPI ops and schedules"""
+
+from tvm._ffi.function import _init_api_prefix
+
+from . import yolo
+
+_init_api_prefix("topi.cpp.vision", "topi.vision")
--- /dev/null
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# 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.
+"""FFI for Yolo TOPI ops and schedules"""
+
+from tvm._ffi.function import _init_api_prefix
+
+_init_api_prefix("topi.cpp.vision.yolo", "topi.vision.yolo")
--- /dev/null
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# 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.
+"""FFI for x86 TOPI ops and schedules"""
+
+from tvm._ffi.function import _init_api_prefix
+
+_init_api_prefix("topi.cpp.x86", "topi.x86")