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.

aicpu_util.cc 2.5 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /**
  2. * Copyright 2020 Huawei Technologies Co., Ltd
  3. *
  4. * Licensed under the Apache License, Version 2.0 (the "License");
  5. * you may not use this file except in compliance with the License.
  6. * You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. #include "kernel/aicpu/aicpu_util.h"
  17. #include <vector>
  18. #include <string>
  19. #include "proto/types.pb.h"
  20. #include "runtime/mem.h"
  21. #include "runtime/rt.h"
  22. #include "utils/convert_utils.h"
  23. #include "session/anf_runtime_algorithm.h"
  24. namespace mindspore {
  25. namespace kernel {
  26. static std::map<int32_t, int32_t> MS_PROTO_DATA_TYPE_MAP = {
  27. {mindspore::TypeId::kTypeUnknown, mindspore::DataType::MS_UNKNOWN},
  28. {mindspore::TypeId::kNumberTypeBool, mindspore::DataType::MS_BOOL},
  29. {mindspore::TypeId::kNumberTypeInt, mindspore::DataType::MS_INT32},
  30. {mindspore::TypeId::kNumberTypeInt8, mindspore::DataType::MS_INT8},
  31. {mindspore::TypeId::kNumberTypeInt16, mindspore::DataType::MS_INT16},
  32. {mindspore::TypeId::kNumberTypeInt32, mindspore::DataType::MS_INT32},
  33. {mindspore::TypeId::kNumberTypeInt64, mindspore::DataType::MS_INT64},
  34. {mindspore::TypeId::kNumberTypeUInt, mindspore::DataType::MS_UINT32},
  35. {mindspore::TypeId::kNumberTypeUInt8, mindspore::DataType::MS_UINT8},
  36. {mindspore::TypeId::kNumberTypeUInt16, mindspore::DataType::MS_UINT16},
  37. {mindspore::TypeId::kNumberTypeUInt32, mindspore::DataType::MS_UINT32},
  38. {mindspore::TypeId::kNumberTypeUInt64, mindspore::DataType::MS_UINT64},
  39. {mindspore::TypeId::kNumberTypeFloat16, mindspore::DataType::MS_FLOAT16},
  40. {mindspore::TypeId::kNumberTypeFloat, mindspore::DataType::MS_FLOAT32},
  41. {mindspore::TypeId::kNumberTypeFloat32, mindspore::DataType::MS_FLOAT32},
  42. {mindspore::TypeId::kNumberTypeFloat64, mindspore::DataType::MS_FLOAT64},
  43. };
  44. int AicpuOpUtil::MsTypeToProtoType(TypeId ms_type) {
  45. auto iter = MS_PROTO_DATA_TYPE_MAP.find(ms_type);
  46. if (iter != MS_PROTO_DATA_TYPE_MAP.end()) {
  47. return MS_PROTO_DATA_TYPE_MAP[ms_type];
  48. } else {
  49. MS_LOG(ERROR) << "UnSupported ms_type value" << static_cast<int>(ms_type);
  50. return -1;
  51. }
  52. }
  53. } // namespace kernel
  54. } // namespace mindspore