|
- # Copyright 2021 Huawei Technologies Co., Ltd
- #
- # Licensed 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 is the entrance to start the cache service
- """
-
- import os
- import stat
- import subprocess
- import sys
- import mindspore
-
-
- def main():
- """Entry point for cache service"""
- cache_admin_dir = os.path.join(os.path.dirname(mindspore.__file__), "bin")
- os.chdir(cache_admin_dir)
- cache_admin = os.path.join(cache_admin_dir, "cache_admin")
-
- if not os.path.exists(cache_admin):
- raise RuntimeError("Dataset cache is not supported on your mindspore version.")
-
- cache_server = os.path.join(cache_admin_dir, "cache_server")
- os.chmod(cache_admin, stat.S_IRWXU)
- os.chmod(cache_server, stat.S_IRWXU)
-
- # set LD_LIBRARY_PATH for libpython*.so
- python_lib_dir = os.path.join(os.path.dirname(mindspore.__file__), "../../..")
- os.environ['LD_LIBRARY_PATH'] = python_lib_dir + ":" + os.environ.get('LD_LIBRARY_PATH')
-
- # LD_PRELOAD libnnacl.so
- nnacl_lib = os.path.join(os.path.dirname(mindspore.__file__), "lib/libnnacl.so")
- os.environ['LD_PRELOAD'] = nnacl_lib
-
- sys.exit(subprocess.call([cache_admin] + sys.argv[1:], shell=False, env=os.environ))
|