.. _megdnn: ====== MegDNN ====== MegDNN 鏄� MegEngine 鐨勫簳灞傝绠楀紩鎿庯紝浣嶄簬 :src:`dnn` 鐩綍銆� 瀹冩彁渚涗簡涓� dense tensor 鐩稿叧鐨勮绠楀師璇紝姣斿 Convolution, Pooling, MatrixMul, Transpose 绛夈€� 瀹冩槸璺ㄥ钩鍙扮殑璁$畻搴擄紝鏀寔 x86 (with SSE4.2), arm (with NEON), CUDA (Kepler/Maxwell/Pascal)锛� OpenCL(mali/adreno/powervr/cuda/intel, etc), Hexagon 绛夈€� .. _megdnn-organize: MegDNN 鏂囦欢缁撴瀯 --------------- .. code-block:: shell dnn 鈹溾攢鈹€ atlas-stub 鈹溾攢鈹€ cuda-stub 鈹溾攢鈹€ include 鈹偮犅� 鈹溾攢鈹€ megdnn 鈹� 鈹� 鈹溾攢鈹€ config 鈹� 鈹� 鈹溾攢鈹€ dtype # 瀹氫箟鏁版嵁绫诲瀷 鈹� 鈹� 鈹溾攢鈹€ internal # 浠呬緵 MegDNN 鍐呴儴瀹炵幇浣跨敤鐨勫ご鏂囦欢 鈹� 鈹� 鈹� 鈹溾攢鈹€ defs.h # 瀹氫箟浜嗕笌 TensorND 鐨勭淮鏁帮紙ndim锛夌浉鍏崇殑瀹� 鈹� 鈹� 鈹� 鈹溾攢鈹€ opr_header_epilogue.h # 瀹氫箟 MegDNN operator 闇€瑕佺殑瀹� 鈹� 鈹� 鈹� 鈹溾攢鈹€ opr_header_prologue.h # 灏� opr_header_prologue.h 涓殑瀹� undef 鎺� 鈹� 鈹� 鈹� 鈹溾攢鈹€ visibility_epilogue.h # 瀹氫箟浜嗕笌 visibility 鐩稿叧鐨勫畯 鈹� 鈹� 鈹� 鈹斺攢鈹€ visibility_prologue.h # 灏� visibility_prologue.h 涓畾涔夌殑瀹� undef 鎺� 鈹� 鈹� 鈹溾攢鈹€ oprs # 瀹氫箟浜� MegDNN 鐨勬墍鏈� operator 鈹� 鈹� 鈹溾攢鈹€ thin # 鐩歌緝浜� std 鐨勪竴浜涚畝鍖栧疄鐜� 鈹� 鈹� 鈹溾攢鈹€ arch.h # 瀹氫箟浜嗕竴浜涘钩鍙颁笌缂栬瘧鍣ㄧ浉鍏崇殑瀹� 鈹� 鈹� 鈹溾攢鈹€ basic_types.h # 瀹氫箟浜嗕竴浜� MegDNN 鍩虹绫诲瀷锛屽 ErrorHandler/TensorShape/TensorLayout/TensorND/Workspace 绛� 鈹� 鈹� 鈹溾攢鈹€ common.h 鈹� 鈹� 鈹溾攢鈹€ cuda.h # 瀹氫箟浜嗕竴浜� CUDA 鐗规湁鐨� API 鈹� 鈹� 鈹溾攢鈹€ dtype.h 鈹� 鈹� 鈹溾攢鈹€ handle.h 鈹� 鈹� 鈹溾攢鈹€ opr_param_defs.h # 瀹氫箟浜嗕竴浜涚粨鏋勪綋锛岃〃绀� operator 鐨� param 锛堢敱 scripts/gen_param_defs.py 鑷姩鐢熸垚锛� 鈹� 鈹� 鈹溾攢鈹€ opr_result_defs.h # 瀹氫箟浜嗕竴浜涚粨鏋勪綋锛岃〃绀� operator 鐨� result 锛堢敱 scripts/gen_param_defs.py 鑷姩鐢熸垚锛� 鈹� 鈹� 鈹溾攢鈹€ oprs.h # 鍖呭惈浜� oprs 鏂囦欢澶逛笅鐨勬墍鏈夊ご鏂囦欢 鈹� 鈹� 鈹溾攢鈹€ tensor_format.h 鈹� 鈹� 鈹溾攢鈹€ tensor_iter.h # 瀹氫箟浜� TensorIter 绫伙紝鏂逛究鏋氫妇 TensorND 鍐呯殑鎵€鏈夊厓绱犮€� 鈹� 鈹� 鈹斺攢鈹€ version.h # 瀹氫箟浜� MegDNN 鐨� version 鈹偮犅� 鈹溾攢鈹€ hip_header.h 鈹偮犅� 鈹溾攢鈹€ megcore_*.h # MegCore 鏄竴涓法骞冲彴绾跨▼绠$悊搴擄紝灏� CUDA "device" 鍜� "stream" 鐨勬蹇典笌 CPU NUMA锛堝皻鏈疄鐜帮級鍜岀嚎绋嬬殑姒傚康鎶借薄鍑烘潵銆� 鈹偮犅� 鈹斺攢鈹€ megdnn.h # MegDNN 鐨勪富澶存枃浠讹紝MegDNN 鐨勭敤鎴峰簲浣跨敤姝ゅご鏂囦欢銆� 鈹溾攢鈹€ scripts 鈹溾攢鈹€ src 鈹偮犅� 鈹溾攢鈹€ aarch64 鈹偮犅� 鈹溾攢鈹€ arm_common 鈹偮犅� 鈹溾攢鈹€ armv7 鈹偮犅� 鈹溾攢鈹€ atlas 鈹偮犅� 鈹溾攢鈹€ cambricon 鈹偮犅� 鈹溾攢鈹€ common # 瀹氫箟浜嗗悇涓钩鍙扮殑鍏叡浠g爜锛屾瘮濡傚悇涓� operator 鐨� deduce_layout, OperatorBase, Handle 鐨勬柟娉曞畾涔夈€� 鈹偮犅� 鈹溾攢鈹€ cuda 鈹偮犅� 鈹溾攢鈹€ fallback 鈹偮犅� 鈹溾攢鈹€ naive 鈹偮犅� 鈹溾攢鈹€ rocm 鈹偮犅� 鈹溾攢鈹€ x86 鈹偮犅� 鈹斺攢鈹€ CMakeLists.txt 鈹溾攢鈹€ test 鈹斺攢鈹€ CMakeLists.txt