mindspore 2.5.0__cp311-cp311-win_amd64.whl → 2.6.0__cp311-cp311-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mindspore might be problematic. Click here for more details.
- mindspore/.commit_id +1 -1
- mindspore/Microsoft.VisualStudio.Telemetry.dll +0 -0
- mindspore/Newtonsoft.Json.dll +0 -0
- mindspore/__init__.py +6 -4
- mindspore/_c_dataengine.cp311-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp311-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp311-win_amd64.pyd +0 -0
- mindspore/_check_jit_forbidden_api.py +3 -0
- mindspore/_checkparam.py +3 -33
- mindspore/_deprecated/__init__.py +17 -0
- mindspore/_deprecated/jit.py +198 -0
- mindspore/_extends/builtin_operations.py +1 -1
- mindspore/_extends/parse/__init__.py +6 -7
- mindspore/_extends/parse/compile_config.py +19 -0
- mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +22 -3
- mindspore/_extends/parse/jit_fallback_modules/__init__.py +0 -0
- mindspore/_extends/parse/jit_fallback_modules/check_utils.py +123 -0
- mindspore/_extends/parse/jit_fallback_modules/third_party_modules.py +50 -0
- mindspore/_extends/parse/parser.py +25 -194
- mindspore/_extends/parse/resources.py +1 -5
- mindspore/_extends/parse/standard_method.py +109 -75
- mindspore/_extends/pijit/__init__.py +2 -2
- mindspore/_extends/pijit/pijit_func_white_list.py +16 -11
- mindspore/_extends/pijit/tensor_func_list.py +27 -0
- mindspore/_extends/utils.py +1 -1
- mindspore/amp.py +4 -4
- mindspore/atlprov.dll +0 -0
- mindspore/avcodec-59.dll +0 -0
- mindspore/avdevice-59.dll +0 -0
- mindspore/avfilter-8.dll +0 -0
- mindspore/avformat-59.dll +0 -0
- mindspore/avutil-57.dll +0 -0
- mindspore/boost/__init__.py +2 -2
- mindspore/boost/base.py +3 -7
- mindspore/boost/boost_cell_wrapper.py +2 -2
- mindspore/c1.dll +0 -0
- mindspore/c1xx.dll +0 -0
- mindspore/c2.dll +0 -0
- mindspore/common/__init__.py +4 -3
- mindspore/common/_grad_function.py +56 -0
- mindspore/common/_pijit_context.py +14 -5
- mindspore/common/_register_for_tensor.py +1 -1
- mindspore/common/_stub_tensor.py +5 -10
- mindspore/common/_tensor_cpp_method.py +1 -1
- mindspore/common/_tensor_docs.py +2014 -3386
- mindspore/common/api.py +386 -355
- mindspore/common/auto_dynamic_shape.py +41 -44
- mindspore/common/dtype.py +5 -2
- mindspore/common/dump.py +7 -5
- mindspore/common/file_system.py +3 -0
- mindspore/common/generator.py +3 -0
- mindspore/common/hook_handle.py +5 -3
- mindspore/common/initializer.py +10 -6
- mindspore/common/jit_begin_end.py +94 -0
- mindspore/common/jit_config.py +6 -1
- mindspore/common/jit_context.py +76 -0
- mindspore/common/jit_trace.py +378 -0
- mindspore/common/lazy_inline.py +2 -2
- mindspore/common/mutable.py +5 -4
- mindspore/common/parameter.py +106 -39
- mindspore/common/seed.py +2 -2
- mindspore/common/sparse_tensor.py +23 -17
- mindspore/common/tensor.py +332 -714
- mindspore/communication/__init__.py +7 -5
- mindspore/communication/_comm_helper.py +47 -2
- mindspore/communication/comm_func.py +70 -53
- mindspore/communication/management.py +83 -17
- mindspore/context.py +228 -571
- mindspore/dataset/__init__.py +44 -20
- mindspore/dataset/audio/__init__.py +2 -8
- mindspore/dataset/audio/transforms.py +3 -17
- mindspore/dataset/core/config.py +3 -3
- mindspore/dataset/engine/cache_client.py +1 -1
- mindspore/dataset/engine/datasets.py +102 -120
- mindspore/dataset/engine/datasets_audio.py +22 -22
- mindspore/dataset/engine/datasets_standard_format.py +43 -24
- mindspore/dataset/engine/datasets_text.py +78 -85
- mindspore/dataset/engine/datasets_user_defined.py +109 -77
- mindspore/dataset/engine/datasets_vision.py +111 -108
- mindspore/dataset/engine/iterators.py +5 -3
- mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
- mindspore/dataset/engine/samplers.py +279 -57
- mindspore/dataset/engine/serializer_deserializer.py +2 -1
- mindspore/dataset/engine/validators.py +10 -0
- mindspore/dataset/text/__init__.py +7 -6
- mindspore/dataset/text/transforms.py +6 -5
- mindspore/dataset/text/utils.py +3 -3
- mindspore/dataset/transforms/__init__.py +0 -9
- mindspore/dataset/transforms/transforms.py +3 -3
- mindspore/dataset/utils/browse_dataset.py +1 -1
- mindspore/dataset/vision/__init__.py +2 -9
- mindspore/dataset/vision/transforms.py +202 -158
- mindspore/dataset/vision/utils.py +7 -5
- mindspore/device_context/ascend/op_debug.py +60 -1
- mindspore/device_context/ascend/op_tuning.py +0 -4
- mindspore/device_manager.py +39 -3
- mindspore/dnnl.dll +0 -0
- mindspore/dpcmi.dll +0 -0
- mindspore/experimental/es/embedding_service.py +35 -27
- mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +0 -2
- mindspore/experimental/map_parameter.py +4 -4
- mindspore/experimental/optim/adadelta.py +22 -26
- mindspore/experimental/optim/adagrad.py +4 -4
- mindspore/experimental/optim/adam.py +4 -0
- mindspore/experimental/optim/adamax.py +4 -4
- mindspore/experimental/optim/adamw.py +4 -0
- mindspore/experimental/optim/asgd.py +1 -1
- mindspore/experimental/optim/lr_scheduler.py +40 -22
- mindspore/experimental/optim/radam.py +5 -5
- mindspore/experimental/optim/rprop.py +1 -1
- mindspore/experimental/optim/sgd.py +1 -1
- mindspore/hal/contiguous_tensors_handle.py +6 -10
- mindspore/hal/device.py +55 -81
- mindspore/hal/event.py +38 -55
- mindspore/hal/memory.py +115 -147
- mindspore/hal/stream.py +81 -125
- mindspore/include/dataset/constants.h +7 -4
- mindspore/include/dataset/execute.h +2 -2
- mindspore/jpeg62.dll +0 -0
- mindspore/log.py +40 -2
- mindspore/mindrecord/__init__.py +20 -7
- mindspore/mindspore_backend_common.dll +0 -0
- mindspore/mindspore_backend_manager.dll +0 -0
- mindspore/mindspore_common.dll +0 -0
- mindspore/mindspore_core.dll +0 -0
- mindspore/mindspore_dump.dll +0 -0
- mindspore/mindspore_frontend.dll +0 -0
- mindspore/mindspore_glog.dll +0 -0
- mindspore/mindspore_memory_pool.dll +0 -0
- mindspore/mindspore_ms_backend.dll +0 -0
- mindspore/mindspore_ops.dll +0 -0
- mindspore/{mindspore_backend.dll → mindspore_ops_host.dll} +0 -0
- mindspore/mindspore_ops_kernel_common.dll +0 -0
- mindspore/mindspore_profiler.dll +0 -0
- mindspore/mindspore_pyboost.dll +0 -0
- mindspore/mindspore_pynative.dll +0 -0
- mindspore/mindspore_res_manager.dll +0 -0
- mindspore/mindspore_runtime_pipeline.dll +0 -0
- mindspore/mint/__init__.py +133 -702
- mindspore/mint/distributed/__init__.py +5 -1
- mindspore/mint/distributed/distributed.py +198 -113
- mindspore/mint/linalg/__init__.py +2 -0
- mindspore/mint/nn/__init__.py +280 -18
- mindspore/mint/nn/functional.py +282 -64
- mindspore/mint/nn/layer/__init__.py +4 -0
- mindspore/mint/nn/layer/_functions.py +7 -3
- mindspore/mint/nn/layer/activation.py +120 -13
- mindspore/mint/nn/layer/conv.py +234 -28
- mindspore/mint/nn/layer/normalization.py +15 -16
- mindspore/mint/nn/layer/padding.py +1 -1
- mindspore/mint/nn/layer/pooling.py +66 -1
- mindspore/mint/optim/__init__.py +2 -1
- mindspore/mint/optim/sgd.py +171 -0
- mindspore/msobj140.dll +0 -0
- mindspore/mspdb140.dll +0 -0
- mindspore/mspdbcore.dll +0 -0
- mindspore/mspdbst.dll +0 -0
- mindspore/mspft140.dll +0 -0
- mindspore/msvcdis140.dll +0 -0
- mindspore/msvcp140_1.dll +0 -0
- mindspore/msvcp140_2.dll +0 -0
- mindspore/msvcp140_atomic_wait.dll +0 -0
- mindspore/msvcp140_codecvt_ids.dll +0 -0
- mindspore/nn/__init__.py +4 -1
- mindspore/nn/cell.py +1253 -179
- mindspore/nn/layer/activation.py +23 -21
- mindspore/nn/layer/basic.py +22 -16
- mindspore/nn/layer/container.py +1 -1
- mindspore/nn/layer/conv.py +53 -42
- mindspore/nn/layer/embedding.py +9 -8
- mindspore/nn/layer/normalization.py +48 -42
- mindspore/nn/layer/pooling.py +75 -31
- mindspore/nn/layer/transformer.py +11 -10
- mindspore/nn/learning_rate_schedule.py +4 -2
- mindspore/nn/loss/loss.py +27 -19
- mindspore/nn/optim/ada_grad.py +6 -5
- mindspore/nn/optim/adadelta.py +9 -7
- mindspore/nn/optim/adafactor.py +1 -1
- mindspore/nn/optim/adam.py +18 -14
- mindspore/nn/optim/adamax.py +8 -7
- mindspore/nn/optim/adasum.py +5 -5
- mindspore/nn/optim/asgd.py +3 -1
- mindspore/nn/optim/ftrl.py +11 -9
- mindspore/nn/optim/lamb.py +1 -1
- mindspore/nn/optim/lazyadam.py +12 -10
- mindspore/nn/optim/momentum.py +7 -6
- mindspore/nn/optim/optimizer.py +2 -2
- mindspore/nn/optim/proximal_ada_grad.py +12 -10
- mindspore/nn/optim/rmsprop.py +13 -12
- mindspore/nn/optim/rprop.py +9 -7
- mindspore/nn/optim/sgd.py +9 -6
- mindspore/nn/optim/tft_wrapper.py +5 -2
- mindspore/nn/probability/bijector/bijector.py +17 -11
- mindspore/nn/probability/bijector/gumbel_cdf.py +5 -5
- mindspore/nn/probability/bijector/invert.py +2 -2
- mindspore/nn/probability/bijector/scalar_affine.py +3 -3
- mindspore/nn/probability/bijector/softplus.py +3 -2
- mindspore/nn/probability/distribution/beta.py +3 -3
- mindspore/nn/probability/distribution/categorical.py +1 -1
- mindspore/nn/probability/distribution/cauchy.py +4 -2
- mindspore/nn/probability/distribution/exponential.py +6 -7
- mindspore/nn/probability/distribution/gamma.py +2 -2
- mindspore/nn/probability/distribution/gumbel.py +2 -2
- mindspore/nn/probability/distribution/half_normal.py +5 -3
- mindspore/nn/probability/distribution/logistic.py +5 -3
- mindspore/nn/probability/distribution/poisson.py +1 -1
- mindspore/nn/probability/distribution/uniform.py +5 -3
- mindspore/nn/reinforcement/_tensors_queue.py +1 -1
- mindspore/nn/reinforcement/tensor_array.py +1 -1
- mindspore/nn/wrap/__init__.py +6 -6
- mindspore/nn/wrap/cell_wrapper.py +178 -117
- mindspore/nn/wrap/grad_reducer.py +45 -36
- mindspore/nn/wrap/loss_scale.py +3 -3
- mindspore/numpy/array_creations.py +3 -3
- mindspore/numpy/array_ops.py +1 -1
- mindspore/numpy/utils.py +1 -2
- mindspore/numpy/utils_const.py +1 -2
- mindspore/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/opencv_imgproc452.dll +0 -0
- mindspore/ops/__init__.py +3 -2
- mindspore/ops/_grad_experimental/grad_comm_ops.py +18 -3
- mindspore/ops/_grad_experimental/grad_debug_ops.py +8 -1
- mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
- mindspore/ops/_register_for_op.py +0 -11
- mindspore/{ops_generate → ops/_utils}/arg_dtype_cast.py +123 -4
- mindspore/{ops_generate → ops/_utils}/arg_handler.py +3 -4
- mindspore/ops/_vmap/vmap_array_ops.py +32 -6
- mindspore/ops/_vmap/vmap_grad_nn_ops.py +2 -1
- mindspore/ops/_vmap/vmap_math_ops.py +4 -7
- mindspore/ops/_vmap/vmap_nn_ops.py +9 -8
- mindspore/ops/auto_generate/__init__.py +4 -3
- mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +127 -52
- mindspore/ops/auto_generate/gen_extend_func.py +286 -208
- mindspore/ops/auto_generate/gen_ops_def.py +2783 -2335
- mindspore/ops/auto_generate/gen_ops_prim.py +8992 -2686
- mindspore/ops/auto_generate/pyboost_inner_prim.py +106 -76
- mindspore/ops/composite/__init__.py +2 -1
- mindspore/ops/composite/base.py +19 -24
- mindspore/ops/composite/math_ops.py +6 -16
- mindspore/ops/composite/multitype_ops/__init__.py +5 -2
- mindspore/ops/composite/multitype_ops/_compile_utils.py +4 -5
- mindspore/ops/composite/multitype_ops/_constexpr_utils.py +1 -2
- mindspore/ops/composite/multitype_ops/add_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_and_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_or_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/bitwise_xor_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/div_impl.py +6 -4
- mindspore/ops/composite/multitype_ops/equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/floordiv_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/getitem_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/greater_equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/greater_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/in_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/invert_impl.py +50 -0
- mindspore/ops/composite/multitype_ops/left_shift_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/less_equal_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/less_impl.py +4 -3
- mindspore/ops/composite/multitype_ops/logic_not_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/logical_and_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/logical_or_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/mod_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/mul_impl.py +3 -2
- mindspore/ops/composite/multitype_ops/negative_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/not_equal_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/not_in_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/ones_like_impl.py +18 -0
- mindspore/ops/composite/multitype_ops/pow_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/right_shift_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/setitem_impl.py +2 -1
- mindspore/ops/composite/multitype_ops/sub_impl.py +2 -1
- mindspore/ops/function/__init__.py +28 -2
- mindspore/ops/function/_add_attr_func.py +58 -0
- mindspore/ops/function/array_func.py +1631 -2347
- mindspore/ops/function/clip_func.py +38 -45
- mindspore/ops/function/debug_func.py +36 -44
- mindspore/ops/function/grad/__init__.py +1 -0
- mindspore/ops/function/grad/grad_func.py +104 -71
- mindspore/ops/function/image_func.py +1 -1
- mindspore/ops/function/linalg_func.py +46 -78
- mindspore/ops/function/math_func.py +3024 -3855
- mindspore/ops/function/nn_func.py +678 -274
- mindspore/ops/function/other_func.py +159 -1
- mindspore/ops/function/parameter_func.py +17 -30
- mindspore/ops/function/random_func.py +216 -361
- mindspore/ops/function/reshard_func.py +4 -70
- mindspore/ops/function/sparse_func.py +3 -3
- mindspore/ops/function/sparse_unary_func.py +5 -5
- mindspore/ops/function/spectral_func.py +25 -58
- mindspore/ops/function/vmap_func.py +26 -18
- mindspore/ops/functional.py +8 -5
- mindspore/ops/functional_overload.py +655 -4
- mindspore/ops/op_info_register.py +32 -244
- mindspore/ops/operations/__init__.py +21 -14
- mindspore/ops/operations/_custom_ops_utils.py +235 -0
- mindspore/ops/operations/_grad_ops.py +1 -10
- mindspore/ops/operations/_inner_ops.py +5 -76
- mindspore/ops/operations/_ms_kernel.py +4 -10
- mindspore/ops/operations/_rl_inner_ops.py +1 -1
- mindspore/ops/operations/_scalar_ops.py +3 -2
- mindspore/ops/operations/_sequence_ops.py +1 -1
- mindspore/ops/operations/_tensor_array.py +1 -1
- mindspore/ops/operations/array_ops.py +39 -24
- mindspore/ops/operations/comm_ops.py +150 -107
- mindspore/ops/operations/custom_ops.py +287 -32
- mindspore/ops/operations/debug_ops.py +119 -16
- mindspore/ops/operations/inner_ops.py +1 -1
- mindspore/ops/operations/linalg_ops.py +1 -58
- mindspore/ops/operations/manually_defined/_inner.py +1 -1
- mindspore/ops/operations/manually_defined/ops_def.py +746 -79
- mindspore/ops/operations/math_ops.py +21 -18
- mindspore/ops/operations/nn_ops.py +67 -224
- mindspore/ops/operations/other_ops.py +62 -9
- mindspore/ops/operations/random_ops.py +13 -7
- mindspore/ops/operations/reshard_ops.py +1 -1
- mindspore/ops/operations/sparse_ops.py +2 -2
- mindspore/ops/primitive.py +43 -32
- mindspore/ops/tensor_method.py +243 -17
- mindspore/ops_generate/__init__.py +0 -5
- mindspore/ops_generate/aclnn/__init__.py +0 -0
- mindspore/ops_generate/{aclnn_kernel_register_auto_cc_generator.py → aclnn/aclnn_kernel_register_auto_cc_generator.py} +43 -18
- mindspore/ops_generate/{gen_aclnn_implement.py → aclnn/gen_aclnn_implement.py} +49 -51
- mindspore/ops_generate/api/__init__.py +0 -0
- mindspore/ops_generate/{add_tensor_docs_generator.py → api/add_tensor_docs_generator.py} +9 -7
- mindspore/ops_generate/{cpp_create_prim_instance_helper_generator.py → api/cpp_create_prim_instance_helper_generator.py} +6 -9
- mindspore/ops_generate/{functional_map_cpp_generator.py → api/functional_map_cpp_generator.py} +25 -12
- mindspore/ops_generate/{functional_overload_py_generator.py → api/functional_overload_py_generator.py} +8 -6
- mindspore/ops_generate/{functions_cc_generator.py → api/functions_cc_generator.py} +14 -10
- mindspore/ops_generate/api/gen_api.py +103 -0
- mindspore/ops_generate/{op_api_proto.py → api/op_api_proto.py} +98 -69
- mindspore/ops_generate/{tensor_func_reg_cpp_generator.py → api/tensor_func_reg_cpp_generator.py} +82 -43
- mindspore/ops_generate/common/__init__.py +0 -0
- mindspore/ops_generate/common/gen_constants.py +91 -0
- mindspore/ops_generate/{gen_utils.py → common/gen_utils.py} +72 -19
- mindspore/ops_generate/{op_proto.py → common/op_proto.py} +64 -1
- mindspore/ops_generate/{template.py → common/template.py} +96 -84
- mindspore/ops_generate/gen_ops.py +23 -325
- mindspore/ops_generate/op_def/__init__.py +0 -0
- mindspore/ops_generate/op_def/gen_op_def.py +90 -0
- mindspore/ops_generate/{lite_ops_cpp_generator.py → op_def/lite_ops_cpp_generator.py} +47 -11
- mindspore/ops_generate/{ops_def_cc_generator.py → op_def/ops_def_cc_generator.py} +18 -10
- mindspore/ops_generate/{ops_def_h_generator.py → op_def/ops_def_h_generator.py} +5 -5
- mindspore/ops_generate/{ops_name_h_generator.py → op_def/ops_name_h_generator.py} +30 -15
- mindspore/ops_generate/op_def/ops_primitive_h_generator.py +125 -0
- mindspore/ops_generate/op_def_py/__init__.py +0 -0
- mindspore/ops_generate/op_def_py/gen_op_def_py.py +47 -0
- mindspore/ops_generate/{op_def_py_generator.py → op_def_py/op_def_py_generator.py} +6 -5
- mindspore/ops_generate/{op_prim_py_generator.py → op_def_py/op_prim_py_generator.py} +24 -15
- mindspore/ops_generate/pyboost/__init__.py +0 -0
- mindspore/ops_generate/{auto_grad_impl_cc_generator.py → pyboost/auto_grad_impl_cc_generator.py} +11 -7
- mindspore/ops_generate/{auto_grad_reg_cc_generator.py → pyboost/auto_grad_reg_cc_generator.py} +7 -7
- mindspore/ops_generate/{gen_pyboost_func.py → pyboost/gen_pyboost_func.py} +40 -16
- mindspore/ops_generate/{op_template_parser.py → pyboost/op_template_parser.py} +105 -24
- mindspore/ops_generate/{pyboost_functions_cpp_generator.py → pyboost/pyboost_functions_cpp_generator.py} +55 -18
- mindspore/ops_generate/{pyboost_functions_h_generator.py → pyboost/pyboost_functions_h_generator.py} +42 -10
- mindspore/ops_generate/{pyboost_functions_py_generator.py → pyboost/pyboost_functions_py_generator.py} +6 -6
- mindspore/ops_generate/{pyboost_grad_function_cpp_generator.py → pyboost/pyboost_grad_function_cpp_generator.py} +11 -10
- mindspore/ops_generate/{pyboost_inner_prim_generator.py → pyboost/pyboost_inner_prim_generator.py} +8 -7
- mindspore/ops_generate/{pyboost_native_grad_functions_generator.py → pyboost/pyboost_native_grad_functions_generator.py} +14 -10
- mindspore/ops_generate/{pyboost_op_cpp_code_generator.py → pyboost/pyboost_op_cpp_code_generator.py} +140 -53
- mindspore/ops_generate/{pyboost_overload_functions_cpp_generator.py → pyboost/pyboost_overload_functions_cpp_generator.py} +28 -15
- mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +88 -4
- mindspore/ops_generate/resources/__init__.py +0 -0
- mindspore/ops_generate/resources/resource_list.py +30 -0
- mindspore/ops_generate/resources/resource_loader.py +36 -0
- mindspore/ops_generate/resources/resource_manager.py +64 -0
- mindspore/ops_generate/resources/yaml_loader.py +88 -0
- mindspore/ops_generate/tensor_py_cc_generator.py +122 -0
- mindspore/parallel/__init__.py +6 -2
- mindspore/parallel/_auto_parallel_context.py +140 -12
- mindspore/parallel/_cell_wrapper.py +132 -15
- mindspore/parallel/_parallel_serialization.py +95 -4
- mindspore/parallel/_ps_context.py +1 -1
- mindspore/parallel/_recovery_context.py +7 -2
- mindspore/parallel/_tensor.py +142 -18
- mindspore/parallel/_utils.py +198 -25
- mindspore/parallel/algo_parameter_config.py +3 -3
- mindspore/parallel/auto_parallel.py +732 -0
- mindspore/parallel/checkpoint_convert.py +159 -0
- mindspore/parallel/checkpoint_transform.py +658 -37
- mindspore/parallel/cluster/process_entity/_api.py +151 -19
- mindspore/parallel/cluster/run.py +1 -1
- mindspore/parallel/function/__init__.py +24 -0
- mindspore/parallel/function/reshard_func.py +258 -0
- mindspore/parallel/nn/__init__.py +25 -0
- mindspore/parallel/nn/parallel_cell_wrapper.py +263 -0
- mindspore/parallel/nn/parallel_grad_reducer.py +169 -0
- mindspore/parallel/parameter_broadcast.py +24 -13
- mindspore/parallel/shard.py +137 -62
- mindspore/parallel/transform_safetensors.py +288 -95
- mindspore/pgodb140.dll +0 -0
- mindspore/pgort140.dll +0 -0
- mindspore/profiler/__init__.py +9 -5
- mindspore/profiler/analysis/parser/ascend_cann_parser.py +6 -2
- mindspore/profiler/analysis/parser/ms_framework_parser.py +4 -4
- mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +7 -4
- mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +25 -0
- mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +3 -3
- mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +241 -86
- mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +41 -2
- mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +33 -35
- mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +7 -0
- mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +8 -3
- mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +141 -30
- mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +5 -6
- mindspore/profiler/common/ascend_msprof_exporter.py +5 -4
- mindspore/profiler/common/constant.py +12 -0
- mindspore/profiler/common/msprof_cmd_tool.py +42 -23
- mindspore/profiler/common/path_manager.py +24 -0
- mindspore/profiler/common/profiler_context.py +26 -2
- mindspore/profiler/common/profiler_meta_data.py +74 -0
- mindspore/profiler/common/profiler_parameters.py +59 -18
- mindspore/profiler/common/profiler_path_manager.py +66 -7
- mindspore/profiler/dynamic_profiler.py +112 -79
- mindspore/profiler/envprofiler.py +26 -1
- mindspore/profiler/experimental_config.py +197 -0
- mindspore/profiler/mstx.py +57 -14
- mindspore/profiler/platform/npu_profiler.py +33 -7
- mindspore/profiler/profiler.py +541 -45
- mindspore/profiler/profiler_action_controller.py +1 -1
- mindspore/profiler/profiler_interface.py +4 -0
- mindspore/profiler/schedule.py +57 -22
- mindspore/rewrite/api/node.py +15 -13
- mindspore/rewrite/api/symbol_tree.py +1 -1
- mindspore/run_check/_check_version.py +25 -14
- mindspore/run_check/run_check.py +1 -1
- mindspore/runtime/__init__.py +2 -2
- mindspore/runtime/executor.py +40 -11
- mindspore/runtime/memory.py +37 -13
- mindspore/safeguard/rewrite_obfuscation.py +12 -9
- mindspore/swresample-4.dll +0 -0
- mindspore/swscale-6.dll +0 -0
- mindspore/tbbmalloc.dll +0 -0
- mindspore/tinyxml2.dll +0 -0
- mindspore/train/__init__.py +8 -8
- mindspore/train/_utils.py +43 -9
- mindspore/train/amp.py +1 -1
- mindspore/train/callback/__init__.py +2 -2
- mindspore/train/callback/_callback.py +2 -16
- mindspore/train/callback/_checkpoint.py +24 -40
- mindspore/train/callback/_cluster_monitor.py +14 -18
- mindspore/train/callback/_flops_collector.py +2 -3
- mindspore/train/callback/_history.py +7 -4
- mindspore/train/callback/_lambda_callback.py +2 -2
- mindspore/train/callback/_landscape.py +0 -3
- mindspore/train/callback/_loss_monitor.py +2 -1
- mindspore/train/callback/_on_request_exit.py +6 -5
- mindspore/train/callback/_reduce_lr_on_plateau.py +11 -6
- mindspore/train/callback/_summary_collector.py +8 -13
- mindspore/train/callback/_time_monitor.py +2 -1
- mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +204 -105
- mindspore/train/data_sink.py +25 -2
- mindspore/train/dataset_helper.py +4 -5
- mindspore/train/loss_scale_manager.py +8 -7
- mindspore/train/metrics/accuracy.py +3 -3
- mindspore/train/metrics/confusion_matrix.py +9 -9
- mindspore/train/metrics/error.py +3 -3
- mindspore/train/metrics/hausdorff_distance.py +4 -4
- mindspore/train/metrics/mean_surface_distance.py +3 -3
- mindspore/train/metrics/metric.py +0 -12
- mindspore/train/metrics/occlusion_sensitivity.py +4 -2
- mindspore/train/metrics/precision.py +8 -6
- mindspore/train/metrics/recall.py +9 -9
- mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
- mindspore/train/mind_ir_pb2.py +19 -12
- mindspore/train/model.py +262 -127
- mindspore/train/serialization.py +246 -988
- mindspore/train/summary/_summary_adapter.py +2 -2
- mindspore/train/summary/summary_record.py +1 -1
- mindspore/turbojpeg.dll +0 -0
- mindspore/utils/__init__.py +3 -2
- mindspore/utils/dryrun.py +4 -2
- mindspore/utils/hooks.py +81 -0
- mindspore/utils/runtime_execution_order_check.py +2 -0
- mindspore/utils/utils.py +138 -4
- mindspore/vcmeta.dll +0 -0
- mindspore/vcruntime140.dll +0 -0
- mindspore/vcruntime140_1.dll +0 -0
- mindspore/version.py +1 -1
- {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/METADATA +2 -1
- {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/RECORD +485 -440
- mindspore/_install_custom.py +0 -43
- mindspore/common/_register_for_adapter.py +0 -74
- mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
- mindspore/ops/auto_generate/gen_arg_handler.py +0 -136
- mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
- mindspore/ops_generate/gen_constants.py +0 -190
- mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
- mindspore/ops_generate/ops_primitive_h_generator.py +0 -81
- /mindspore/ops_generate/{base_generator.py → common/base_generator.py} +0 -0
- {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/WHEEL +0 -0
- {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/entry_points.txt +0 -0
- {mindspore-2.5.0.dist-info → mindspore-2.6.0.dist-info}/top_level.txt +0 -0
|
@@ -20,10 +20,14 @@ import glob
|
|
|
20
20
|
import hashlib
|
|
21
21
|
import pathlib
|
|
22
22
|
import re
|
|
23
|
-
import stat
|
|
24
23
|
import logging
|
|
24
|
+
import json
|
|
25
|
+
from collections import OrderedDict
|
|
26
|
+
|
|
25
27
|
import yaml
|
|
26
28
|
|
|
29
|
+
from . import gen_constants as K
|
|
30
|
+
|
|
27
31
|
|
|
28
32
|
def convert_dtype_str(dtype_str):
|
|
29
33
|
"""
|
|
@@ -140,10 +144,30 @@ def safe_load_yaml(yaml_file_path):
|
|
|
140
144
|
"""
|
|
141
145
|
Load yaml dictionary from file.
|
|
142
146
|
"""
|
|
143
|
-
|
|
147
|
+
if not yaml_file_path.endswith('.yaml'):
|
|
148
|
+
raise ValueError(f"Invalid yaml file path: {yaml_file_path}")
|
|
149
|
+
|
|
144
150
|
with open(yaml_file_path, 'r') as yaml_file:
|
|
145
|
-
|
|
146
|
-
|
|
151
|
+
return yaml.safe_load(yaml_file)
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
def safe_load_yaml_from_dir(yaml_dir_path):
|
|
155
|
+
"""
|
|
156
|
+
Load yaml dictionary from directory.
|
|
157
|
+
"""
|
|
158
|
+
yaml_dict = dict()
|
|
159
|
+
if not os.path.isdir(yaml_dir_path):
|
|
160
|
+
raise ValueError(f"Invalid yaml directory path: {yaml_dir_path}")
|
|
161
|
+
|
|
162
|
+
for yaml_file_path in glob.glob(os.path.join(yaml_dir_path, '*.yaml')):
|
|
163
|
+
with open(yaml_file_path, 'r') as f:
|
|
164
|
+
yaml_data = yaml.safe_load(f)
|
|
165
|
+
for name, data in yaml_data.items():
|
|
166
|
+
if name in yaml_dict:
|
|
167
|
+
raise ValueError(f"Duplicate yaml object with name '{name}'.")
|
|
168
|
+
yaml_dict[name] = data
|
|
169
|
+
|
|
170
|
+
return yaml_dict
|
|
147
171
|
|
|
148
172
|
|
|
149
173
|
def get_assign_str_by_type_it(class_name, arg_info, arg_name, dtype):
|
|
@@ -165,26 +189,44 @@ def get_assign_str_by_type_it(class_name, arg_info, arg_name, dtype):
|
|
|
165
189
|
return assign_str
|
|
166
190
|
|
|
167
191
|
|
|
168
|
-
|
|
169
|
-
"""
|
|
170
|
-
write data to path
|
|
171
|
-
:param path:
|
|
172
|
-
:param data:
|
|
173
|
-
:return:
|
|
174
|
-
"""
|
|
175
|
-
flags = os.O_RDWR | os.O_CREAT
|
|
176
|
-
mode = stat.S_IWUSR | stat.S_IRUSR
|
|
177
|
-
fd = os.open(path, flags, mode)
|
|
178
|
-
with os.fdopen(fd, "w") as f:
|
|
179
|
-
f.write(data)
|
|
192
|
+
gen_file_lists = set() # list of all generated files
|
|
180
193
|
|
|
181
194
|
|
|
182
195
|
def save_file(save_path, file_name, content):
|
|
196
|
+
"""
|
|
197
|
+
Save file to path. For existing file, only update the file if the content is different.
|
|
198
|
+
"""
|
|
199
|
+
global gen_file_lists
|
|
183
200
|
pathlib.Path(save_path).mkdir(parents=True, exist_ok=True)
|
|
184
201
|
dst_file_path = os.path.join(save_path, file_name)
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
202
|
+
gen_file_lists.add(os.path.abspath(dst_file_path))
|
|
203
|
+
|
|
204
|
+
if os.path.exists(dst_file_path):
|
|
205
|
+
if get_file_md5(dst_file_path) == hashlib.md5(content.encode('utf-8')).hexdigest():
|
|
206
|
+
return
|
|
207
|
+
|
|
208
|
+
with open(dst_file_path, "w") as f:
|
|
209
|
+
f.write(content)
|
|
210
|
+
|
|
211
|
+
|
|
212
|
+
def clear_obsolete_auto_gen_files():
|
|
213
|
+
"""
|
|
214
|
+
Clear obsolete auto-generated files.
|
|
215
|
+
"""
|
|
216
|
+
gen_file_list_filename = os.path.join(K.WORK_DIR, "gen_file_lists.json")
|
|
217
|
+
if not os.path.exists(gen_file_list_filename):
|
|
218
|
+
last_gen_file_lists = set()
|
|
219
|
+
else:
|
|
220
|
+
with open(gen_file_list_filename, "r") as f:
|
|
221
|
+
last_gen_file_lists = set(json.load(f))
|
|
222
|
+
|
|
223
|
+
obsolete_files = last_gen_file_lists - gen_file_lists
|
|
224
|
+
for file in obsolete_files:
|
|
225
|
+
if os.path.isfile(file):
|
|
226
|
+
os.remove(file)
|
|
227
|
+
|
|
228
|
+
with open(gen_file_list_filename, "w") as f:
|
|
229
|
+
json.dump(list(gen_file_lists), f)
|
|
188
230
|
|
|
189
231
|
|
|
190
232
|
def normalize_func_description_format(description):
|
|
@@ -293,3 +335,14 @@ def init_args_signature_rw(args_signature):
|
|
|
293
335
|
ref_list.extend(args_signature.rw_ref.replace(' ', '').split(","))
|
|
294
336
|
|
|
295
337
|
return read_list, ref_list, write_list
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
class OrderedSet:
|
|
341
|
+
def __init__(self):
|
|
342
|
+
self._dict = OrderedDict()
|
|
343
|
+
|
|
344
|
+
def add(self, item):
|
|
345
|
+
self._dict[item] = None
|
|
346
|
+
|
|
347
|
+
def __iter__(self):
|
|
348
|
+
return iter(self._dict.keys())
|
|
@@ -15,7 +15,14 @@
|
|
|
15
15
|
|
|
16
16
|
"""Op Proto module for defining operator prototypes and their arguments."""
|
|
17
17
|
|
|
18
|
-
import
|
|
18
|
+
import os
|
|
19
|
+
from typing import Dict
|
|
20
|
+
|
|
21
|
+
from resources.resource_loader import ResourceLoader
|
|
22
|
+
from resources.resource_list import ResourceType
|
|
23
|
+
|
|
24
|
+
from . import gen_constants as K
|
|
25
|
+
from .gen_utils import safe_load_yaml_from_dir
|
|
19
26
|
|
|
20
27
|
|
|
21
28
|
class OpArg:
|
|
@@ -208,6 +215,62 @@ class OpProto:
|
|
|
208
215
|
return op_proto
|
|
209
216
|
|
|
210
217
|
|
|
218
|
+
class OpProtoLoader(ResourceLoader):
|
|
219
|
+
"""
|
|
220
|
+
OpProtoLoader is a class for loading operator prototypes from YAML data.
|
|
221
|
+
"""
|
|
222
|
+
def __init__(self):
|
|
223
|
+
ops_yaml_path = os.path.join(K.WORK_DIR, K.MS_OP_DEF_YAML_PATH)
|
|
224
|
+
infer_ops_yaml_path = os.path.join(ops_yaml_path, 'infer')
|
|
225
|
+
self.yaml_paths = [ops_yaml_path, infer_ops_yaml_path]
|
|
226
|
+
self.type = ResourceType.OP_PROTO
|
|
227
|
+
self.is_deprecated = False
|
|
228
|
+
self.func_op = False
|
|
229
|
+
|
|
230
|
+
def load(self) -> Dict[ResourceType, object]:
|
|
231
|
+
"""
|
|
232
|
+
Load OpProto.
|
|
233
|
+
|
|
234
|
+
Returns:
|
|
235
|
+
Dict[ResourceType, object]: The resource type and the OpProto.
|
|
236
|
+
"""
|
|
237
|
+
yaml_dict = {}
|
|
238
|
+
for yaml_path in self.yaml_paths:
|
|
239
|
+
yaml_dict.update(safe_load_yaml_from_dir(yaml_path))
|
|
240
|
+
op_protos = []
|
|
241
|
+
for op_name, op_data in yaml_dict.items():
|
|
242
|
+
op_proto = OpProto.load_from_yaml(op_name, op_data)
|
|
243
|
+
if self.is_deprecated:
|
|
244
|
+
op_proto.op_name = 'deprecated_' + op_name
|
|
245
|
+
op_proto.func_op = self.func_op
|
|
246
|
+
op_protos.append(op_proto)
|
|
247
|
+
return {self.type: op_protos}
|
|
248
|
+
|
|
249
|
+
|
|
250
|
+
class DeprecatedOpProtoLoader(OpProtoLoader):
|
|
251
|
+
"""
|
|
252
|
+
DeprecatedOpProtoLoader is a class for loading deprecated operator prototypes from YAML data.
|
|
253
|
+
"""
|
|
254
|
+
def __init__(self):
|
|
255
|
+
super().__init__()
|
|
256
|
+
self.yaml_paths = [os.path.join(K.WORK_DIR, K.MS_OP_DEPRECATED_DEF_YAML_PATH)]
|
|
257
|
+
self.type = ResourceType.DEPRECATED_OP_PROTO
|
|
258
|
+
self.is_deprecated = True
|
|
259
|
+
self.func_op = True
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
class FuncOpProtoLoader(OpProtoLoader):
|
|
263
|
+
"""
|
|
264
|
+
FuncOpProtoLoader is a class for loading func_op operator prototypes from YAML data.
|
|
265
|
+
"""
|
|
266
|
+
def __init__(self):
|
|
267
|
+
super().__init__()
|
|
268
|
+
self.yaml_paths = [os.path.join(K.WORK_DIR, K.MS_OP_DEF_FUNC_OP_YAML_PATH)]
|
|
269
|
+
self.type = ResourceType.FUNC_OP_PROTO
|
|
270
|
+
self.is_deprecated = False
|
|
271
|
+
self.func_op = True
|
|
272
|
+
|
|
273
|
+
|
|
211
274
|
def get_op_args_signature(op_name, op_data):
|
|
212
275
|
"""
|
|
213
276
|
Retrieves the argument signature from the operation data.
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"""Templates for code auto generation."""
|
|
16
16
|
import re
|
|
17
17
|
import os
|
|
18
|
-
import gen_constants as K
|
|
18
|
+
import common.gen_constants as K
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
class Template:
|
|
@@ -80,14 +80,13 @@ class Template:
|
|
|
80
80
|
|
|
81
81
|
|
|
82
82
|
NEW_LINE = "\n"
|
|
83
|
-
WORK_PATH = os.path.join(os.path.dirname(os.path.realpath(__file__)), "../../../../")
|
|
84
83
|
|
|
85
84
|
PYTHON_PRIM_TEMPLATE = Template("""
|
|
86
85
|
|
|
87
86
|
class _Pyboost${class_name}Prim(${class_name}Prim_):
|
|
88
87
|
def __call__(self, ${input_args}):
|
|
89
88
|
${process_func}
|
|
90
|
-
return
|
|
89
|
+
return super().__call__([${processed_args}])
|
|
91
90
|
|
|
92
91
|
|
|
93
92
|
${func_impl_name}_impl = _Pyboost${class_name}Prim()
|
|
@@ -95,7 +94,7 @@ ${func_impl_name}_impl = _Pyboost${class_name}Prim()
|
|
|
95
94
|
|
|
96
95
|
IMPORT_PYBOOST_PRIM_HEADER = f"""
|
|
97
96
|
from mindspore.common._stub_tensor import _convert_stub
|
|
98
|
-
from mindspore.ops.
|
|
97
|
+
from mindspore.ops._utils.arg_handler import *
|
|
99
98
|
"""
|
|
100
99
|
|
|
101
100
|
IMPORT_PYBOOST_FUNC_HEADER = f"""
|
|
@@ -111,191 +110,197 @@ REGISTER_DEFINE_TEMPLATE = Template(
|
|
|
111
110
|
.def(py::init<>())
|
|
112
111
|
.def("__call__", &${class_name}PrimAdapter::Call, "Call ${class_name} op.");
|
|
113
112
|
m->def(\"${pyboost_op_name}\", &mindspore::pynative::${pyboost_cfunc_name}, \"Encrypt the data.\");""")
|
|
114
|
-
REGISTER_TEMPLATE = Template(
|
|
113
|
+
REGISTER_TEMPLATE = Template(
|
|
114
|
+
"void RegisterPyBoostFunction(py::module *m) {${register_func}\n}")
|
|
115
115
|
|
|
116
116
|
REGISTER_PYBOOST_GRAD_DEFINE_TEMPLATE = Template(
|
|
117
117
|
"MS_REG_PYBOOST_GRAD_OP(${pyboost_op_name}, mindspore::runtime::${pyboost_cfunc_name});\n")
|
|
118
118
|
REGISTER_PYBOOST_GRAD_TEMPLATE = Template("${register_func}")
|
|
119
119
|
|
|
120
120
|
PYBOOST_FUNCTION_HEADER_TEMPLATE = Template.load_from_file(
|
|
121
|
-
os.path.join(
|
|
121
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_functions_h.tpl'))
|
|
122
122
|
|
|
123
123
|
PYBOOST_FUNCTION_TEMPLATE = Template.load_from_file(
|
|
124
|
-
os.path.join(
|
|
124
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_function.tpl'))
|
|
125
125
|
|
|
126
126
|
PYBOOST_COMM_FUNCTION_TEMPLATE = Template.load_from_file(
|
|
127
|
-
os.path.join(
|
|
127
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_comm_function.tpl'))
|
|
128
|
+
|
|
129
|
+
PYBOOST_FUNCTION_DYNAMIC_OUTPUT_TEMPLATE = Template.load_from_file(
|
|
130
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_function_dynamic_output.tpl'))
|
|
128
131
|
|
|
129
132
|
PYBOOST_FUNCTIONS_CC_TEMPLATE = Template.load_from_file(
|
|
130
|
-
os.path.join(
|
|
133
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_functions_cc.tpl'))
|
|
131
134
|
|
|
132
135
|
PYBOOST_OVERLOAD_FUNCTIONS_CC_TEMPLATE = Template.load_from_file(
|
|
133
136
|
os.path.join(
|
|
134
|
-
|
|
137
|
+
K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_overload_functions_cc.tpl'))
|
|
135
138
|
|
|
136
139
|
PYBOOST_MINT_CLASS_DEF = Template.load_from_file(
|
|
137
|
-
os.path.join(
|
|
140
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_mint_class_def.tpl'))
|
|
138
141
|
|
|
139
142
|
PYBOOST_OVERLOAD_MINT_CLASS_DEF = Template.load_from_file(
|
|
140
143
|
os.path.join(
|
|
141
|
-
|
|
144
|
+
K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_overload_mint_class_def.tpl'))
|
|
142
145
|
|
|
143
146
|
# template path need to be moved
|
|
144
147
|
FUNCTIONAL_OVERLOAD_PY_TEMPLATE = Template.load_from_file(
|
|
145
148
|
os.path.join(
|
|
146
|
-
|
|
149
|
+
K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/functional_overload_py.tpl')
|
|
147
150
|
)
|
|
148
151
|
|
|
149
152
|
TENSOR_FUNC_CC_REG = Template.load_from_file(
|
|
150
|
-
os.path.join(
|
|
153
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/tensor_func_cc_reg.tpl'))
|
|
151
154
|
|
|
152
155
|
TENSOR_API_HEADER = Template.load_from_file(
|
|
153
|
-
os.path.join(
|
|
156
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/tensor_api_header.tpl'))
|
|
154
157
|
|
|
155
158
|
TENSOR_API_SOURCE = Template.load_from_file(
|
|
156
|
-
os.path.join(
|
|
159
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/tensor_api_source.tpl'))
|
|
157
160
|
|
|
158
161
|
TENSOR_FUNC_UTILS = Template.load_from_file(
|
|
159
|
-
os.path.join(
|
|
160
|
-
|
|
162
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/tensor_func_utils_header.tpl'))
|
|
161
163
|
|
|
162
164
|
TENSOR_FUNC_CALL_BODY = Template.load_from_file(
|
|
163
|
-
os.path.join(
|
|
165
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/tensor_func_call_body.tpl'))
|
|
164
166
|
|
|
165
167
|
TENSOR_FUNC_OVERLOAD_CALL_BODY = Template.load_from_file(
|
|
166
|
-
os.path.join(
|
|
167
|
-
'./mindspore/ccsrc/
|
|
168
|
+
os.path.join(K.WORK_DIR,
|
|
169
|
+
'./mindspore/ccsrc/pynative/op_function/template/tensor_func_overload_call_body.tpl'))
|
|
168
170
|
|
|
169
171
|
TENSOR_FUNC_UT_BODY = Template.load_from_file(
|
|
170
|
-
os.path.join(
|
|
171
|
-
'./mindspore/ccsrc/
|
|
172
|
+
os.path.join(K.WORK_DIR,
|
|
173
|
+
'./mindspore/ccsrc/pynative/op_function/template/tensor_func_ut_body.tpl'))
|
|
172
174
|
|
|
173
175
|
TENSOR_FUNC_UT_OVERLOAD_BODY = Template.load_from_file(
|
|
174
|
-
os.path.join(
|
|
175
|
-
'./mindspore/ccsrc/
|
|
176
|
+
os.path.join(K.WORK_DIR,
|
|
177
|
+
'./mindspore/ccsrc/pynative/op_function/template/tensor_func_ut_overload_body.tpl'))
|
|
176
178
|
|
|
177
179
|
TENSOR_CPP_METHOD = Template.load_from_file(
|
|
178
|
-
os.path.join(
|
|
179
|
-
'./mindspore/ccsrc/
|
|
180
|
+
os.path.join(K.WORK_DIR,
|
|
181
|
+
'./mindspore/ccsrc/pynative/op_function/template/tensor_cpp_method.tpl'))
|
|
180
182
|
|
|
181
183
|
TENSOR_FUNC_CLASS_REG = Template.load_from_file(
|
|
182
|
-
os.path.join(
|
|
183
|
-
|
|
184
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/tensor_func_class_reg.tpl'))
|
|
184
185
|
|
|
185
186
|
PYBOOST_GRAD_FUNCTION_TEMPLATE = Template.load_from_file(
|
|
186
|
-
os.path.join(
|
|
187
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pyboost/grad_functions/template/pyboost_grad_function.tpl'))
|
|
187
188
|
|
|
188
189
|
PYBOOST_GRAD_HEADER_TEMPLATE = Template.load_from_file(
|
|
189
|
-
os.path.join(
|
|
190
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pyboost/grad_functions/template/pyboost_grad_function_header.tpl'))
|
|
190
191
|
|
|
191
192
|
PYBOOST_NATIVE_GRAD_FUNCTION_TEMPLATE = Template.load_from_file(
|
|
192
|
-
os.path.join(
|
|
193
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/grad/function/template/native_grad_function.tpl'))
|
|
193
194
|
|
|
194
195
|
PYBOOST_NATIVE_GRAD_FUNCTIONS_TEMPLATE = Template.load_from_file(
|
|
195
|
-
os.path.join(
|
|
196
|
-
'./mindspore/ccsrc/
|
|
196
|
+
os.path.join(K.WORK_DIR,
|
|
197
|
+
'./mindspore/ccsrc/pynative/grad/function/template/pyboost_native_grad_functions.tpl'))
|
|
197
198
|
|
|
198
199
|
PYBOOST_NATIVE_GRAD_FUNCTIONS_HEADER_TEMPLATE = Template.load_from_file(
|
|
199
|
-
os.path.join(
|
|
200
|
-
'./mindspore/ccsrc/
|
|
200
|
+
os.path.join(K.WORK_DIR,
|
|
201
|
+
'./mindspore/ccsrc/pynative/grad/function/template/pyboost_native_grad_functions_header.tpl'))
|
|
201
202
|
|
|
202
203
|
GEN_OPS_DEF_HEADER_TEMPLATE = Template.load_from_file(
|
|
203
|
-
os.path.join(
|
|
204
|
+
os.path.join(K.WORK_DIR, './mindspore/python/mindspore/ops_generate/op_def/gen_ops_def_header.tpl'))
|
|
204
205
|
|
|
205
206
|
PYBOOST_BASE_OP_DEFINE_TEMPLATE = Template.load_from_file(
|
|
206
|
-
os.path.join(
|
|
207
|
+
os.path.join(K.WORK_DIR, f'./{K.MS_PYBOOST_BASE_PATH}/template/pyboost_op_header.tpl'))
|
|
207
208
|
|
|
208
209
|
PYBOOST_OP_REGISTER_TEMPLATE = Template.load_from_file(
|
|
209
|
-
os.path.join(
|
|
210
|
+
os.path.join(K.WORK_DIR, f'./{K.MS_PYBOOST_BASE_PATH}/template/pyboost_op_register.tpl'))
|
|
210
211
|
|
|
211
212
|
# Ascend op generate
|
|
212
213
|
PYBOOST_ASCEND_OP_HEADER_TEMPLATE = Template.load_from_file(
|
|
213
|
-
os.path.join(
|
|
214
|
+
os.path.join(K.WORK_DIR,
|
|
214
215
|
f'./{K.MS_OPS_KERNEL_PATH}/ascend/pyboost/template/pyboost_aclnn_header_template.tpl'))
|
|
215
216
|
|
|
216
217
|
PYBOOST_ASCEND_OP_SOURCE_TEMPLATE = Template.load_from_file(
|
|
217
|
-
os.path.join(
|
|
218
|
+
os.path.join(K.WORK_DIR,
|
|
218
219
|
f'./{K.MS_OPS_KERNEL_PATH}/ascend/pyboost/template/pyboost_aclnn_source_template.tpl'))
|
|
219
220
|
|
|
220
221
|
PYBOOST_ASCEND_SINGLE_OP_HEADER_TEMPLATE = Template.load_from_file(
|
|
221
|
-
os.path.join(
|
|
222
|
+
os.path.join(K.WORK_DIR,
|
|
222
223
|
f'./{K.MS_OPS_KERNEL_PATH}/ascend/pyboost/template/pyboost_aclnn_single_op_header_template.tpl'))
|
|
223
224
|
|
|
225
|
+
PYBOOST_ASCEND_SINGLE_HCLL_OP_HEADER_TEMPLATE = Template.load_from_file(
|
|
226
|
+
os.path.join(K.WORK_DIR,
|
|
227
|
+
f'./{K.MS_OPS_KERNEL_PATH}/ascend/pyboost/template/pyboost_aclnn_single_hccl_op_header_template.tpl'))
|
|
228
|
+
|
|
224
229
|
PYBOOST_ASCEND_SINGLE_OP_SOURCE_TEMPLATE = Template.load_from_file(
|
|
225
|
-
os.path.join(
|
|
230
|
+
os.path.join(K.WORK_DIR,
|
|
226
231
|
f'./{K.MS_OPS_KERNEL_PATH}/ascend/pyboost/template/pyboost_aclnn_single_op_source_template.tpl'))
|
|
227
232
|
|
|
228
233
|
PYBOOST_ASCEND_CALL_TEMPLATE = Template.load_from_file(
|
|
229
|
-
os.path.join(
|
|
234
|
+
os.path.join(K.WORK_DIR,
|
|
230
235
|
f'./{K.MS_OPS_KERNEL_PATH}/ascend/pyboost/template/pyboost_ascend_call_template.tpl'))
|
|
231
236
|
|
|
232
237
|
PYBOOST_ASCEND_VIEW_CALL_TEMPLATE = Template.load_from_file(
|
|
233
|
-
os.path.join(
|
|
234
|
-
f'./{K.
|
|
238
|
+
os.path.join(K.WORK_DIR,
|
|
239
|
+
f'./{K.MS_PYBOOST_BASE_PATH}/template/'
|
|
235
240
|
'pyboost_view_template.tpl'))
|
|
236
241
|
|
|
237
242
|
PYBOOST_ASCEND_CUSTOMIZE_CALL_TEMPLATE = Template.load_from_file(
|
|
238
|
-
os.path.join(
|
|
243
|
+
os.path.join(K.WORK_DIR,
|
|
239
244
|
f'./{K.MS_OPS_KERNEL_PATH}/ascend/pyboost/template'
|
|
240
245
|
'/pyboost_ascend_customize_call_template.tpl'))
|
|
241
246
|
|
|
242
247
|
# GPU op generate
|
|
243
248
|
PYBOOST_GPU_OP_HEADER_TEMPLATE = Template.load_from_file(
|
|
244
|
-
os.path.join(
|
|
249
|
+
os.path.join(K.WORK_DIR,
|
|
245
250
|
'./mindspore/ops/kernel/gpu/pyboost/template/pyboost_gpu_header_template.tpl'))
|
|
246
251
|
|
|
247
252
|
PYBOOST_GPU_OP_SOURCE_TEMPLATE = Template.load_from_file(
|
|
248
|
-
os.path.join(
|
|
253
|
+
os.path.join(K.WORK_DIR,
|
|
249
254
|
'./mindspore/ops/kernel/gpu/pyboost/template/pyboost_gpu_source_template.tpl'))
|
|
250
255
|
|
|
251
256
|
PYBOOST_GPU_SINGLE_OP_HEADER_TEMPLATE = Template.load_from_file(
|
|
252
|
-
os.path.join(
|
|
257
|
+
os.path.join(K.WORK_DIR,
|
|
253
258
|
'./mindspore/ops/kernel/gpu/pyboost/template/pyboost_gpu_single_op_header_template.tpl'))
|
|
254
259
|
|
|
255
260
|
PYBOOST_GPU_SINGLE_OP_SOURCE_TEMPLATE = Template.load_from_file(
|
|
256
|
-
os.path.join(
|
|
261
|
+
os.path.join(K.WORK_DIR,
|
|
257
262
|
'./mindspore/ops/kernel/gpu/pyboost/template/pyboost_gpu_single_op_source_template.tpl'))
|
|
258
263
|
|
|
259
264
|
PYBOOST_GPU_CALL_TEMPLATE = Template.load_from_file(
|
|
260
|
-
os.path.join(
|
|
265
|
+
os.path.join(K.WORK_DIR,
|
|
261
266
|
'./mindspore/ops/kernel/gpu/pyboost/template/pyboost_gpu_call_template.tpl'))
|
|
262
267
|
|
|
263
268
|
PYBOOST_GPU_VIEW_CALL_TEMPLATE = Template.load_from_file(
|
|
264
|
-
os.path.join(
|
|
265
|
-
f'./{K.
|
|
269
|
+
os.path.join(K.WORK_DIR,
|
|
270
|
+
f'./{K.MS_PYBOOST_BASE_PATH}/template/pyboost_view_template.tpl'))
|
|
266
271
|
|
|
267
272
|
PYBOOST_GPU_CUSTOMIZE_CALL_TEMPLATE = Template.load_from_file(
|
|
268
|
-
os.path.join(
|
|
273
|
+
os.path.join(K.WORK_DIR,
|
|
269
274
|
'./mindspore/ops/kernel/gpu/pyboost/template'
|
|
270
275
|
'/pyboost_gpu_customize_call_template.tpl'))
|
|
271
276
|
|
|
272
277
|
# CPU op generate
|
|
273
278
|
PYBOOST_CPU_OP_HEADER_TEMPLATE = Template.load_from_file(
|
|
274
|
-
os.path.join(
|
|
279
|
+
os.path.join(K.WORK_DIR,
|
|
275
280
|
f'./{K.MS_OPS_KERNEL_PATH}/cpu/pyboost/template/pyboost_cpu_header_template.tpl'))
|
|
276
281
|
|
|
277
282
|
PYBOOST_CPU_OP_SOURCE_TEMPLATE = Template.load_from_file(
|
|
278
|
-
os.path.join(
|
|
283
|
+
os.path.join(K.WORK_DIR,
|
|
279
284
|
f'./{K.MS_OPS_KERNEL_PATH}/cpu/pyboost/template/pyboost_cpu_source_template.tpl'))
|
|
280
285
|
|
|
281
286
|
PYBOOST_CPU_SINGLE_OP_HEADER_TEMPLATE = Template.load_from_file(
|
|
282
|
-
os.path.join(
|
|
287
|
+
os.path.join(K.WORK_DIR,
|
|
283
288
|
f'./{K.MS_OPS_KERNEL_PATH}/cpu/pyboost/template/pyboost_cpu_single_op_header_template.tpl'))
|
|
284
289
|
|
|
285
290
|
PYBOOST_CPU_SINGLE_OP_SOURCE_TEMPLATE = Template.load_from_file(
|
|
286
|
-
os.path.join(
|
|
291
|
+
os.path.join(K.WORK_DIR,
|
|
287
292
|
f'./{K.MS_OPS_KERNEL_PATH}/cpu/pyboost/template/pyboost_cpu_single_op_source_template.tpl'))
|
|
288
293
|
|
|
289
294
|
PYBOOST_CPU_CALL_TEMPLATE = Template.load_from_file(
|
|
290
|
-
os.path.join(
|
|
295
|
+
os.path.join(K.WORK_DIR,
|
|
291
296
|
f'./{K.MS_OPS_KERNEL_PATH}/cpu/pyboost/template/pyboost_cpu_call_template.tpl'))
|
|
292
297
|
|
|
293
298
|
PYBOOST_CPU_VIEW_CALL_TEMPLATE = Template.load_from_file(
|
|
294
|
-
os.path.join(
|
|
295
|
-
f'./{K.
|
|
299
|
+
os.path.join(K.WORK_DIR,
|
|
300
|
+
f'./{K.MS_PYBOOST_BASE_PATH}/template/pyboost_view_template.tpl'))
|
|
296
301
|
|
|
297
302
|
PYBOOST_CPU_CUSTOMIZE_CALL_TEMPLATE = Template.load_from_file(
|
|
298
|
-
os.path.join(
|
|
303
|
+
os.path.join(K.WORK_DIR,
|
|
299
304
|
f'./{K.MS_OPS_KERNEL_PATH}/cpu/pyboost/template'
|
|
300
305
|
'/pyboost_cpu_customize_call_template.tpl'))
|
|
301
306
|
|
|
@@ -341,7 +346,7 @@ ValuePtrList values;
|
|
|
341
346
|
auto output_value = std::make_shared<ValueTuple>(values);
|
|
342
347
|
"""
|
|
343
348
|
|
|
344
|
-
|
|
349
|
+
PY_LICENSE_STR = f"""# Copyright 2023 Huawei Technologies Co., Ltd
|
|
345
350
|
#
|
|
346
351
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
347
352
|
# you may not use this file except in compliance with the License.
|
|
@@ -365,10 +370,12 @@ from mindspore.ops import signature as sig
|
|
|
365
370
|
from mindspore.common import dtype as mstype
|
|
366
371
|
from mindspore.common._decorator import deprecated
|
|
367
372
|
from mindspore.ops._primitive_cache import _get_cache_prim
|
|
368
|
-
from mindspore.ops.
|
|
369
|
-
from mindspore.ops.
|
|
373
|
+
from mindspore.ops._utils.arg_dtype_cast import type_it
|
|
374
|
+
from mindspore.ops._utils.arg_handler import *
|
|
370
375
|
from mindspore._c_expression import OpDtype
|
|
371
376
|
from mindspore.common._stub_tensor import _convert_stub
|
|
377
|
+
from mindspore.common.jit_context import jit_context
|
|
378
|
+
from mindspore._checkparam import is_stub_tensor
|
|
372
379
|
"""
|
|
373
380
|
|
|
374
381
|
OP_PRIM_CLASS_DEFINE_TEMPLATE = Template("""
|
|
@@ -405,7 +412,7 @@ PRIMITIVE_CLASS_DESC = """ r\"\"\"
|
|
|
405
412
|
"""
|
|
406
413
|
|
|
407
414
|
CC_LICENSE_STR = f"""/**
|
|
408
|
-
* Copyright 2023 Huawei Technologies Co., Ltd
|
|
415
|
+
* Copyright 2023-2025 Huawei Technologies Co., Ltd
|
|
409
416
|
*
|
|
410
417
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
411
418
|
* you may not use this file except in compliance with the License.
|
|
@@ -429,14 +436,12 @@ $gen_default_py
|
|
|
429
436
|
}
|
|
430
437
|
""")
|
|
431
438
|
|
|
432
|
-
|
|
433
439
|
op_labels_template = Template("""
|
|
434
440
|
op_labels = {
|
|
435
441
|
$gen_label_py
|
|
436
442
|
}
|
|
437
443
|
""")
|
|
438
444
|
|
|
439
|
-
|
|
440
445
|
lite_ops_h_class_template = Template("""class OPS_API ${op_name} : public BaseOperator {
|
|
441
446
|
public:
|
|
442
447
|
MIND_API_BASE_MEMBER(${op_name});
|
|
@@ -448,7 +453,8 @@ lite_ops_h_class_template = Template("""class OPS_API ${op_name} : public BaseOp
|
|
|
448
453
|
op_cc_template = Template("""class OPS_API ${op_name} : public BaseOperator {
|
|
449
454
|
public:
|
|
450
455
|
MIND_API_BASE_MEMBER(${op_name});
|
|
451
|
-
${op_name}()
|
|
456
|
+
${op_name}();
|
|
457
|
+
${arg_prim_init_list}
|
|
452
458
|
};
|
|
453
459
|
|
|
454
460
|
""")
|
|
@@ -459,10 +465,10 @@ op_template = Template("""void ${op_name}::set_${arg_name}(const ${dtype} &${arg
|
|
|
459
465
|
""" { return GetValue<${dtype}>(GetAttr("${arg_name}")); }\n\n""")
|
|
460
466
|
|
|
461
467
|
ACLNN_KERNEL_CC_TEMPLATE = Template.load_from_file(
|
|
462
|
-
os.path.join(
|
|
468
|
+
os.path.join(K.WORK_DIR, f'./{K.MS_OPS_KERNEL_PATH}/ascend/opapi/template/aclnn_kernel_cc.tpl'))
|
|
463
469
|
|
|
464
470
|
ACLNN_KERNEL_H_TEMPLATE = Template.load_from_file(
|
|
465
|
-
os.path.join(
|
|
471
|
+
os.path.join(K.WORK_DIR, f'./{K.MS_OPS_KERNEL_PATH}/ascend/opapi/template/aclnn_kernel_h.tpl'))
|
|
466
472
|
|
|
467
473
|
update_output_shape_and_size_template = Template("""
|
|
468
474
|
void ${kernelmod_name}::UpdateOutputShapeAndSize(const std::vector<KernelTensor *> &,
|
|
@@ -472,7 +478,6 @@ void ${kernelmod_name}::UpdateOutputShapeAndSize(const std::vector<KernelTensor
|
|
|
472
478
|
}
|
|
473
479
|
""")
|
|
474
480
|
|
|
475
|
-
|
|
476
481
|
UPDATE_OUTPUT_SHAPE_AND_SIZE = """
|
|
477
482
|
bool IsNeedUpdateOutputShapeAndSize() override { return true; }
|
|
478
483
|
void UpdateOutputShapeAndSize(const std::vector<KernelTensor *> &inputs, const std::vector<KernelTensor *> &outputs);
|
|
@@ -482,30 +487,37 @@ TUPLE_TENSOR_NOT_SUPPORTED = Template("""
|
|
|
482
487
|
Please provide a KernelMod name in yaml and using python gen_aclnn_implement.py -n xx manually.""")
|
|
483
488
|
|
|
484
489
|
FUNCTIONAL_MAP_CC_TEMPLATE = Template.load_from_file(
|
|
485
|
-
os.path.join(
|
|
486
|
-
f'./mindspore/ccsrc/
|
|
490
|
+
os.path.join(K.WORK_DIR,
|
|
491
|
+
f'./mindspore/ccsrc/pynative/op_function/template/functional_map_cc.tpl'))
|
|
487
492
|
|
|
488
493
|
FUNCTIONAL_MAP_H_TEMPLATE = Template.load_from_file(
|
|
489
|
-
os.path.join(
|
|
490
|
-
f'./mindspore/ccsrc/
|
|
494
|
+
os.path.join(K.WORK_DIR,
|
|
495
|
+
f'./mindspore/ccsrc/pynative/op_function/template/functional_map_h.tpl'))
|
|
491
496
|
|
|
492
497
|
ADD_TENSOR_DOCS_TEMPLATE = Template.load_from_file(
|
|
493
|
-
os.path.join(
|
|
498
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/tensor_docs_py.tpl'))
|
|
494
499
|
|
|
495
500
|
AUTO_GRAD_IMPL_CC_TEMPLATE = Template.load_from_file(
|
|
496
|
-
os.path.join(
|
|
501
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/auto_grad_impl_cc.tpl'))
|
|
497
502
|
|
|
498
503
|
AUTO_GRAD_REG_H_TEMPLATE = Template.load_from_file(
|
|
499
|
-
os.path.join(
|
|
504
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/auto_grad_reg_h.tpl'))
|
|
500
505
|
|
|
501
506
|
FUNCTIONS_CC_TEMPLATE = Template.load_from_file(
|
|
502
|
-
os.path.join(
|
|
507
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/functions_cc.tpl'))
|
|
503
508
|
|
|
504
509
|
FUNCTION_BODY_TEMPLATE = Template.load_from_file(
|
|
505
|
-
os.path.join(
|
|
510
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/function_body.tpl'))
|
|
506
511
|
|
|
507
512
|
FUNCTIONS_H_TEMPLATE = Template.load_from_file(
|
|
508
|
-
os.path.join(
|
|
513
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/functions_h.tpl'))
|
|
509
514
|
|
|
510
515
|
DO_GRAD_FUNCTION_BODY_TEMPLATE = Template.load_from_file(
|
|
511
|
-
os.path.join(
|
|
516
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/do_grad_function.tpl'))
|
|
517
|
+
|
|
518
|
+
TENSOR_PY_CC_TEMPLATE = Template.load_from_file(
|
|
519
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pybind_api/ir/template/tensor_py_gen.tpl'))
|
|
520
|
+
TENSOR_PY_H_TEMPLATE = Template.load_from_file(
|
|
521
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pybind_api/ir/template/tensor_py_genH.tpl'))
|
|
522
|
+
OP_DEF_INC_HEAD_TEMPLATE = Template(
|
|
523
|
+
"#include \"mindspore/ops/op_def/auto_generate/gen_ops_primitive_${prefix_char}.h\"")
|