mindspore 2.4.10__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 +13 -6
- 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 -38
- mindspore/_deprecated/__init__.py +17 -0
- mindspore/_deprecated/jit.py +198 -0
- mindspore/_extends/builtin_operations.py +1 -1
- mindspore/_extends/parallel_compile/akg_compiler/gen_custom_op_files.py +1 -1
- mindspore/_extends/parse/__init__.py +6 -7
- mindspore/_extends/parse/compile_config.py +83 -0
- mindspore/_extends/parse/deprecated/__init__.py +0 -0
- mindspore/_extends/parse/deprecated/deprecated_tensor_method.py +394 -0
- 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 +47 -198
- mindspore/_extends/parse/resources.py +1 -5
- mindspore/_extends/parse/standard_method.py +229 -99
- mindspore/_extends/pijit/__init__.py +2 -2
- mindspore/_extends/pijit/pijit_func_white_list.py +17 -12
- mindspore/_extends/pijit/tensor_func_list.py +27 -0
- mindspore/_extends/utils.py +1 -1
- mindspore/amp.py +11 -5
- 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 +138 -43
- mindspore/c1.dll +0 -0
- mindspore/c1xx.dll +0 -0
- mindspore/c2.dll +0 -0
- mindspore/common/__init__.py +6 -3
- mindspore/common/_grad_function.py +56 -0
- mindspore/common/_pijit_context.py +14 -5
- mindspore/common/_register_for_tensor.py +1 -2
- mindspore/common/_stub_tensor.py +30 -14
- mindspore/common/_tensor_cpp_method.py +17 -0
- mindspore/common/_tensor_docs.py +4760 -0
- mindspore/common/api.py +480 -372
- mindspore/common/auto_dynamic_shape.py +41 -44
- mindspore/common/dtype.py +39 -36
- mindspore/common/dump.py +9 -6
- mindspore/common/file_system.py +9 -1
- mindspore/common/generator.py +5 -0
- mindspore/common/hook_handle.py +6 -2
- mindspore/common/initializer.py +13 -10
- 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 +9 -3
- mindspore/common/mindir_util.py +10 -2
- mindspore/common/mutable.py +5 -4
- mindspore/common/parameter.py +135 -52
- mindspore/common/seed.py +2 -2
- mindspore/common/sparse_tensor.py +23 -17
- mindspore/common/tensor.py +975 -1981
- mindspore/communication/__init__.py +7 -5
- mindspore/communication/_comm_helper.py +52 -2
- mindspore/communication/comm_func.py +240 -181
- mindspore/communication/management.py +95 -26
- mindspore/context.py +324 -573
- mindspore/dataset/__init__.py +65 -37
- mindspore/dataset/audio/__init__.py +2 -8
- mindspore/dataset/audio/transforms.py +3 -17
- mindspore/dataset/callback/ds_callback.py +2 -1
- mindspore/dataset/core/config.py +87 -6
- mindspore/dataset/engine/cache_admin.py +3 -3
- mindspore/dataset/engine/cache_client.py +6 -5
- mindspore/dataset/engine/datasets.py +292 -267
- mindspore/dataset/engine/datasets_audio.py +22 -8
- mindspore/dataset/engine/datasets_standard_format.py +46 -27
- mindspore/dataset/engine/datasets_text.py +78 -48
- mindspore/dataset/engine/datasets_user_defined.py +183 -117
- mindspore/dataset/engine/datasets_vision.py +120 -44
- mindspore/dataset/engine/iterators.py +283 -63
- mindspore/dataset/engine/obs/obs_mindrecord_dataset.py +1 -1
- mindspore/dataset/engine/obs/util.py +8 -0
- mindspore/dataset/engine/queue.py +40 -0
- mindspore/dataset/engine/samplers.py +289 -43
- mindspore/dataset/engine/serializer_deserializer.py +3 -2
- mindspore/dataset/engine/validators.py +53 -11
- 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/py_transforms_util.py +17 -0
- mindspore/dataset/transforms/transforms.py +31 -14
- 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/dataset/vision/validators.py +1 -2
- mindspore/device_context/__init__.py +21 -0
- mindspore/device_context/ascend/__init__.py +25 -0
- mindspore/device_context/ascend/device.py +72 -0
- mindspore/device_context/ascend/op_debug.py +153 -0
- mindspore/device_context/ascend/op_precision.py +193 -0
- mindspore/device_context/ascend/op_tuning.py +123 -0
- mindspore/{ops_generate/gen_constants.py → device_context/cpu/__init__.py} +6 -17
- mindspore/device_context/cpu/device.py +62 -0
- mindspore/device_context/cpu/op_tuning.py +43 -0
- mindspore/device_context/gpu/__init__.py +21 -0
- mindspore/device_context/gpu/device.py +70 -0
- mindspore/device_context/gpu/op_precision.py +67 -0
- mindspore/device_context/gpu/op_tuning.py +175 -0
- mindspore/device_manager.py +170 -0
- mindspore/dnnl.dll +0 -0
- mindspore/dpcmi.dll +0 -0
- mindspore/experimental/es/embedding_service.py +35 -27
- mindspore/experimental/llm_boost/__init__.py +1 -0
- mindspore/experimental/llm_boost/ascend_native/__init__.py +22 -0
- mindspore/experimental/llm_boost/ascend_native/llama_boost_ascend_native.py +209 -0
- mindspore/experimental/llm_boost/ascend_native/llm_boost.py +52 -0
- mindspore/experimental/llm_boost/atb/boost_base.py +2 -3
- mindspore/experimental/llm_boost/atb/llama_boost.py +6 -1
- mindspore/experimental/llm_boost/register.py +1 -0
- mindspore/experimental/map_parameter.py +4 -4
- mindspore/experimental/optim/adadelta.py +6 -6
- mindspore/experimental/optim/adagrad.py +4 -4
- mindspore/experimental/optim/adam.py +7 -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 +73 -46
- mindspore/experimental/optim/radam.py +34 -31
- 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 -53
- mindspore/hal/event.py +52 -52
- mindspore/hal/memory.py +179 -120
- mindspore/hal/stream.py +150 -109
- mindspore/include/api/context.h +0 -1
- mindspore/include/dataset/constants.h +7 -4
- mindspore/include/dataset/execute.h +2 -2
- mindspore/jpeg62.dll +0 -0
- mindspore/log.py +50 -0
- mindspore/mindrecord/__init__.py +21 -8
- mindspore/mindrecord/config.py +17 -316
- mindspore/mindrecord/filereader.py +1 -9
- mindspore/mindrecord/filewriter.py +5 -15
- mindspore/mindrecord/mindpage.py +1 -9
- 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 +798 -761
- mindspore/mint/distributed/__init__.py +70 -4
- mindspore/mint/distributed/distributed.py +2679 -44
- mindspore/mint/linalg/__init__.py +8 -0
- mindspore/mint/nn/__init__.py +743 -22
- mindspore/mint/nn/functional.py +716 -23
- mindspore/mint/nn/layer/__init__.py +21 -4
- mindspore/mint/nn/layer/_functions.py +334 -0
- mindspore/mint/nn/layer/activation.py +276 -1
- mindspore/mint/nn/layer/basic.py +123 -0
- mindspore/mint/nn/layer/conv.py +933 -0
- mindspore/mint/nn/layer/normalization.py +223 -28
- mindspore/mint/nn/layer/padding.py +797 -0
- mindspore/mint/nn/layer/pooling.py +235 -0
- mindspore/mint/optim/__init__.py +3 -1
- mindspore/mint/optim/adam.py +223 -0
- mindspore/mint/optim/adamw.py +26 -19
- mindspore/mint/optim/sgd.py +171 -0
- mindspore/mint/special/__init__.py +2 -1
- 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/multiprocessing/__init__.py +5 -0
- mindspore/nn/__init__.py +4 -1
- mindspore/nn/cell.py +1373 -192
- mindspore/nn/dynamic_lr.py +2 -1
- mindspore/nn/layer/activation.py +29 -27
- mindspore/nn/layer/basic.py +51 -35
- mindspore/nn/layer/channel_shuffle.py +3 -3
- mindspore/nn/layer/container.py +1 -1
- mindspore/nn/layer/conv.py +53 -42
- mindspore/nn/layer/embedding.py +12 -11
- mindspore/nn/layer/normalization.py +56 -49
- mindspore/nn/layer/padding.py +4 -3
- mindspore/nn/layer/pooling.py +120 -42
- mindspore/nn/layer/rnn_cells.py +1 -1
- mindspore/nn/layer/rnns.py +2 -1
- mindspore/nn/layer/timedistributed.py +5 -5
- mindspore/nn/layer/transformer.py +59 -36
- mindspore/nn/learning_rate_schedule.py +8 -4
- mindspore/nn/loss/loss.py +58 -55
- mindspore/nn/optim/ada_grad.py +7 -5
- mindspore/nn/optim/adadelta.py +11 -9
- mindspore/nn/optim/adafactor.py +1 -1
- mindspore/nn/optim/adam.py +19 -15
- 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/lars.py +1 -4
- mindspore/nn/optim/lazyadam.py +12 -10
- mindspore/nn/optim/momentum.py +7 -6
- mindspore/nn/optim/optimizer.py +3 -3
- mindspore/nn/optim/proximal_ada_grad.py +12 -10
- mindspore/nn/optim/rmsprop.py +13 -12
- mindspore/nn/optim/rprop.py +11 -9
- mindspore/nn/optim/sgd.py +9 -6
- mindspore/nn/optim/tft_wrapper.py +5 -2
- mindspore/nn/optim/thor.py +2 -1
- 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/utils/init.py +13 -11
- mindspore/nn/wrap/__init__.py +6 -6
- mindspore/nn/wrap/cell_wrapper.py +181 -122
- mindspore/nn/wrap/grad_reducer.py +45 -36
- mindspore/nn/wrap/loss_scale.py +6 -7
- mindspore/numpy/array_creations.py +63 -65
- mindspore/numpy/array_ops.py +149 -144
- mindspore/numpy/logic_ops.py +41 -42
- mindspore/numpy/math_ops.py +361 -359
- mindspore/numpy/utils.py +17 -18
- mindspore/numpy/utils_const.py +5 -6
- mindspore/opencv_core452.dll +0 -0
- mindspore/opencv_imgcodecs452.dll +0 -0
- mindspore/opencv_imgproc452.dll +0 -0
- mindspore/ops/__init__.py +5 -3
- mindspore/ops/_grad_experimental/grad_comm_ops.py +112 -16
- mindspore/ops/_grad_experimental/grad_debug_ops.py +14 -2
- mindspore/ops/_grad_experimental/grad_inner_ops.py +9 -0
- mindspore/ops/_grad_experimental/grad_math_ops.py +2 -1
- mindspore/ops/_grad_experimental/taylor_rule.py +29 -0
- mindspore/ops/_op_impl/cpu/__init__.py +1 -0
- mindspore/ops/_op_impl/cpu/raise_op.py +28 -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 -65
- mindspore/ops/_vmap/vmap_array_ops.py +52 -25
- mindspore/ops/_vmap/vmap_base.py +0 -2
- mindspore/ops/_vmap/vmap_grad_nn_ops.py +21 -14
- mindspore/ops/_vmap/vmap_math_ops.py +15 -16
- mindspore/ops/_vmap/vmap_nn_ops.py +29 -42
- mindspore/ops/auto_generate/__init__.py +4 -3
- mindspore/ops/auto_generate/cpp_create_prim_instance_helper.py +258 -46
- mindspore/ops/auto_generate/gen_extend_func.py +757 -185
- mindspore/ops/auto_generate/gen_ops_def.py +4197 -2243
- mindspore/ops/auto_generate/gen_ops_prim.py +16976 -6055
- mindspore/ops/auto_generate/pyboost_inner_prim.py +221 -87
- mindspore/ops/composite/__init__.py +2 -1
- mindspore/ops/composite/base.py +20 -25
- 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 +228 -30
- 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 -30
- 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 +40 -2
- mindspore/ops/function/_add_attr_func.py +58 -0
- mindspore/ops/function/array_func.py +2089 -2403
- mindspore/ops/function/clip_func.py +80 -23
- mindspore/ops/function/debug_func.py +57 -57
- mindspore/ops/function/grad/__init__.py +1 -0
- mindspore/ops/function/grad/grad_func.py +104 -71
- mindspore/ops/function/image_func.py +2 -2
- mindspore/ops/function/linalg_func.py +47 -78
- mindspore/ops/function/math_func.py +4351 -3813
- mindspore/ops/function/nn_func.py +1712 -637
- mindspore/ops/function/other_func.py +159 -1
- mindspore/ops/function/parameter_func.py +18 -84
- mindspore/ops/function/random_func.py +452 -387
- mindspore/ops/function/reshard_func.py +4 -70
- mindspore/ops/function/sparse_func.py +3 -3
- mindspore/ops/function/sparse_unary_func.py +6 -6
- mindspore/ops/function/spectral_func.py +25 -58
- mindspore/ops/function/vmap_func.py +26 -18
- mindspore/ops/functional.py +23 -7
- mindspore/ops/functional_overload.py +1548 -0
- mindspore/ops/op_info_register.py +32 -244
- mindspore/ops/operations/__init__.py +23 -15
- mindspore/ops/operations/_custom_ops_utils.py +235 -0
- mindspore/ops/operations/_embedding_cache_ops.py +4 -4
- mindspore/ops/operations/_grad_ops.py +2 -43
- mindspore/ops/operations/_infer_ops.py +2 -1
- mindspore/ops/operations/_inner_ops.py +43 -84
- 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 +81 -324
- mindspore/ops/operations/comm_ops.py +154 -108
- mindspore/ops/operations/custom_ops.py +298 -87
- mindspore/ops/operations/debug_ops.py +157 -59
- mindspore/ops/operations/inner_ops.py +7 -5
- mindspore/ops/operations/linalg_ops.py +1 -57
- mindspore/ops/operations/manually_defined/_inner.py +1 -1
- mindspore/ops/operations/manually_defined/ops_def.py +928 -180
- mindspore/ops/operations/math_ops.py +32 -234
- mindspore/ops/operations/nn_ops.py +212 -531
- 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 +66 -53
- mindspore/ops/tensor_method.py +1895 -0
- mindspore/ops_generate/__init__.py +0 -5
- mindspore/ops_generate/aclnn/__init__.py +0 -0
- mindspore/ops_generate/aclnn/aclnn_kernel_register_auto_cc_generator.py +135 -0
- mindspore/ops_generate/aclnn/gen_aclnn_implement.py +257 -0
- mindspore/ops_generate/api/__init__.py +0 -0
- mindspore/ops_generate/api/add_tensor_docs_generator.py +56 -0
- mindspore/ops_generate/api/cpp_create_prim_instance_helper_generator.py +105 -0
- mindspore/ops_generate/api/functional_map_cpp_generator.py +504 -0
- mindspore/ops_generate/api/functional_overload_py_generator.py +112 -0
- mindspore/ops_generate/api/functions_cc_generator.py +237 -0
- mindspore/ops_generate/api/gen_api.py +103 -0
- mindspore/ops_generate/api/op_api_proto.py +235 -0
- mindspore/ops_generate/api/tensor_func_reg_cpp_generator.py +461 -0
- mindspore/ops_generate/common/__init__.py +0 -0
- mindspore/ops_generate/common/base_generator.py +11 -0
- mindspore/ops_generate/common/gen_constants.py +91 -0
- mindspore/ops_generate/common/gen_utils.py +348 -0
- mindspore/ops_generate/common/op_proto.py +473 -0
- mindspore/ops_generate/common/template.py +523 -0
- mindspore/ops_generate/gen_ops.py +22 -1069
- mindspore/ops_generate/op_def/__init__.py +0 -0
- mindspore/ops_generate/op_def/gen_op_def.py +90 -0
- mindspore/ops_generate/op_def/lite_ops_cpp_generator.py +191 -0
- mindspore/ops_generate/op_def/ops_def_cc_generator.py +296 -0
- mindspore/ops_generate/op_def/ops_def_h_generator.py +74 -0
- mindspore/ops_generate/op_def/ops_name_h_generator.py +83 -0
- 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/op_def_py_generator.py +132 -0
- mindspore/ops_generate/op_def_py/op_prim_py_generator.py +489 -0
- mindspore/ops_generate/pyboost/__init__.py +0 -0
- mindspore/ops_generate/pyboost/auto_grad_impl_cc_generator.py +139 -0
- mindspore/ops_generate/pyboost/auto_grad_reg_cc_generator.py +93 -0
- mindspore/ops_generate/pyboost/gen_pyboost_func.py +175 -0
- mindspore/ops_generate/pyboost/op_template_parser.py +517 -0
- mindspore/ops_generate/pyboost/pyboost_functions_cpp_generator.py +407 -0
- mindspore/ops_generate/pyboost/pyboost_functions_h_generator.py +100 -0
- mindspore/ops_generate/pyboost/pyboost_functions_py_generator.py +148 -0
- mindspore/ops_generate/pyboost/pyboost_grad_function_cpp_generator.py +155 -0
- mindspore/ops_generate/pyboost/pyboost_inner_prim_generator.py +132 -0
- mindspore/ops_generate/pyboost/pyboost_native_grad_functions_generator.py +272 -0
- mindspore/ops_generate/pyboost/pyboost_op_cpp_code_generator.py +938 -0
- mindspore/ops_generate/pyboost/pyboost_overload_functions_cpp_generator.py +357 -0
- mindspore/ops_generate/{pyboost_utils.py → pyboost/pyboost_utils.py} +179 -36
- 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 +7 -3
- mindspore/parallel/_auto_parallel_context.py +159 -40
- mindspore/parallel/_cell_wrapper.py +132 -15
- mindspore/parallel/_parallel_serialization.py +107 -5
- mindspore/parallel/_ps_context.py +1 -1
- mindspore/parallel/_recovery_context.py +7 -2
- mindspore/parallel/_tensor.py +142 -18
- mindspore/parallel/_utils.py +199 -23
- mindspore/parallel/algo_parameter_config.py +4 -4
- mindspore/parallel/auto_parallel.py +732 -0
- mindspore/parallel/checkpoint_convert.py +159 -0
- mindspore/parallel/checkpoint_transform.py +700 -35
- mindspore/parallel/cluster/process_entity/_api.py +276 -50
- mindspore/parallel/cluster/process_entity/_utils.py +41 -6
- mindspore/parallel/cluster/run.py +21 -4
- 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 +25 -14
- mindspore/parallel/shard.py +137 -59
- mindspore/parallel/transform_safetensors.py +364 -305
- mindspore/pgodb140.dll +0 -0
- mindspore/pgort140.dll +0 -0
- mindspore/profiler/__init__.py +22 -5
- mindspore/profiler/analysis/__init__.py +0 -0
- mindspore/profiler/analysis/parser/__init__.py +0 -0
- mindspore/profiler/analysis/parser/ascend_cann_parser.py +170 -0
- mindspore/profiler/analysis/parser/base_parser.py +158 -0
- mindspore/profiler/analysis/parser/framework_cann_relation_parser.py +45 -0
- mindspore/profiler/analysis/parser/ms_framework_parser.py +142 -0
- mindspore/profiler/analysis/parser/ms_minddata_parser.py +145 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/__init__.py +0 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/ascend_timeline_assembler.py +264 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/base_timeline_assembler.py +40 -0
- mindspore/profiler/analysis/parser/timeline_assembly_factory/trace_view_container.py +109 -0
- mindspore/profiler/analysis/parser/timeline_creator/__init__.py +0 -0
- mindspore/profiler/analysis/parser/timeline_creator/base_timeline_creator.py +44 -0
- mindspore/profiler/analysis/parser/timeline_creator/cpu_op_timeline_creator.py +90 -0
- mindspore/profiler/analysis/parser/timeline_creator/fwk_timeline_creator.py +76 -0
- mindspore/profiler/analysis/parser/timeline_creator/msprof_timeline_creator.py +103 -0
- mindspore/profiler/analysis/parser/timeline_creator/scope_layer_timeline_creator.py +134 -0
- mindspore/profiler/analysis/parser/timeline_event/__init__.py +0 -0
- mindspore/profiler/analysis/parser/timeline_event/base_event.py +233 -0
- mindspore/profiler/analysis/parser/timeline_event/cpu_op_event.py +47 -0
- mindspore/profiler/analysis/parser/timeline_event/flow_event.py +36 -0
- mindspore/profiler/analysis/parser/timeline_event/fwk_event.py +415 -0
- mindspore/profiler/analysis/parser/timeline_event/msprof_event.py +73 -0
- mindspore/profiler/analysis/parser/timeline_event/scope_layer_event.py +53 -0
- mindspore/profiler/analysis/parser/timeline_event/timeline_event_pool.py +146 -0
- mindspore/profiler/analysis/task_manager.py +131 -0
- mindspore/profiler/analysis/time_converter.py +84 -0
- mindspore/profiler/analysis/viewer/__init__.py +0 -0
- mindspore/profiler/analysis/viewer/ascend_communication_viewer.py +372 -0
- mindspore/profiler/analysis/viewer/ascend_integrate_viewer.py +87 -0
- mindspore/profiler/analysis/viewer/ascend_kernel_details_viewer.py +250 -0
- mindspore/profiler/analysis/viewer/ascend_memory_viewer.py +320 -0
- mindspore/profiler/analysis/viewer/ascend_op_memory_viewer.py +327 -0
- mindspore/profiler/analysis/viewer/ascend_step_trace_time_viewer.py +376 -0
- mindspore/profiler/analysis/viewer/ascend_timeline_viewer.py +58 -0
- mindspore/profiler/analysis/viewer/base_viewer.py +26 -0
- mindspore/profiler/analysis/viewer/ms_dataset_viewer.py +96 -0
- mindspore/profiler/analysis/viewer/ms_minddata_viewer.py +581 -0
- mindspore/profiler/analysis/work_flow.py +73 -0
- mindspore/profiler/common/ascend_msprof_exporter.py +139 -0
- mindspore/profiler/common/command_executor.py +90 -0
- mindspore/profiler/common/constant.py +186 -3
- mindspore/profiler/common/file_manager.py +208 -0
- mindspore/profiler/common/log.py +130 -0
- mindspore/profiler/common/msprof_cmd_tool.py +221 -0
- mindspore/profiler/common/path_manager.py +395 -0
- mindspore/profiler/common/process_bar.py +168 -0
- mindspore/profiler/common/process_pool.py +9 -3
- mindspore/profiler/common/profiler_context.py +500 -0
- mindspore/profiler/common/profiler_info.py +304 -0
- mindspore/profiler/common/profiler_meta_data.py +74 -0
- mindspore/profiler/common/profiler_output_path.py +284 -0
- mindspore/profiler/common/profiler_parameters.py +251 -0
- mindspore/profiler/common/profiler_path_manager.py +179 -0
- mindspore/profiler/common/record_function.py +76 -0
- mindspore/profiler/common/tlv_decoder.py +76 -0
- mindspore/profiler/common/util.py +75 -2
- mindspore/profiler/dynamic_profiler.py +341 -75
- mindspore/profiler/envprofiler.py +163 -0
- mindspore/profiler/experimental_config.py +197 -0
- mindspore/profiler/mstx.py +242 -0
- mindspore/profiler/platform/__init__.py +21 -0
- mindspore/profiler/platform/base_profiler.py +40 -0
- mindspore/profiler/platform/cpu_profiler.py +124 -0
- mindspore/profiler/platform/gpu_profiler.py +74 -0
- mindspore/profiler/platform/npu_profiler.py +335 -0
- mindspore/profiler/profiler.py +1073 -90
- mindspore/profiler/profiler_action_controller.py +187 -0
- mindspore/profiler/profiler_interface.py +118 -0
- mindspore/profiler/schedule.py +243 -0
- mindspore/rewrite/api/node.py +15 -13
- mindspore/rewrite/api/symbol_tree.py +2 -3
- mindspore/run_check/_check_version.py +27 -20
- mindspore/run_check/run_check.py +1 -1
- mindspore/runtime/__init__.py +37 -0
- mindspore/runtime/device.py +27 -0
- mindspore/runtime/event.py +209 -0
- mindspore/runtime/executor.py +177 -0
- mindspore/runtime/memory.py +416 -0
- mindspore/runtime/stream.py +460 -0
- mindspore/runtime/thread_bind_core.py +401 -0
- 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 +96 -27
- mindspore/train/amp.py +9 -5
- mindspore/train/callback/__init__.py +2 -2
- mindspore/train/callback/_callback.py +2 -16
- mindspore/train/callback/_checkpoint.py +53 -55
- mindspore/train/callback/_cluster_monitor.py +14 -18
- mindspore/train/callback/_early_stop.py +1 -1
- mindspore/train/callback/_flops_collector.py +103 -68
- mindspore/train/callback/_history.py +8 -5
- 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 +52 -19
- mindspore/train/callback/_time_monitor.py +2 -1
- mindspore/train/callback/{_tft_register.py → _train_fault_tolerance.py} +228 -108
- mindspore/train/data_sink.py +25 -2
- mindspore/train/dataset_helper.py +15 -16
- 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 +11 -10
- mindspore/train/metrics/recall.py +9 -9
- mindspore/train/metrics/root_mean_square_surface_distance.py +2 -2
- mindspore/train/mind_ir_pb2.py +174 -46
- mindspore/train/model.py +269 -136
- mindspore/train/serialization.py +622 -978
- mindspore/train/summary/_summary_adapter.py +2 -2
- mindspore/train/summary/summary_record.py +2 -3
- mindspore/train/train_thor/model_thor.py +1 -1
- mindspore/turbojpeg.dll +0 -0
- mindspore/utils/__init__.py +6 -3
- mindspore/utils/dryrun.py +140 -0
- mindspore/utils/hooks.py +81 -0
- mindspore/utils/runtime_execution_order_check.py +552 -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.4.10.dist-info → mindspore-2.6.0.dist-info}/METADATA +3 -3
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/RECORD +587 -418
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/entry_points.txt +1 -1
- mindspore/_install_custom.py +0 -43
- mindspore/common/_register_for_adapter.py +0 -74
- mindspore/common/_tensor_overload.py +0 -139
- mindspore/mindspore_np_dtype.dll +0 -0
- mindspore/ops/auto_generate/gen_arg_dtype_cast.py +0 -252
- mindspore/ops/auto_generate/gen_arg_handler.py +0 -197
- mindspore/ops/operations/_opaque_predicate_registry.py +0 -41
- mindspore/ops_generate/gen_aclnn_implement.py +0 -263
- mindspore/ops_generate/gen_ops_inner_prim.py +0 -131
- mindspore/ops_generate/gen_pyboost_func.py +0 -1052
- mindspore/ops_generate/gen_utils.py +0 -209
- mindspore/ops_generate/op_proto.py +0 -145
- mindspore/ops_generate/template.py +0 -261
- mindspore/profiler/envprofiling.py +0 -254
- mindspore/profiler/profiling.py +0 -1926
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/WHEEL +0 -0
- {mindspore-2.4.10.dist-info → mindspore-2.6.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,523 @@
|
|
|
1
|
+
# Copyright 2024 Huawei Technologies Co., Ltd
|
|
2
|
+
#
|
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
# you may not use this file except in compliance with the License.
|
|
5
|
+
# You may obtain a copy of the License at
|
|
6
|
+
#
|
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
#
|
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
# See the License for the specific language governing permissions and
|
|
13
|
+
# limitations under the License.
|
|
14
|
+
# ============================================================================
|
|
15
|
+
"""Templates for code auto generation."""
|
|
16
|
+
import re
|
|
17
|
+
import os
|
|
18
|
+
import common.gen_constants as K
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class Template:
|
|
22
|
+
"""
|
|
23
|
+
template for generate c++/python code
|
|
24
|
+
"""
|
|
25
|
+
regular_str = r"(^[^\n\S]*)?\$([^\d\W]\w*|\{,?[^\d\W]\w*\,?})"
|
|
26
|
+
regular_match = re.compile(regular_str, re.MULTILINE)
|
|
27
|
+
|
|
28
|
+
def __init__(self, code_pattern):
|
|
29
|
+
self.code_pattern = code_pattern
|
|
30
|
+
|
|
31
|
+
@staticmethod
|
|
32
|
+
def load_from_file(file_path):
|
|
33
|
+
with open(file_path, "r") as f:
|
|
34
|
+
return Template(f.read())
|
|
35
|
+
|
|
36
|
+
def replace(self, **kwargs):
|
|
37
|
+
"""
|
|
38
|
+
replace param.
|
|
39
|
+
:param kwargs:
|
|
40
|
+
:return:
|
|
41
|
+
"""
|
|
42
|
+
|
|
43
|
+
def find(key: str):
|
|
44
|
+
if key in kwargs:
|
|
45
|
+
return kwargs[key]
|
|
46
|
+
raise TypeError(f"{key} should be in kwargs!")
|
|
47
|
+
|
|
48
|
+
def add_indent(indent, var):
|
|
49
|
+
return "".join([indent + line + "\n" for data in var for line in str(data).splitlines()]).rstrip()
|
|
50
|
+
|
|
51
|
+
def extract_variable(key):
|
|
52
|
+
start = ""
|
|
53
|
+
end = ""
|
|
54
|
+
if key[0] == "{":
|
|
55
|
+
key = key[1:-1]
|
|
56
|
+
if key[0] == ",":
|
|
57
|
+
start = ","
|
|
58
|
+
key = key[1:]
|
|
59
|
+
if key[-1] == ",":
|
|
60
|
+
end = ", "
|
|
61
|
+
key = key[:-1]
|
|
62
|
+
return find(key), start, end
|
|
63
|
+
|
|
64
|
+
def match_rule(match):
|
|
65
|
+
indent = match.group(1)
|
|
66
|
+
key = match.group(2)
|
|
67
|
+
var, start, end = extract_variable(key)
|
|
68
|
+
if indent is not None:
|
|
69
|
+
if not isinstance(var, list):
|
|
70
|
+
return add_indent(indent, [var])
|
|
71
|
+
return add_indent(indent, var)
|
|
72
|
+
if isinstance(var, list):
|
|
73
|
+
code = ", ".join(str(x) for x in var)
|
|
74
|
+
if not var:
|
|
75
|
+
return code
|
|
76
|
+
return start + code + end
|
|
77
|
+
return str(var)
|
|
78
|
+
|
|
79
|
+
return self.regular_match.sub(match_rule, self.code_pattern)
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
NEW_LINE = "\n"
|
|
83
|
+
|
|
84
|
+
PYTHON_PRIM_TEMPLATE = Template("""
|
|
85
|
+
|
|
86
|
+
class _Pyboost${class_name}Prim(${class_name}Prim_):
|
|
87
|
+
def __call__(self, ${input_args}):
|
|
88
|
+
${process_func}
|
|
89
|
+
return super().__call__([${processed_args}])
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
${func_impl_name}_impl = _Pyboost${class_name}Prim()
|
|
93
|
+
""")
|
|
94
|
+
|
|
95
|
+
IMPORT_PYBOOST_PRIM_HEADER = f"""
|
|
96
|
+
from mindspore.common._stub_tensor import _convert_stub
|
|
97
|
+
from mindspore.ops._utils.arg_handler import *
|
|
98
|
+
"""
|
|
99
|
+
|
|
100
|
+
IMPORT_PYBOOST_FUNC_HEADER = f"""
|
|
101
|
+
from mindspore.common import dtype as mstype
|
|
102
|
+
from mindspore.ops.auto_generate.pyboost_inner_prim import *
|
|
103
|
+
|
|
104
|
+
"""
|
|
105
|
+
|
|
106
|
+
REGISTER_DEFINE_TEMPLATE = Template(
|
|
107
|
+
"""
|
|
108
|
+
(void)py::class_<${class_name}PrimAdapter, PrimitiveFunctionAdapter, std::shared_ptr<${class_name}PrimAdapter>>(
|
|
109
|
+
*m, "${class_name}Prim_")
|
|
110
|
+
.def(py::init<>())
|
|
111
|
+
.def("__call__", &${class_name}PrimAdapter::Call, "Call ${class_name} op.");
|
|
112
|
+
m->def(\"${pyboost_op_name}\", &mindspore::pynative::${pyboost_cfunc_name}, \"Encrypt the data.\");""")
|
|
113
|
+
REGISTER_TEMPLATE = Template(
|
|
114
|
+
"void RegisterPyBoostFunction(py::module *m) {${register_func}\n}")
|
|
115
|
+
|
|
116
|
+
REGISTER_PYBOOST_GRAD_DEFINE_TEMPLATE = Template(
|
|
117
|
+
"MS_REG_PYBOOST_GRAD_OP(${pyboost_op_name}, mindspore::runtime::${pyboost_cfunc_name});\n")
|
|
118
|
+
REGISTER_PYBOOST_GRAD_TEMPLATE = Template("${register_func}")
|
|
119
|
+
|
|
120
|
+
PYBOOST_FUNCTION_HEADER_TEMPLATE = Template.load_from_file(
|
|
121
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_functions_h.tpl'))
|
|
122
|
+
|
|
123
|
+
PYBOOST_FUNCTION_TEMPLATE = Template.load_from_file(
|
|
124
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_function.tpl'))
|
|
125
|
+
|
|
126
|
+
PYBOOST_COMM_FUNCTION_TEMPLATE = Template.load_from_file(
|
|
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'))
|
|
131
|
+
|
|
132
|
+
PYBOOST_FUNCTIONS_CC_TEMPLATE = Template.load_from_file(
|
|
133
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_functions_cc.tpl'))
|
|
134
|
+
|
|
135
|
+
PYBOOST_OVERLOAD_FUNCTIONS_CC_TEMPLATE = Template.load_from_file(
|
|
136
|
+
os.path.join(
|
|
137
|
+
K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_overload_functions_cc.tpl'))
|
|
138
|
+
|
|
139
|
+
PYBOOST_MINT_CLASS_DEF = Template.load_from_file(
|
|
140
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_mint_class_def.tpl'))
|
|
141
|
+
|
|
142
|
+
PYBOOST_OVERLOAD_MINT_CLASS_DEF = Template.load_from_file(
|
|
143
|
+
os.path.join(
|
|
144
|
+
K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/pyboost_overload_mint_class_def.tpl'))
|
|
145
|
+
|
|
146
|
+
# template path need to be moved
|
|
147
|
+
FUNCTIONAL_OVERLOAD_PY_TEMPLATE = Template.load_from_file(
|
|
148
|
+
os.path.join(
|
|
149
|
+
K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/functional_overload_py.tpl')
|
|
150
|
+
)
|
|
151
|
+
|
|
152
|
+
TENSOR_FUNC_CC_REG = Template.load_from_file(
|
|
153
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/tensor_func_cc_reg.tpl'))
|
|
154
|
+
|
|
155
|
+
TENSOR_API_HEADER = Template.load_from_file(
|
|
156
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/tensor_api_header.tpl'))
|
|
157
|
+
|
|
158
|
+
TENSOR_API_SOURCE = Template.load_from_file(
|
|
159
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/tensor_api_source.tpl'))
|
|
160
|
+
|
|
161
|
+
TENSOR_FUNC_UTILS = Template.load_from_file(
|
|
162
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/tensor_func_utils_header.tpl'))
|
|
163
|
+
|
|
164
|
+
TENSOR_FUNC_CALL_BODY = Template.load_from_file(
|
|
165
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/tensor_func_call_body.tpl'))
|
|
166
|
+
|
|
167
|
+
TENSOR_FUNC_OVERLOAD_CALL_BODY = Template.load_from_file(
|
|
168
|
+
os.path.join(K.WORK_DIR,
|
|
169
|
+
'./mindspore/ccsrc/pynative/op_function/template/tensor_func_overload_call_body.tpl'))
|
|
170
|
+
|
|
171
|
+
TENSOR_FUNC_UT_BODY = Template.load_from_file(
|
|
172
|
+
os.path.join(K.WORK_DIR,
|
|
173
|
+
'./mindspore/ccsrc/pynative/op_function/template/tensor_func_ut_body.tpl'))
|
|
174
|
+
|
|
175
|
+
TENSOR_FUNC_UT_OVERLOAD_BODY = Template.load_from_file(
|
|
176
|
+
os.path.join(K.WORK_DIR,
|
|
177
|
+
'./mindspore/ccsrc/pynative/op_function/template/tensor_func_ut_overload_body.tpl'))
|
|
178
|
+
|
|
179
|
+
TENSOR_CPP_METHOD = Template.load_from_file(
|
|
180
|
+
os.path.join(K.WORK_DIR,
|
|
181
|
+
'./mindspore/ccsrc/pynative/op_function/template/tensor_cpp_method.tpl'))
|
|
182
|
+
|
|
183
|
+
TENSOR_FUNC_CLASS_REG = Template.load_from_file(
|
|
184
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/tensor_func_class_reg.tpl'))
|
|
185
|
+
|
|
186
|
+
PYBOOST_GRAD_FUNCTION_TEMPLATE = Template.load_from_file(
|
|
187
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pyboost/grad_functions/template/pyboost_grad_function.tpl'))
|
|
188
|
+
|
|
189
|
+
PYBOOST_GRAD_HEADER_TEMPLATE = Template.load_from_file(
|
|
190
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pyboost/grad_functions/template/pyboost_grad_function_header.tpl'))
|
|
191
|
+
|
|
192
|
+
PYBOOST_NATIVE_GRAD_FUNCTION_TEMPLATE = Template.load_from_file(
|
|
193
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/grad/function/template/native_grad_function.tpl'))
|
|
194
|
+
|
|
195
|
+
PYBOOST_NATIVE_GRAD_FUNCTIONS_TEMPLATE = Template.load_from_file(
|
|
196
|
+
os.path.join(K.WORK_DIR,
|
|
197
|
+
'./mindspore/ccsrc/pynative/grad/function/template/pyboost_native_grad_functions.tpl'))
|
|
198
|
+
|
|
199
|
+
PYBOOST_NATIVE_GRAD_FUNCTIONS_HEADER_TEMPLATE = Template.load_from_file(
|
|
200
|
+
os.path.join(K.WORK_DIR,
|
|
201
|
+
'./mindspore/ccsrc/pynative/grad/function/template/pyboost_native_grad_functions_header.tpl'))
|
|
202
|
+
|
|
203
|
+
GEN_OPS_DEF_HEADER_TEMPLATE = Template.load_from_file(
|
|
204
|
+
os.path.join(K.WORK_DIR, './mindspore/python/mindspore/ops_generate/op_def/gen_ops_def_header.tpl'))
|
|
205
|
+
|
|
206
|
+
PYBOOST_BASE_OP_DEFINE_TEMPLATE = Template.load_from_file(
|
|
207
|
+
os.path.join(K.WORK_DIR, f'./{K.MS_PYBOOST_BASE_PATH}/template/pyboost_op_header.tpl'))
|
|
208
|
+
|
|
209
|
+
PYBOOST_OP_REGISTER_TEMPLATE = Template.load_from_file(
|
|
210
|
+
os.path.join(K.WORK_DIR, f'./{K.MS_PYBOOST_BASE_PATH}/template/pyboost_op_register.tpl'))
|
|
211
|
+
|
|
212
|
+
# Ascend op generate
|
|
213
|
+
PYBOOST_ASCEND_OP_HEADER_TEMPLATE = Template.load_from_file(
|
|
214
|
+
os.path.join(K.WORK_DIR,
|
|
215
|
+
f'./{K.MS_OPS_KERNEL_PATH}/ascend/pyboost/template/pyboost_aclnn_header_template.tpl'))
|
|
216
|
+
|
|
217
|
+
PYBOOST_ASCEND_OP_SOURCE_TEMPLATE = Template.load_from_file(
|
|
218
|
+
os.path.join(K.WORK_DIR,
|
|
219
|
+
f'./{K.MS_OPS_KERNEL_PATH}/ascend/pyboost/template/pyboost_aclnn_source_template.tpl'))
|
|
220
|
+
|
|
221
|
+
PYBOOST_ASCEND_SINGLE_OP_HEADER_TEMPLATE = Template.load_from_file(
|
|
222
|
+
os.path.join(K.WORK_DIR,
|
|
223
|
+
f'./{K.MS_OPS_KERNEL_PATH}/ascend/pyboost/template/pyboost_aclnn_single_op_header_template.tpl'))
|
|
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
|
+
|
|
229
|
+
PYBOOST_ASCEND_SINGLE_OP_SOURCE_TEMPLATE = Template.load_from_file(
|
|
230
|
+
os.path.join(K.WORK_DIR,
|
|
231
|
+
f'./{K.MS_OPS_KERNEL_PATH}/ascend/pyboost/template/pyboost_aclnn_single_op_source_template.tpl'))
|
|
232
|
+
|
|
233
|
+
PYBOOST_ASCEND_CALL_TEMPLATE = Template.load_from_file(
|
|
234
|
+
os.path.join(K.WORK_DIR,
|
|
235
|
+
f'./{K.MS_OPS_KERNEL_PATH}/ascend/pyboost/template/pyboost_ascend_call_template.tpl'))
|
|
236
|
+
|
|
237
|
+
PYBOOST_ASCEND_VIEW_CALL_TEMPLATE = Template.load_from_file(
|
|
238
|
+
os.path.join(K.WORK_DIR,
|
|
239
|
+
f'./{K.MS_PYBOOST_BASE_PATH}/template/'
|
|
240
|
+
'pyboost_view_template.tpl'))
|
|
241
|
+
|
|
242
|
+
PYBOOST_ASCEND_CUSTOMIZE_CALL_TEMPLATE = Template.load_from_file(
|
|
243
|
+
os.path.join(K.WORK_DIR,
|
|
244
|
+
f'./{K.MS_OPS_KERNEL_PATH}/ascend/pyboost/template'
|
|
245
|
+
'/pyboost_ascend_customize_call_template.tpl'))
|
|
246
|
+
|
|
247
|
+
# GPU op generate
|
|
248
|
+
PYBOOST_GPU_OP_HEADER_TEMPLATE = Template.load_from_file(
|
|
249
|
+
os.path.join(K.WORK_DIR,
|
|
250
|
+
'./mindspore/ops/kernel/gpu/pyboost/template/pyboost_gpu_header_template.tpl'))
|
|
251
|
+
|
|
252
|
+
PYBOOST_GPU_OP_SOURCE_TEMPLATE = Template.load_from_file(
|
|
253
|
+
os.path.join(K.WORK_DIR,
|
|
254
|
+
'./mindspore/ops/kernel/gpu/pyboost/template/pyboost_gpu_source_template.tpl'))
|
|
255
|
+
|
|
256
|
+
PYBOOST_GPU_SINGLE_OP_HEADER_TEMPLATE = Template.load_from_file(
|
|
257
|
+
os.path.join(K.WORK_DIR,
|
|
258
|
+
'./mindspore/ops/kernel/gpu/pyboost/template/pyboost_gpu_single_op_header_template.tpl'))
|
|
259
|
+
|
|
260
|
+
PYBOOST_GPU_SINGLE_OP_SOURCE_TEMPLATE = Template.load_from_file(
|
|
261
|
+
os.path.join(K.WORK_DIR,
|
|
262
|
+
'./mindspore/ops/kernel/gpu/pyboost/template/pyboost_gpu_single_op_source_template.tpl'))
|
|
263
|
+
|
|
264
|
+
PYBOOST_GPU_CALL_TEMPLATE = Template.load_from_file(
|
|
265
|
+
os.path.join(K.WORK_DIR,
|
|
266
|
+
'./mindspore/ops/kernel/gpu/pyboost/template/pyboost_gpu_call_template.tpl'))
|
|
267
|
+
|
|
268
|
+
PYBOOST_GPU_VIEW_CALL_TEMPLATE = Template.load_from_file(
|
|
269
|
+
os.path.join(K.WORK_DIR,
|
|
270
|
+
f'./{K.MS_PYBOOST_BASE_PATH}/template/pyboost_view_template.tpl'))
|
|
271
|
+
|
|
272
|
+
PYBOOST_GPU_CUSTOMIZE_CALL_TEMPLATE = Template.load_from_file(
|
|
273
|
+
os.path.join(K.WORK_DIR,
|
|
274
|
+
'./mindspore/ops/kernel/gpu/pyboost/template'
|
|
275
|
+
'/pyboost_gpu_customize_call_template.tpl'))
|
|
276
|
+
|
|
277
|
+
# CPU op generate
|
|
278
|
+
PYBOOST_CPU_OP_HEADER_TEMPLATE = Template.load_from_file(
|
|
279
|
+
os.path.join(K.WORK_DIR,
|
|
280
|
+
f'./{K.MS_OPS_KERNEL_PATH}/cpu/pyboost/template/pyboost_cpu_header_template.tpl'))
|
|
281
|
+
|
|
282
|
+
PYBOOST_CPU_OP_SOURCE_TEMPLATE = Template.load_from_file(
|
|
283
|
+
os.path.join(K.WORK_DIR,
|
|
284
|
+
f'./{K.MS_OPS_KERNEL_PATH}/cpu/pyboost/template/pyboost_cpu_source_template.tpl'))
|
|
285
|
+
|
|
286
|
+
PYBOOST_CPU_SINGLE_OP_HEADER_TEMPLATE = Template.load_from_file(
|
|
287
|
+
os.path.join(K.WORK_DIR,
|
|
288
|
+
f'./{K.MS_OPS_KERNEL_PATH}/cpu/pyboost/template/pyboost_cpu_single_op_header_template.tpl'))
|
|
289
|
+
|
|
290
|
+
PYBOOST_CPU_SINGLE_OP_SOURCE_TEMPLATE = Template.load_from_file(
|
|
291
|
+
os.path.join(K.WORK_DIR,
|
|
292
|
+
f'./{K.MS_OPS_KERNEL_PATH}/cpu/pyboost/template/pyboost_cpu_single_op_source_template.tpl'))
|
|
293
|
+
|
|
294
|
+
PYBOOST_CPU_CALL_TEMPLATE = Template.load_from_file(
|
|
295
|
+
os.path.join(K.WORK_DIR,
|
|
296
|
+
f'./{K.MS_OPS_KERNEL_PATH}/cpu/pyboost/template/pyboost_cpu_call_template.tpl'))
|
|
297
|
+
|
|
298
|
+
PYBOOST_CPU_VIEW_CALL_TEMPLATE = Template.load_from_file(
|
|
299
|
+
os.path.join(K.WORK_DIR,
|
|
300
|
+
f'./{K.MS_PYBOOST_BASE_PATH}/template/pyboost_view_template.tpl'))
|
|
301
|
+
|
|
302
|
+
PYBOOST_CPU_CUSTOMIZE_CALL_TEMPLATE = Template.load_from_file(
|
|
303
|
+
os.path.join(K.WORK_DIR,
|
|
304
|
+
f'./{K.MS_OPS_KERNEL_PATH}/cpu/pyboost/template'
|
|
305
|
+
'/pyboost_cpu_customize_call_template.tpl'))
|
|
306
|
+
|
|
307
|
+
PYBOOST_PY_FUNC_IMPORT_HEADEAR = Template(
|
|
308
|
+
"""from mindspore._c_expression import ${class_name}Prim_\n"""
|
|
309
|
+
)
|
|
310
|
+
|
|
311
|
+
PYBOOST_PY_FUNC_TEMPLATE = Template("""
|
|
312
|
+
def ${func_name}(${func_args}):
|
|
313
|
+
r\"\"\"
|
|
314
|
+
${description}
|
|
315
|
+
\"\"\"
|
|
316
|
+
return ${func_impl_name}_impl(${input_args})\n\n""")
|
|
317
|
+
|
|
318
|
+
OP_PROTO_TEMPLATE = Template("""
|
|
319
|
+
${func_impl_declaration}
|
|
320
|
+
OpDef g${class_name} = {
|
|
321
|
+
/*.name_=*/"${class_name}",
|
|
322
|
+
/*.args_=*/ {
|
|
323
|
+
${input_args}
|
|
324
|
+
},
|
|
325
|
+
/* .returns_ = */ {
|
|
326
|
+
${return_args}
|
|
327
|
+
},
|
|
328
|
+
/*.signatures_ =*/ {
|
|
329
|
+
${signatures}
|
|
330
|
+
},
|
|
331
|
+
/*.indexes_ =*/ {
|
|
332
|
+
${indexes}
|
|
333
|
+
},
|
|
334
|
+
/*.func_impl_=*/${func_impl_define},
|
|
335
|
+
/*.enable_dispatch_ =*/${enable_dispatch},
|
|
336
|
+
/*.is_view_ =*/${is_view},
|
|
337
|
+
/*.is_graph_view_ =*/${is_graph_view},
|
|
338
|
+
};
|
|
339
|
+
REGISTER_PRIMITIVE_OP_DEF(${class_name}, &g${class_name});
|
|
340
|
+
""")
|
|
341
|
+
|
|
342
|
+
MULTI_OUTPUT_TEMPLATE = """
|
|
343
|
+
ValuePtrList values;
|
|
344
|
+
(void)std::transform(op->outputs().begin(), op->outputs().end(), std::back_inserter(values),
|
|
345
|
+
[](const auto &value){ return value;});
|
|
346
|
+
auto output_value = std::make_shared<ValueTuple>(values);
|
|
347
|
+
"""
|
|
348
|
+
|
|
349
|
+
PY_LICENSE_STR = f"""# Copyright 2023 Huawei Technologies Co., Ltd
|
|
350
|
+
#
|
|
351
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
352
|
+
# you may not use this file except in compliance with the License.
|
|
353
|
+
# You may obtain a copy of the License at
|
|
354
|
+
#
|
|
355
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
356
|
+
#
|
|
357
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
358
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
359
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
360
|
+
# See the License for the specific language governing permissions and
|
|
361
|
+
# limitations under the License.
|
|
362
|
+
# ============================================================================
|
|
363
|
+
"""
|
|
364
|
+
|
|
365
|
+
OPS_PY_PRIM_HEADER = f"""
|
|
366
|
+
\"\"\"Operators definition generated by gen_ops.py, includes primitive classes.\"\"\"
|
|
367
|
+
|
|
368
|
+
from mindspore.ops.primitive import Primitive, prim_arg_register
|
|
369
|
+
from mindspore.ops import signature as sig
|
|
370
|
+
from mindspore.common import dtype as mstype
|
|
371
|
+
from mindspore.common._decorator import deprecated
|
|
372
|
+
from mindspore.ops._primitive_cache import _get_cache_prim
|
|
373
|
+
from mindspore.ops._utils.arg_dtype_cast import type_it
|
|
374
|
+
from mindspore.ops._utils.arg_handler import *
|
|
375
|
+
from mindspore._c_expression import OpDtype
|
|
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
|
|
379
|
+
"""
|
|
380
|
+
|
|
381
|
+
OP_PRIM_CLASS_DEFINE_TEMPLATE = Template("""
|
|
382
|
+
|
|
383
|
+
class ${class_name}(Primitive):
|
|
384
|
+
${class_desc}${signature_code}${deprecated_code}
|
|
385
|
+
${init_method}
|
|
386
|
+
|
|
387
|
+
${call_method}""")
|
|
388
|
+
|
|
389
|
+
OPS_PY_DEF_HEADER = f"""
|
|
390
|
+
\"\"\"Operators definition generated by gen_ops.py, includes functions.\"\"\"
|
|
391
|
+
|
|
392
|
+
from .gen_ops_prim import *
|
|
393
|
+
from .pyboost_inner_prim import *
|
|
394
|
+
from mindspore.ops.operations.manually_defined.ops_def import *
|
|
395
|
+
from mindspore.ops._primitive_cache import _get_cache_prim
|
|
396
|
+
"""
|
|
397
|
+
|
|
398
|
+
PRIMITIVE_CLASS_DESC = """ r\"\"\"
|
|
399
|
+
.. code-block::
|
|
400
|
+
|
|
401
|
+
prim = ops.$class_name($init_args_str)
|
|
402
|
+
out = prim($input_args_str)
|
|
403
|
+
|
|
404
|
+
is equivalent to
|
|
405
|
+
|
|
406
|
+
.. code-block::
|
|
407
|
+
|
|
408
|
+
ops.$func_name($args_str)
|
|
409
|
+
|
|
410
|
+
Refer to :func:`mindspore.ops.$func_name` for more details.
|
|
411
|
+
\"\"\"
|
|
412
|
+
"""
|
|
413
|
+
|
|
414
|
+
CC_LICENSE_STR = f"""/**
|
|
415
|
+
* Copyright 2023-2025 Huawei Technologies Co., Ltd
|
|
416
|
+
*
|
|
417
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
418
|
+
* you may not use this file except in compliance with the License.
|
|
419
|
+
* You may obtain a copy of the License at
|
|
420
|
+
*
|
|
421
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
422
|
+
*
|
|
423
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
424
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
425
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
426
|
+
* See the License for the specific language governing permissions and
|
|
427
|
+
* limitations under the License.
|
|
428
|
+
*/"""
|
|
429
|
+
|
|
430
|
+
arg_default_value = Template("""
|
|
431
|
+
\"\"\"Operator labels and args default value.\"\"\"
|
|
432
|
+
from mindspore.common import dtype as mstype
|
|
433
|
+
|
|
434
|
+
op_args_default_value = {
|
|
435
|
+
$gen_default_py
|
|
436
|
+
}
|
|
437
|
+
""")
|
|
438
|
+
|
|
439
|
+
op_labels_template = Template("""
|
|
440
|
+
op_labels = {
|
|
441
|
+
$gen_label_py
|
|
442
|
+
}
|
|
443
|
+
""")
|
|
444
|
+
|
|
445
|
+
lite_ops_h_class_template = Template("""class OPS_API ${op_name} : public BaseOperator {
|
|
446
|
+
public:
|
|
447
|
+
MIND_API_BASE_MEMBER(${op_name});
|
|
448
|
+
${op_name}() : BaseOperator(kName${op_name}) {}${lite_ops_h_code}
|
|
449
|
+
};
|
|
450
|
+
|
|
451
|
+
""")
|
|
452
|
+
|
|
453
|
+
op_cc_template = Template("""class OPS_API ${op_name} : public BaseOperator {
|
|
454
|
+
public:
|
|
455
|
+
MIND_API_BASE_MEMBER(${op_name});
|
|
456
|
+
${op_name}();
|
|
457
|
+
${arg_prim_init_list}
|
|
458
|
+
};
|
|
459
|
+
|
|
460
|
+
""")
|
|
461
|
+
|
|
462
|
+
op_template = Template("""void ${op_name}::set_${arg_name}(const ${dtype} &${arg_name})"""
|
|
463
|
+
""" { (void)this->AddAttr("${arg_name}", api::MakeValue(${arg_name})); }\n\n"""
|
|
464
|
+
"""${dtype} ${op_name}::get_${arg_name}() const"""
|
|
465
|
+
""" { return GetValue<${dtype}>(GetAttr("${arg_name}")); }\n\n""")
|
|
466
|
+
|
|
467
|
+
ACLNN_KERNEL_CC_TEMPLATE = Template.load_from_file(
|
|
468
|
+
os.path.join(K.WORK_DIR, f'./{K.MS_OPS_KERNEL_PATH}/ascend/opapi/template/aclnn_kernel_cc.tpl'))
|
|
469
|
+
|
|
470
|
+
ACLNN_KERNEL_H_TEMPLATE = Template.load_from_file(
|
|
471
|
+
os.path.join(K.WORK_DIR, f'./{K.MS_OPS_KERNEL_PATH}/ascend/opapi/template/aclnn_kernel_h.tpl'))
|
|
472
|
+
|
|
473
|
+
update_output_shape_and_size_template = Template("""
|
|
474
|
+
void ${kernelmod_name}::UpdateOutputShapeAndSize(const std::vector<KernelTensor *> &,
|
|
475
|
+
const std::vector<KernelTensor *> &outputs) {
|
|
476
|
+
// Delete these comment and complete the function:
|
|
477
|
+
// Using outputs[index_x]->SetShapeVector(update_shape) and outputs[index_x]->set_size(update_size)
|
|
478
|
+
}
|
|
479
|
+
""")
|
|
480
|
+
|
|
481
|
+
UPDATE_OUTPUT_SHAPE_AND_SIZE = """
|
|
482
|
+
bool IsNeedUpdateOutputShapeAndSize() override { return true; }
|
|
483
|
+
void UpdateOutputShapeAndSize(const std::vector<KernelTensor *> &inputs, const std::vector<KernelTensor *> &outputs);
|
|
484
|
+
"""
|
|
485
|
+
TUPLE_TENSOR_NOT_SUPPORTED = Template("""
|
|
486
|
+
It is not supported for ${op_name} with tuple[tensor] inputs when using auto generate.
|
|
487
|
+
Please provide a KernelMod name in yaml and using python gen_aclnn_implement.py -n xx manually.""")
|
|
488
|
+
|
|
489
|
+
FUNCTIONAL_MAP_CC_TEMPLATE = Template.load_from_file(
|
|
490
|
+
os.path.join(K.WORK_DIR,
|
|
491
|
+
f'./mindspore/ccsrc/pynative/op_function/template/functional_map_cc.tpl'))
|
|
492
|
+
|
|
493
|
+
FUNCTIONAL_MAP_H_TEMPLATE = Template.load_from_file(
|
|
494
|
+
os.path.join(K.WORK_DIR,
|
|
495
|
+
f'./mindspore/ccsrc/pynative/op_function/template/functional_map_h.tpl'))
|
|
496
|
+
|
|
497
|
+
ADD_TENSOR_DOCS_TEMPLATE = Template.load_from_file(
|
|
498
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/tensor_docs_py.tpl'))
|
|
499
|
+
|
|
500
|
+
AUTO_GRAD_IMPL_CC_TEMPLATE = Template.load_from_file(
|
|
501
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/auto_grad_impl_cc.tpl'))
|
|
502
|
+
|
|
503
|
+
AUTO_GRAD_REG_H_TEMPLATE = Template.load_from_file(
|
|
504
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/auto_grad_reg_h.tpl'))
|
|
505
|
+
|
|
506
|
+
FUNCTIONS_CC_TEMPLATE = Template.load_from_file(
|
|
507
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/functions_cc.tpl'))
|
|
508
|
+
|
|
509
|
+
FUNCTION_BODY_TEMPLATE = Template.load_from_file(
|
|
510
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/function_body.tpl'))
|
|
511
|
+
|
|
512
|
+
FUNCTIONS_H_TEMPLATE = Template.load_from_file(
|
|
513
|
+
os.path.join(K.WORK_DIR, './mindspore/ccsrc/pynative/op_function/template/functions_h.tpl'))
|
|
514
|
+
|
|
515
|
+
DO_GRAD_FUNCTION_BODY_TEMPLATE = Template.load_from_file(
|
|
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\"")
|