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.

utils.cpp 1.5 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /**
  2. * \file src/custom/impl/utils.cpp
  3. * MegEngine is Licensed under the Apache License, Version 2.0 (the "License")
  4. *
  5. * Copyright (c) 2014-2021 Megvii Inc. All rights reserved.
  6. *
  7. * Unless required by applicable law or agreed to in writing,
  8. * software distributed under the License is distributed on an
  9. * "AS IS" BASIS, WITHOUT ARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  10. */
  11. #include "megbrain/common.h"
  12. #if MGB_CUSTOM_OP
  13. #include "megbrain/custom/utils.h"
  14. #include <sstream>
  15. using namespace mgb;
  16. namespace custom {
  17. void assert_failed_log(const char *file, int line, const char *func, const char *expr, const char *msg_fmt, ...) {
  18. std::string msg = ssprintf("`%s' is true at %s:%d: %s", expr, file, line, func);
  19. if (msg_fmt) {
  20. msg_fmt = convert_fmt_str(msg_fmt);
  21. va_list ap;
  22. va_start(ap, msg_fmt);
  23. msg.append("\nextra message: ");
  24. msg.append(svsprintf(msg_fmt, ap));
  25. va_end(ap);
  26. }
  27. printf("%s\n", msg.c_str());
  28. }
  29. UnImpleWarnLog::UnImpleWarnLog(const std::string &func, const std::string &attr,
  30. const std::string &val) {
  31. mgb_log_warn("you are using the default custom %s function, the `%s` attribute "
  32. "of all the outputs tensor will be the same with inputs tensor[0]. "
  33. "If there is no input tensor, it will be `%s`",
  34. func.c_str(), attr.c_str(), val.c_str());
  35. }
  36. }
  37. #endif

MegEngine 安装包中集成了使用 GPU 运行代码所需的 CUDA 环境,不用区分 CPU 和 GPU 版。 如果想要运行 GPU 程序,请确保机器本身配有 GPU 硬件设备并安装好驱动。 如果你想体验在云端 GPU 算力平台进行深度学习开发的感觉,欢迎访问 MegStudio 平台