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.

each_mode.inl 4.4 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. /**
  2. * \file dnn/src/common/elemwise/each_mode.inl
  3. * MegEngine is Licensed under the Apache License, Version 2.0 (the "License")
  4. *
  5. * Copyright (c) 2014-2020 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. // generated by gen_elemwise_each_mode.py
  12. #define MEGDNN_FOREACH_ELEMWISE_MODE_UNARY_BOOL(cb) \
  13. MEGDNN_ELEMWISE_MODE_ENABLE(NOT, cb) \
  14. #define MEGDNN_FOREACH_ELEMWISE_MODE_UNARY_FLOAT(cb) \
  15. MEGDNN_ELEMWISE_MODE_ENABLE(RELU, cb) \
  16. MEGDNN_ELEMWISE_MODE_ENABLE(ABS, cb) \
  17. MEGDNN_ELEMWISE_MODE_ENABLE(NEGATE, cb) \
  18. MEGDNN_ELEMWISE_MODE_ENABLE(ACOS, cb) \
  19. MEGDNN_ELEMWISE_MODE_ENABLE(ASIN, cb) \
  20. MEGDNN_ELEMWISE_MODE_ENABLE(CEIL, cb) \
  21. MEGDNN_ELEMWISE_MODE_ENABLE(COS, cb) \
  22. MEGDNN_ELEMWISE_MODE_ENABLE(EXP, cb) \
  23. MEGDNN_ELEMWISE_MODE_ENABLE(EXPM1, cb) \
  24. MEGDNN_ELEMWISE_MODE_ENABLE(FLOOR, cb) \
  25. MEGDNN_ELEMWISE_MODE_ENABLE(LOG, cb) \
  26. MEGDNN_ELEMWISE_MODE_ENABLE(LOG1P, cb) \
  27. MEGDNN_ELEMWISE_MODE_ENABLE(SIGMOID, cb) \
  28. MEGDNN_ELEMWISE_MODE_ENABLE(SIN, cb) \
  29. MEGDNN_ELEMWISE_MODE_ENABLE(TANH, cb) \
  30. MEGDNN_ELEMWISE_MODE_ENABLE(FAST_TANH, cb) \
  31. MEGDNN_ELEMWISE_MODE_ENABLE(ROUND, cb) \
  32. MEGDNN_ELEMWISE_MODE_ENABLE(ERF, cb) \
  33. MEGDNN_ELEMWISE_MODE_ENABLE(ERFINV, cb) \
  34. MEGDNN_ELEMWISE_MODE_ENABLE(ERFC, cb) \
  35. MEGDNN_ELEMWISE_MODE_ENABLE(ERFCINV, cb) \
  36. MEGDNN_ELEMWISE_MODE_ENABLE(H_SWISH, cb) \
  37. #define MEGDNN_FOREACH_ELEMWISE_MODE_UNARY_INT(cb) \
  38. MEGDNN_ELEMWISE_MODE_ENABLE(RELU, cb) \
  39. MEGDNN_ELEMWISE_MODE_ENABLE(ABS, cb) \
  40. MEGDNN_ELEMWISE_MODE_ENABLE(NEGATE, cb) \
  41. #define MEGDNN_FOREACH_ELEMWISE_MODE_BINARY_BOOL(cb) \
  42. MEGDNN_ELEMWISE_MODE_ENABLE(AND, cb) \
  43. MEGDNN_ELEMWISE_MODE_ENABLE(OR, cb) \
  44. MEGDNN_ELEMWISE_MODE_ENABLE(XOR, cb) \
  45. MEGDNN_ELEMWISE_MODE_ENABLE(LT, cb) \
  46. MEGDNN_ELEMWISE_MODE_ENABLE(LEQ, cb) \
  47. MEGDNN_ELEMWISE_MODE_ENABLE(EQ, cb) \
  48. #define MEGDNN_FOREACH_ELEMWISE_MODE_BINARY_FLOAT(cb) \
  49. MEGDNN_ELEMWISE_MODE_ENABLE(ABS_GRAD, cb) \
  50. MEGDNN_ELEMWISE_MODE_ENABLE(ADD, cb) \
  51. MEGDNN_ELEMWISE_MODE_ENABLE(FLOOR_DIV, cb) \
  52. MEGDNN_ELEMWISE_MODE_ENABLE(MAX, cb) \
  53. MEGDNN_ELEMWISE_MODE_ENABLE(MIN, cb) \
  54. MEGDNN_ELEMWISE_MODE_ENABLE(MOD, cb) \
  55. MEGDNN_ELEMWISE_MODE_ENABLE(MUL, cb) \
  56. MEGDNN_ELEMWISE_MODE_ENABLE(SIGMOID_GRAD, cb) \
  57. MEGDNN_ELEMWISE_MODE_ENABLE(SUB, cb) \
  58. MEGDNN_ELEMWISE_MODE_ENABLE(SWITCH_GT0, cb) \
  59. MEGDNN_ELEMWISE_MODE_ENABLE(TANH_GRAD, cb) \
  60. MEGDNN_ELEMWISE_MODE_ENABLE(LT, cb) \
  61. MEGDNN_ELEMWISE_MODE_ENABLE(LEQ, cb) \
  62. MEGDNN_ELEMWISE_MODE_ENABLE(EQ, cb) \
  63. MEGDNN_ELEMWISE_MODE_ENABLE(FUSE_ADD_RELU, cb) \
  64. MEGDNN_ELEMWISE_MODE_ENABLE(TRUE_DIV, cb) \
  65. MEGDNN_ELEMWISE_MODE_ENABLE(POW, cb) \
  66. MEGDNN_ELEMWISE_MODE_ENABLE(LOG_SUM_EXP, cb) \
  67. MEGDNN_ELEMWISE_MODE_ENABLE(FUSE_ADD_TANH, cb) \
  68. MEGDNN_ELEMWISE_MODE_ENABLE(FAST_TANH_GRAD, cb) \
  69. MEGDNN_ELEMWISE_MODE_ENABLE(FUSE_ADD_SIGMOID, cb) \
  70. MEGDNN_ELEMWISE_MODE_ENABLE(ATAN2, cb) \
  71. MEGDNN_ELEMWISE_MODE_ENABLE(H_SWISH_GRAD, cb) \
  72. MEGDNN_ELEMWISE_MODE_ENABLE(FUSE_ADD_H_SWISH, cb) \
  73. #define MEGDNN_FOREACH_ELEMWISE_MODE_BINARY_INT(cb) \
  74. MEGDNN_ELEMWISE_MODE_ENABLE(ABS_GRAD, cb) \
  75. MEGDNN_ELEMWISE_MODE_ENABLE(ADD, cb) \
  76. MEGDNN_ELEMWISE_MODE_ENABLE(FLOOR_DIV, cb) \
  77. MEGDNN_ELEMWISE_MODE_ENABLE(MAX, cb) \
  78. MEGDNN_ELEMWISE_MODE_ENABLE(MIN, cb) \
  79. MEGDNN_ELEMWISE_MODE_ENABLE(MOD, cb) \
  80. MEGDNN_ELEMWISE_MODE_ENABLE(MUL, cb) \
  81. MEGDNN_ELEMWISE_MODE_ENABLE(SIGMOID_GRAD, cb) \
  82. MEGDNN_ELEMWISE_MODE_ENABLE(SUB, cb) \
  83. MEGDNN_ELEMWISE_MODE_ENABLE(SWITCH_GT0, cb) \
  84. MEGDNN_ELEMWISE_MODE_ENABLE(TANH_GRAD, cb) \
  85. MEGDNN_ELEMWISE_MODE_ENABLE(LT, cb) \
  86. MEGDNN_ELEMWISE_MODE_ENABLE(LEQ, cb) \
  87. MEGDNN_ELEMWISE_MODE_ENABLE(EQ, cb) \
  88. MEGDNN_ELEMWISE_MODE_ENABLE(FUSE_ADD_RELU, cb) \
  89. MEGDNN_ELEMWISE_MODE_ENABLE(SHL, cb) \
  90. MEGDNN_ELEMWISE_MODE_ENABLE(SHR, cb) \
  91. MEGDNN_ELEMWISE_MODE_ENABLE(RMULH, cb) \
  92. #define MEGDNN_FOREACH_ELEMWISE_MODE_TERNARY_FLOAT(cb) \
  93. MEGDNN_ELEMWISE_MODE_ENABLE(COND_LEQ_MOV, cb) \
  94. MEGDNN_ELEMWISE_MODE_ENABLE(FUSE_MUL_ADD3, cb) \
  95. #define MEGDNN_FOREACH_ELEMWISE_MODE_TERNARY_INT(cb) \
  96. MEGDNN_ELEMWISE_MODE_ENABLE(COND_LEQ_MOV, cb) \

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