You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mxnet.apache.org by ma...@apache.org on 2019/08/05 19:29:55 UTC
[incubator-mxnet] 01/01: Revert "Dynamic Library Loading Support
(#15489)"
This is an automated email from the ASF dual-hosted git repository.
marcoabreu pushed a commit to branch revert-15489-acc_api
in repository https://gitbox.apache.org/repos/asf/incubator-mxnet.git
commit 1e97b86e7027dc3adbf467aab90cee3ea3f6f236
Author: Marco de Abreu <ma...@users.noreply.github.com>
AuthorDate: Mon Aug 5 21:29:17 2019 +0200
Revert "Dynamic Library Loading Support (#15489)"
This reverts commit 3112893f80fdda2c9d8f6832562146bec97de205.
---
CMakeLists.txt | 1 -
Makefile | 2 +-
example/lib_api/Makefile | 31 -------
example/lib_api/libtest.cc | 78 ----------------
example/lib_api/mylib.cc | 37 --------
example/lib_api/test.py | 31 -------
include/mxnet/c_api.h | 7 --
include/mxnet/lib_api.h | 50 -----------
python/mxnet/__init__.py | 1 -
python/mxnet/base.py | 2 +-
python/mxnet/library.py | 49 ----------
src/c_api/c_api.cc | 15 ----
src/common/library.cc | 125 --------------------------
src/common/library.h | 57 ------------
src/engine/naive_engine.cc | 5 --
src/engine/threaded_engine.h | 5 --
tests/python/gpu/test_operator_gpu.py | 1 -
tests/python/unittest/test_library_loading.py | 38 --------
18 files changed, 2 insertions(+), 533 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a86435f..7c479f7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -701,7 +701,6 @@ if(UNIX)
add_library(mxnet SHARED ${DUMMY_SOURCE})
target_link_libraries(mxnet PRIVATE ${BEGIN_WHOLE_ARCHIVE} $<TARGET_FILE:mxnet_static> ${END_WHOLE_ARCHIVE})
target_link_libraries(mxnet PRIVATE mxnet_static)
- target_link_libraries(mxnet_static PUBLIC ${CMAKE_DL_LIBS})
set_target_properties(mxnet_static PROPERTIES OUTPUT_NAME mxnet)
else()
add_library(mxnet SHARED ${SOURCE})
diff --git a/Makefile b/Makefile
index f1e21d6..b54df17 100644
--- a/Makefile
+++ b/Makefile
@@ -107,7 +107,7 @@ else
CFLAGS += -O3 -DNDEBUG=1
endif
CFLAGS += -I$(TPARTYDIR)/mshadow/ -I$(TPARTYDIR)/dmlc-core/include -fPIC -I$(NNVM_PATH)/include -I$(DLPACK_PATH)/include -I$(TPARTYDIR)/tvm/include -Iinclude $(MSHADOW_CFLAGS)
-LDFLAGS = -pthread -ldl $(MSHADOW_LDFLAGS) $(DMLC_LDFLAGS)
+LDFLAGS = -pthread $(MSHADOW_LDFLAGS) $(DMLC_LDFLAGS)
ifeq ($(ENABLE_TESTCOVERAGE), 1)
CFLAGS += --coverage
diff --git a/example/lib_api/Makefile b/example/lib_api/Makefile
deleted file mode 100644
index e5893c8..0000000
--- a/example/lib_api/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# 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.
-
-all:
- g++ -shared -fPIC mylib.cc -o mylib.so -I ../../include/mxnet
-
-test:
- g++ -std=c++11 -O3 -o libtest libtest.cc -ldl -I ../../include/mxnet
-
-windows:
- cl /LD mylib.cc
-
-win_test:
- cl libtest.cc
-
-clean:
- rm -rf mylib.so libtest
diff --git a/example/lib_api/libtest.cc b/example/lib_api/libtest.cc
deleted file mode 100644
index 8bdf36c..0000000
--- a/example/lib_api/libtest.cc
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * 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.
- */
-
-/*!
- * Copyright (c) 2015 by Contributors
- * \file libtest.cc
- * \brief This test checks if the library is implemented correctly
- * and does not involve dynamic loading of library into MXNet
- * This test is supposed to be run before test.py
- */
-
-#if defined(_WIN32) || defined(_WIN64) || defined(__WINDOWS__)
-#include <windows.h>
-#else
-#include <dlfcn.h>
-#endif
-
-#include <iostream>
-#include "lib_api.h"
-
-#define MXNET_VERSION 10500
-
-int main(void) {
- // Get a handle to the library.
-#if defined(_WIN32) || defined(_WIN64) || defined(__WINDOWS__)
- HINSTANCE handle;
- handle = LoadLibrary(TEXT("mylib.dll"));
-#else
- void *handle;
- handle = dlopen("mylib.so", RTLD_LAZY);
-#endif
-
- if (!handle) {
- std::cerr << "Unable to load library" << std::endl;
- return 1;
- }
-
- // get initialize function address from the library
- initialize_t init_lib;
-#if defined(_WIN32) || defined(_WIN64) || defined(__WINDOWS__)
- init_lib = (initialize_t) GetProcAddress(handle, MXLIB_INITIALIZE_STR);
-#else
- init_lib = (initialize_t) dlsym(handle, MXLIB_INITIALIZE_STR);
-#endif
-
- if (!init_lib) {
- std::cerr << "Unable to get function 'intialize' from library" << std::endl;
- return 1;
- }
-
- // Call the function.
- (init_lib)(MXNET_VERSION);
-
- // Deallocate memory.
-#if defined(_WIN32) || defined(_WIN64) || defined(__WINDOWS__)
- FreeLibrary(handle);
-#else
- dlclose(handle);
-#endif
-
- return 0;
-}
diff --git a/example/lib_api/mylib.cc b/example/lib_api/mylib.cc
deleted file mode 100644
index e67560a..0000000
--- a/example/lib_api/mylib.cc
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * 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.
- */
-
-/*!
- * Copyright (c) 2015 by Contributors
- * \file mylib.cc
- * \brief Sample library file
- */
-
-#include <iostream>
-#include "lib_api.h"
-
-int initialize(int version) {
- if (version >= 10400) {
- std::cout << "MXNet version " << version << " supported" << std::endl;
- return 1;
- } else {
- std::cout << "MXNet version " << version << " not supported" << std::endl;
- return 0;
- }
-}
diff --git a/example/lib_api/test.py b/example/lib_api/test.py
deleted file mode 100644
index d73d85c..0000000
--- a/example/lib_api/test.py
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/usr/bin/env python3
-
-# 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.
-
-# coding: utf-8
-# pylint: disable=arguments-differ
-
-# This test checks if dynamic loading of library into MXNet is successful
-
-import mxnet as mx
-import os
-
-if (os.name=='posix'):
- mx.library.load('mylib.so')
-elif (os.name=='nt'):
- mx.library.load('mylib.dll')
diff --git a/include/mxnet/c_api.h b/include/mxnet/c_api.h
index 376c7e9..058f859 100644
--- a/include/mxnet/c_api.h
+++ b/include/mxnet/c_api.h
@@ -227,13 +227,6 @@ MXNET_DLL const char *MXGetLastError();
//-------------------------------------
/*!
- * \brief Load library dynamically
- * \param path to the library .so file
- * \return 0 when success, -1 when failure happens.
- */
-MXNET_DLL int MXLoadLib(const char *path);
-
-/*!
* \brief Get list of features supported on the runtime
* \param libFeature pointer to array of LibFeature
* \param size of the array
diff --git a/include/mxnet/lib_api.h b/include/mxnet/lib_api.h
deleted file mode 100644
index ca3b295..0000000
--- a/include/mxnet/lib_api.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * 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.
- */
-
-/*!
- * Copyright (c) 2015 by Contributors
- * \file lib_api.h
- * \brief APIs to interact with libraries
- */
-#ifndef MXNET_LIB_API_H_
-#define MXNET_LIB_API_H_
-
-/*!
- * \brief Following are the APIs implemented in the external library
- * Each API has a #define string that is used to lookup the function in the library
- * Followed by the function declaration
- */
-#define MXLIB_INITIALIZE_STR "initialize"
-typedef int (*initialize_t)(int);
-
-extern "C" {
- /*!
- * \brief Checks if the MXNet version is supported by the library.
- * If supported, initializes the library.
- * \param version MXNet version number passed to library and defined as:
- * MXNET_VERSION = (MXNET_MAJOR*10000 + MXNET_MINOR*100 + MXNET_PATCH)
- * \return Non-zero value on error i.e. library incompatible with passed MXNet version
- */
-#if defined(_WIN32) || defined(_WIN64) || defined(__WINDOWS__)
- __declspec(dllexport) int __cdecl initialize(int);
-#else
- int initialize(int);
-#endif
-}
-#endif // MXNET_LIB_API_H_
diff --git a/python/mxnet/__init__.py b/python/mxnet/__init__.py
index 233bb2a..ab4bffd 100644
--- a/python/mxnet/__init__.py
+++ b/python/mxnet/__init__.py
@@ -26,7 +26,6 @@ from . import engine
from .base import MXNetError
from .util import is_np_shape, set_np_shape, np_shape, use_np_shape
from . import base
-from . import library
from . import contrib
from . import ndarray
from . import ndarray as nd
diff --git a/python/mxnet/base.py b/python/mxnet/base.py
index 17819bd..bf80263 100644
--- a/python/mxnet/base.py
+++ b/python/mxnet/base.py
@@ -86,7 +86,7 @@ _Null = _NullType()
class MXNetError(Exception):
- """Error that will be thrown by all mxnet functions."""
+ """Error that will be throwed by all mxnet functions."""
pass
diff --git a/python/mxnet/library.py b/python/mxnet/library.py
deleted file mode 100644
index 9ebf2c2..0000000
--- a/python/mxnet/library.py
+++ /dev/null
@@ -1,49 +0,0 @@
-# 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.
-
-# coding: utf-8
-"""Library management API of mxnet."""
-from __future__ import absolute_import
-import ctypes
-import os
-from .base import _LIB, check_call, MXNetError
-
-def load(path):
- """Loads library dynamically.
-
- Parameters
- ---------
- path : Path to library .so/.dll file
-
- Returns
- ---------
- void
- """
- #check if path exists
- if not os.path.exists(path):
- raise MXNetError("load path %s does NOT exist" % path)
- #check if path is an absolute path
- if not os.path.isabs(path):
- raise MXNetError("load path %s is not an absolute path" % path)
- #check if path is to a library file
- _, file_ext = os.path.splitext(path)
- if not file_ext in ['.so', '.dll']:
- raise MXNetError("load path %s is NOT a library file" % path)
-
- byt_obj = path.encode('utf-8')
- chararr = ctypes.c_char_p(byt_obj)
- check_call(_LIB.MXLoadLib(chararr))
diff --git a/src/c_api/c_api.cc b/src/c_api/c_api.cc
index 5b23a8c..5207bdf 100644
--- a/src/c_api/c_api.cc
+++ b/src/c_api/c_api.cc
@@ -45,13 +45,11 @@
#include "mxnet/storage.h"
#include "mxnet/libinfo.h"
#include "mxnet/imperative.h"
-#include "mxnet/lib_api.h"
#include "./c_api_common.h"
#include "../operator/custom/custom-inl.h"
#include "../operator/tensor/matrix_op-inl.h"
#include "../operator/tvmop/op_module.h"
#include "../common/utils.h"
-#include "../common/library.h"
using namespace mxnet;
@@ -92,19 +90,6 @@ inline int MXAPIGetFunctionRegInfo(const FunRegType *e,
// NOTE: return value is added in API_END
-// Loads library and initializes it
-int MXLoadLib(const char *path) {
- API_BEGIN();
- void *lib = load_lib(path);
- if (!lib)
- LOG(FATAL) << "Unable to load library";
-
- initialize_t initialize = get_func<initialize_t>(lib, const_cast<char*>(MXLIB_INITIALIZE_STR));
- if (!initialize(static_cast<int>(MXNET_VERSION)))
- LOG(FATAL) << "Library failed to initialize";
- API_END();
-}
-
int MXLibInfoFeatures(const struct LibFeature **lib_features, size_t *size) {
using namespace features;
API_BEGIN();
diff --git a/src/common/library.cc b/src/common/library.cc
deleted file mode 100644
index 9e79b5d..0000000
--- a/src/common/library.cc
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * 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.
- */
-
-/*!
- * Copyright (c) 2015 by Contributors
- * \file library.cc
- * \brief Dynamically loading accelerator library
- * and accessing its functions
- */
-
-#if defined(_WIN32) || defined(_WIN64) || defined(__WINDOWS__)
-#include <windows.h>
-#else
-#include <dlfcn.h>
-#endif
-
-#include <string>
-#include "library.h"
-
-#if defined(_WIN32) || defined(_WIN64) || defined(__WINDOWS__)
-/*!
- * \brief Retrieve the system error message for the last-error code
- * \param err string that gets the error message
- */
-void win_err(char **err) {
- uint32_t dw = GetLastError();
- FormatMessage(
- FORMAT_MESSAGE_ALLOCATE_BUFFER |
- FORMAT_MESSAGE_FROM_SYSTEM |
- FORMAT_MESSAGE_IGNORE_INSERTS,
- NULL,
- dw,
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
- reinterpret_cast<char*>(err),
- 0, NULL);
-}
-#endif
-
-
-/*!
- * \brief Loads the dynamic shared library file
- * \param path library file location
- * \return handle a pointer for the loaded library, nullptr if loading unsuccessful
- */
-void* load_lib(const char* path) {
- void *handle = nullptr;
- std::string path_str(path);
- // check if library was already loaded
- if (loaded_libs.find(path_str) == loaded_libs.end()) {
- // if not, load it
-#if defined(_WIN32) || defined(_WIN64) || defined(__WINDOWS__)
- handle = LoadLibrary(path);
- if (!handle) {
- char *err_msg = nullptr;
- win_err(&err_msg);
- LOG(FATAL) << "Error loading library: '" << path << "'\n" << err_msg;
- LocalFree(err_msg);
- return nullptr;
- }
-#else
- handle = dlopen(path, RTLD_LAZY);
- if (!handle) {
- LOG(FATAL) << "Error loading library: '" << path << "'\n" << dlerror();
- return nullptr;
- }
-#endif // _WIN32 or _WIN64 or __WINDOWS__
- // then store the pointer to the library
- loaded_libs[path_str] = handle;
- } else {
- // otherwise just look up the pointer
- handle = loaded_libs[path_str];
- }
- return handle;
-}
-
-/*!
- * \brief Closes the loaded dynamic shared library file
- * \param handle library file handle
- */
-void close_lib(void* handle) {
-#if defined(_WIN32) || defined(_WIN64) || defined(__WINDOWS__)
- FreeLibrary((HMODULE)handle);
-#else
- dlclose(handle);
-#endif // _WIN32 or _WIN64 or __WINDOWS__
-}
-
-/*!
- * \brief Obtains address of given function in the loaded library
- * \param handle pointer for the loaded library
- * \param func function pointer that gets output address
- * \param name function name to be fetched
- */
-void get_sym(void* handle, void** func, char* name) {
-#if defined(_WIN32) || defined(_WIN64) || defined(__WINDOWS__)
- *func = GetProcAddress((HMODULE)handle, name);
- if (!(*func)) {
- char *err_msg = nullptr;
- win_err(&err_msg);
- LOG(FATAL) << "Error getting function '" << name << "' from library\n" << err_msg;
- LocalFree(err_msg);
- }
-#else
- *func = dlsym(handle, name);
- if (!(*func)) {
- LOG(FATAL) << "Error getting function '" << name << "' from library\n" << dlerror();
- }
-#endif // _WIN32 or _WIN64 or __WINDOWS__
-}
diff --git a/src/common/library.h b/src/common/library.h
deleted file mode 100644
index d6eff41..0000000
--- a/src/common/library.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * 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.
- */
-
-/*!
- * Copyright (c) 2015 by Contributors
- * \file library.h
- * \brief Defining library loading functions
- */
-#ifndef MXNET_COMMON_LIBRARY_H_
-#define MXNET_COMMON_LIBRARY_H_
-
-#include <iostream>
-#include <map>
-#include <string>
-#include "dmlc/io.h"
-
-// map of libraries loaded
-static std::map<std::string, void*> loaded_libs;
-
-void* load_lib(const char* path);
-void close_lib(void* handle);
-void get_sym(void* handle, void** func, char* name);
-
-/*!
- * \brief a templated function that fetches from the library
- * a function pointer of any given datatype and name
- * \param T a template parameter for data type of function pointer
- * \param lib library handle
- * \param func_name function name to search for in the library
- * \return func a function pointer
- */
-template<typename T>
-T get_func(void *lib, char *func_name) {
- T func;
- get_sym(lib, reinterpret_cast<void**>(&func), func_name);
- if (!func)
- LOG(FATAL) << "Unable to get function '" << func_name << "' from library";
- return func;
-}
-
-#endif // MXNET_COMMON_LIBRARY_H_
diff --git a/src/engine/naive_engine.cc b/src/engine/naive_engine.cc
index 371a6eb..92b38a8 100644
--- a/src/engine/naive_engine.cc
+++ b/src/engine/naive_engine.cc
@@ -30,7 +30,6 @@
#include "./openmp.h"
#include "../common/object_pool.h"
#include "../profiler/custom_op_profiler.h"
-#include "../../src/common/library.h"
namespace mxnet {
namespace engine {
@@ -85,10 +84,6 @@ class NaiveEngine final : public Engine {
}
}
#endif
- // close opened libraries
- for (auto const& lib : loaded_libs) {
- close_lib(lib.second);
- }
}
void Stop() override {
diff --git a/src/engine/threaded_engine.h b/src/engine/threaded_engine.h
index e9ced88..bf74485 100644
--- a/src/engine/threaded_engine.h
+++ b/src/engine/threaded_engine.h
@@ -44,7 +44,6 @@
#include "./openmp.h"
#include "../common/object_pool.h"
#include "../profiler/custom_op_profiler.h"
-#include "../../src/common/library.h"
namespace mxnet {
namespace engine {
@@ -332,10 +331,6 @@ class ThreadedEngine : public Engine {
kill_.store(true);
}
finished_cv_.notify_all();
- // close opened libraries
- for (auto const& lib : loaded_libs) {
- close_lib(lib.second);
- }
}
protected:
diff --git a/tests/python/gpu/test_operator_gpu.py b/tests/python/gpu/test_operator_gpu.py
index a8aa1ff..91ba9fb 100644
--- a/tests/python/gpu/test_operator_gpu.py
+++ b/tests/python/gpu/test_operator_gpu.py
@@ -45,7 +45,6 @@ from test_ndarray import *
from test_subgraph_op import *
from test_contrib_operator import test_multibox_target_op
from test_tvm_op import *
-from test_library_loading import *
set_default_context(mx.gpu(0))
del test_support_vector_machine_l1_svm # noqa
diff --git a/tests/python/unittest/test_library_loading.py b/tests/python/unittest/test_library_loading.py
deleted file mode 100644
index 3d56d0c..0000000
--- a/tests/python/unittest/test_library_loading.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# 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.
-
-# This test checks if dynamic loading of library into MXNet is successful
-
-import os
-import platform
-import unittest
-import mxnet as mx
-from mxnet.test_utils import download
-
-def check_platform():
- return platform.machine() not in ['x86_64', 'AMD64']
-
-@unittest.skipIf(check_platform(), "not all machine types supported")
-def test_library_loading():
- if (os.name=='posix'):
- lib = 'mylib.so'
- elif (os.name=='nt'):
- lib = 'mylib.dll'
-
- fname = mx.test_utils.download('https://mxnet-demo-models.s3.amazonaws.com/lib_binary/'+lib)
- fname = os.path.abspath(fname)
- mx.library.load(fname)