Skip to content

DIPU v0.2.0 Release Note

Compare
Choose a tag to compare
@MiaoYYu MiaoYYu released this 06 Jul 06:32
· 1900 commits to main since this release
c6af9cb

Release Note

DIPU v0.2.0 Release Notes

大家好!我们很高兴的宣布 DIPU v0.2.0版本正式发布!
DIPU 是一套能够将训练设备快速接入训练框架的 Pytorch 扩展包。

版本号

v0.2.0

核心功能

  1. 多硬件接入机制:实现一组函数接口即可低成本、快捷接入新硬件Runtime,包含设备接口(dipu/torch_dipu/csrc_dipu/runtime/device/deviceapis.h)和通信接口(dipu/torch_dipu/csrc_dipu/runtime/device/diclapis.h);
  2. 高效率算子接入机制:可根据算子 schema 等信息自动生成调用 DIOPI 函数的 wrapper 代码和函数注册代码;
  3. 算子精度自动对比 autocompare 功能: 打开该功能后算子调用时可同时调用 CPU 算子实现,并对设备计算结果进行精度对比,可快速定位算子精度问题;
  4. 算子参数获取功能:设置环境变量即可查看算子所有参数的信息(如tensor的shape,stride,dtype,memformat,tensor值等)和函数调用信息;
  5. 强大的 fallback 功能:增强了原生 Pytorch fallback 能力,支持了运行时控制算子强制 fallback 的能力,支持了未适配函数自动 fallback 的能力;
  6. 适配了191个 DIOPI 函数,支持了229个 Aten 函数(实际注册了的函数);
  7. 提供了在各设备上质量保障的基本能力
  8. 提供了多机多卡训练相关接口和能力

文档

新支持以下 DIOPI 函数

  1. diopiAbs
  2. diopiAbsInp
  3. diopiAdaptiveAvgPool2d
  4. diopiAdaptiveAvgPool2dBackward
  5. diopiAdd
  6. diopiAddInp
  7. diopiAddInpScalar
  8. diopiAddScalar
  9. diopiAddcdiv
  10. diopiAddcdivInp
  11. diopiAddcmul
  12. diopiAddcmulInp
  13. diopiAddmm
  14. diopiAll
  15. diopiAny
  16. diopiArange
  17. diopiArgmax
  18. diopiBCELoss
  19. diopiBCELossBackward
  20. diopiBaddbmm
  21. diopiBaddbmmInp
  22. diopiBatchNorm
  23. diopiBatchNormBackward
  24. diopiBitwiseAnd
  25. diopiBitwiseAndInp
  26. diopiBitwiseAndInpScalar
  27. diopiBitwiseAndScalar
  28. diopiBitwiseNot
  29. diopiBitwiseNotInp
  30. diopiBmm
  31. diopiCTCLoss
  32. diopiCTCLossBackward
  33. diopiCat
  34. diopiCdist
  35. diopiCdistBackward
  36. diopiClamp
  37. diopiClampInp
  38. diopiClampInpScalar
  39. diopiClampMaxScalar
  40. diopiClampMinScalar
  41. diopiClampScalar
  42. diopiConvolution2d
  43. diopiConvolution2dBackward
  44. diopiCos
  45. diopiCosInp
  46. diopiCrossEntropyLoss
  47. diopiCrossEntropyLossBackward
  48. diopiCumsum
  49. diopiDiv
  50. diopiDivInp
  51. diopiDivInpScalar
  52. diopiDivScalar
  53. diopiDropout
  54. diopiDropoutInp
  55. diopiEq
  56. diopiEqInp
  57. diopiEqInpScalar
  58. diopiEqScalar
  59. diopiErf
  60. diopiErfInp
  61. diopiExp
  62. diopiExpInp
  63. diopiFill
  64. diopiFlip
  65. diopiFloor
  66. diopiFloorInp
  67. diopiGather
  68. diopiGe
  69. diopiGeInp
  70. diopiGeInpScalar
  71. diopiGeScalar
  72. diopiGelu
  73. diopiGeluBackward
  74. diopiGt
  75. diopiGtInp
  76. diopiGtInpScalar
  77. diopiGtScalar
  78. diopiHardswish
  79. diopiHardswishBackward
  80. diopiHardswishInp
  81. diopiHardtanh
  82. diopiHardtanhBackward
  83. diopiHardtanhInp
  84. diopiIndex
  85. diopiIndexPut
  86. diopiIndexSelect
  87. diopiLayerNorm
  88. diopiLayerNormBackward
  89. diopiLe
  90. diopiLeInp
  91. diopiLeInpScalar
  92. diopiLeScalar
  93. diopiLeakyRelu
  94. diopiLeakyReluBackward
  95. diopiLeakyReluInp
  96. diopiLinear
  97. diopiLinearBackward
  98. diopiLinspace
  99. diopiLog
  100. diopiLog2
  101. diopiLog2Inp
  102. diopiLogInp
  103. diopiLogSoftmax
  104. diopiLogSoftmaxBackward
  105. diopiLogicalAnd
  106. diopiLogicalAndInp
  107. diopiLt
  108. diopiLtInp
  109. diopiLtInpScalar
  110. diopiLtScalar
  111. diopiMSELoss
  112. diopiMSELossBackward
  113. diopiMaskedFill
  114. diopiMaskedFillInp
  115. diopiMaskedFillInpScalar
  116. diopiMaskedFillScalar
  117. diopiMaskedSelect
  118. diopiMatmul
  119. diopiMax
  120. diopiMaxAll
  121. diopiMaxPool2d
  122. diopiMaxPool2dBackward
  123. diopiMaxPool2dWithIndices
  124. diopiMaximum
  125. diopiMean
  126. diopiMin
  127. diopiMinAll
  128. diopiMinimum
  129. diopiMm
  130. diopiMul
  131. diopiMulInp
  132. diopiMulInpScalar
  133. diopiMulScalar
  134. diopiMultinomial
  135. diopiNLLLoss
  136. diopiNLLLossBackward
  137. diopiNe
  138. diopiNeInp
  139. diopiNeInpScalar
  140. diopiNeScalar
  141. diopiNeg
  142. diopiNegInp
  143. diopiNonzero
  144. diopiNorm
  145. diopiNormalInp
  146. diopiPolar
  147. diopiPow
  148. diopiPowInp
  149. diopiPowInpTensor
  150. diopiPowScalar
  151. diopiPowTensor
  152. diopiRandomInp
  153. diopiRandperm
  154. diopiReciprocal
  155. diopiRelu
  156. diopiReluInp
  157. diopiRemainderTensor
  158. diopiRepeat
  159. diopiRoll
  160. diopiRsqrt
  161. diopiScatter
  162. diopiScatterScalar
  163. diopiSigmoid
  164. diopiSigmoidBackward
  165. diopiSilu
  166. diopiSin
  167. diopiSinInp
  168. diopiSoftmax
  169. diopiSoftmaxBackward
  170. diopiSort
  171. diopiSqrt
  172. diopiSqrtInp
  173. diopiStack
  174. diopiStd
  175. diopiSub
  176. diopiSubScalar
  177. diopiSum
  178. diopiTanh
  179. diopiTanhBackward
  180. diopiTanhInp
  181. diopiThresholdBackward
  182. diopiTopk
  183. diopiTranspose
  184. diopiTril
  185. diopiUniformInp
  186. diopiUnique
  187. diopiUpsampleLinear
  188. diopiUpsampleLinearBackward
  189. diopiUpsampleNearest
  190. diopiUpsampleNearestBackward
  191. diopiWhere