You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

cache_admin.py 1.8 kB

4 years ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. # Copyright 2021 Huawei Technologies Co., Ltd
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License");
  4. # you may not use this file except in compliance with the License.
  5. # You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. # See the License for the specific language governing permissions and
  13. # limitations under the License.
  14. # ==============================================================================
  15. """
  16. This is the entrance to start the cache service
  17. """
  18. import os
  19. import stat
  20. import subprocess
  21. import sys
  22. import mindspore
  23. def main():
  24. """Entry point for cache service"""
  25. cache_admin_dir = os.path.join(os.path.dirname(mindspore.__file__), "bin")
  26. os.chdir(cache_admin_dir)
  27. cache_admin = os.path.join(cache_admin_dir, "cache_admin")
  28. if not os.path.exists(cache_admin):
  29. raise RuntimeError("Dataset cache is not supported on your mindspore version.")
  30. cache_server = os.path.join(cache_admin_dir, "cache_server")
  31. os.chmod(cache_admin, stat.S_IRWXU)
  32. os.chmod(cache_server, stat.S_IRWXU)
  33. # set LD_LIBRARY_PATH for libpython*.so
  34. python_lib_dir = os.path.join(os.path.dirname(mindspore.__file__), "../../..")
  35. os.environ['LD_LIBRARY_PATH'] = python_lib_dir + ":" + os.environ.get('LD_LIBRARY_PATH')
  36. # LD_PRELOAD libnnacl.so
  37. nnacl_lib = os.path.join(os.path.dirname(mindspore.__file__), "lib/libnnacl.so")
  38. os.environ['LD_PRELOAD'] = nnacl_lib
  39. sys.exit(subprocess.call([cache_admin] + sys.argv[1:], shell=False, env=os.environ))