mindspore 2.4.10__cp39-cp39-win_amd64.whl → 2.6.0rc1__cp39-cp39-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/__init__.py +13 -6
- mindspore/_c_dataengine.cp39-win_amd64.pyd +0 -0
- mindspore/_c_expression.cp39-win_amd64.pyd +0 -0
- mindspore/_c_mindrecord.cp39-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 +46 -197
- mindspore/_extends/parse/resources.py +1 -5
- mindspore/_extends/parse/standard_method.py +217 -98
- 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/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/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 +435 -371
- 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 +2 -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 +951 -1992
- 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 +314 -566
- 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 +182 -116
- 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/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 +211 -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 +157 -117
- 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_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 +796 -759
- 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 +921 -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/multiprocessing/__init__.py +5 -0
- mindspore/nn/__init__.py +4 -1
- mindspore/nn/cell.py +1370 -189
- 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 +22 -17
- 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 +17 -13
- mindspore/nn/optim/adamax.py +8 -7
- mindspore/nn/optim/adasum.py +5 -5
- mindspore/nn/optim/asgd.py +1 -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 +365 -363
- 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 +27 -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 +236 -46
- mindspore/ops/auto_generate/gen_extend_func.py +764 -124
- mindspore/ops/auto_generate/gen_ops_def.py +4018 -2264
- mindspore/ops/auto_generate/gen_ops_prim.py +15463 -5037
- 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 +4501 -3802
- mindspore/ops/function/nn_func.py +1726 -620
- mindspore/ops/function/other_func.py +159 -1
- mindspore/ops/function/parameter_func.py +18 -84
- mindspore/ops/function/random_func.py +440 -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 +24 -17
- mindspore/ops/functional.py +22 -7
- mindspore/ops/functional_overload.py +1440 -0
- mindspore/ops/op_info_register.py +32 -244
- mindspore/ops/operations/__init__.py +13 -7
- mindspore/ops/operations/_custom_ops_utils.py +247 -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 +232 -78
- mindspore/ops/operations/debug_ops.py +153 -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 +210 -498
- 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 +1888 -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 +299 -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 +152 -34
- mindspore/parallel/_cell_wrapper.py +130 -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 +698 -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 +259 -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 -58
- mindspore/parallel/transform_safetensors.py +363 -305
- 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 +106 -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 +409 -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/tinyxml2.dll +0 -0
- mindspore/train/__init__.py +8 -8
- mindspore/train/_utils.py +88 -25
- 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} +204 -107
- 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 +184 -113
- 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 +550 -0
- mindspore/utils/utils.py +138 -4
- mindspore/version.py +1 -1
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/METADATA +3 -3
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/RECORD +562 -393
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.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.0rc1.dist-info}/WHEEL +0 -0
- {mindspore-2.4.10.dist-info → mindspore-2.6.0rc1.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,460 @@
|
|
|
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
|
+
"""Runtime stream class"""
|
|
16
|
+
from mindspore._c_expression import Stream as Stream_
|
|
17
|
+
from mindspore._c_expression import set_cur_stream as set_cur_stream_
|
|
18
|
+
from mindspore._c_expression import synchronize as synchronize_
|
|
19
|
+
from mindspore._c_expression import current_stream as current_stream_
|
|
20
|
+
from mindspore._c_expression import default_stream as default_stream_
|
|
21
|
+
from mindspore._c_expression import communication_stream as communication_stream_
|
|
22
|
+
|
|
23
|
+
from mindspore import _checkparam as Validator
|
|
24
|
+
from .event import Event
|
|
25
|
+
from .device import _is_supported
|
|
26
|
+
|
|
27
|
+
function_stream_status = {'record_event': False, 'wait_event': False, 'wait_stream': False,
|
|
28
|
+
'query': False, 'synchronize': False, 'set_cur_stream': False,
|
|
29
|
+
'current_stream': False, 'default_stream': False,
|
|
30
|
+
'communication_stream': False, 'StreamCtx': False}
|
|
31
|
+
|
|
32
|
+
class Stream(Stream_):
|
|
33
|
+
r"""
|
|
34
|
+
Wrapper around a device stream.
|
|
35
|
+
|
|
36
|
+
A device stream is a linear sequence of execution that belongs to a specific device,
|
|
37
|
+
independent from other streams.
|
|
38
|
+
|
|
39
|
+
Args:
|
|
40
|
+
priority (int, optional): priority of the stream, lower numbers represent higher priorities.
|
|
41
|
+
By default, streams have priority ``0``.
|
|
42
|
+
kwargs (dict): keyword arguments.
|
|
43
|
+
|
|
44
|
+
Supported Platforms:
|
|
45
|
+
``Ascend`` ``GPU``
|
|
46
|
+
"""
|
|
47
|
+
|
|
48
|
+
def __init__(self, priority=0, **kwargs):
|
|
49
|
+
self.init_finished = False
|
|
50
|
+
if "stream" in kwargs and kwargs["stream"] is not None:
|
|
51
|
+
super().__init__(kwargs["stream"])
|
|
52
|
+
|
|
53
|
+
Validator.check_is_int(priority, "priority", "Stream")
|
|
54
|
+
if "stream_id" in kwargs:
|
|
55
|
+
Validator.check_is_int(kwargs["stream_id"], "stream_id", "Stream")
|
|
56
|
+
super().__init__(priority, kwargs["stream_id"])
|
|
57
|
+
else:
|
|
58
|
+
super().__init__(priority)
|
|
59
|
+
self.init_finished = True
|
|
60
|
+
|
|
61
|
+
def record_event(self, event=None):
|
|
62
|
+
r"""
|
|
63
|
+
Records an event.
|
|
64
|
+
|
|
65
|
+
Args:
|
|
66
|
+
event (Event, optional): event to record. If not given, a new one
|
|
67
|
+
will be allocated. Default is ``None``.
|
|
68
|
+
|
|
69
|
+
Returns:
|
|
70
|
+
Event, recorded event. If this argument is ``None``, a new one will be allocated. Default is ``None``.
|
|
71
|
+
|
|
72
|
+
Raises:
|
|
73
|
+
TypeError: If 'event' is neither a :class:`mindspore.runtime.Event` nor a ``None``.
|
|
74
|
+
|
|
75
|
+
Supported Platforms:
|
|
76
|
+
``Ascend`` ``GPU``
|
|
77
|
+
|
|
78
|
+
Examples:
|
|
79
|
+
>>> import mindspore as ms
|
|
80
|
+
>>> import numpy as np
|
|
81
|
+
>>> from mindspore import Tensor, ops
|
|
82
|
+
>>> ms.set_device("Ascend", 0)
|
|
83
|
+
>>> a = Tensor(np.ones([3, 3]), ms.float32)
|
|
84
|
+
>>> b = Tensor(np.ones([3, 3]), ms.float32)
|
|
85
|
+
>>> s1 = ms.runtime.Stream()
|
|
86
|
+
>>> with ms.runtime.StreamCtx(s1):
|
|
87
|
+
... c = a + b
|
|
88
|
+
... event = s1.record_event()
|
|
89
|
+
... d = a * b
|
|
90
|
+
>>> cur_stream = ms.runtime.current_stream()
|
|
91
|
+
>>> cur_stream.wait_event(event)
|
|
92
|
+
>>> e = c + 3
|
|
93
|
+
>>> print(e)
|
|
94
|
+
[[5. 5. 5.]
|
|
95
|
+
[5. 5. 5.]
|
|
96
|
+
[5. 5. 5.]]
|
|
97
|
+
"""
|
|
98
|
+
if not function_stream_status['record_event']:
|
|
99
|
+
function_stream_status['record_event'] = True
|
|
100
|
+
if not _is_supported():
|
|
101
|
+
return None
|
|
102
|
+
if event is None:
|
|
103
|
+
event = Event()
|
|
104
|
+
if not isinstance(event, Event):
|
|
105
|
+
raise TypeError(
|
|
106
|
+
f"For 'record_event', the argument 'event' should be Event,"
|
|
107
|
+
f" but got {type(event)}."
|
|
108
|
+
)
|
|
109
|
+
event.record(self)
|
|
110
|
+
return event
|
|
111
|
+
|
|
112
|
+
def wait_event(self, event):
|
|
113
|
+
r"""
|
|
114
|
+
Makes all future work submitted to the stream wait for an event.
|
|
115
|
+
|
|
116
|
+
Args:
|
|
117
|
+
event (Event): an event to wait for.
|
|
118
|
+
|
|
119
|
+
Raises:
|
|
120
|
+
TypeError: If 'event' is not a :class:`mindspore.runtime.Event`.
|
|
121
|
+
|
|
122
|
+
Supported Platforms:
|
|
123
|
+
``Ascend`` ``GPU``
|
|
124
|
+
|
|
125
|
+
Examples:
|
|
126
|
+
>>> import mindspore as ms
|
|
127
|
+
>>> import numpy as np
|
|
128
|
+
>>> from mindspore import Tensor, ops
|
|
129
|
+
>>> ms.set_device("Ascend", 0)
|
|
130
|
+
>>> a = Tensor(np.ones([3, 3]), ms.float32)
|
|
131
|
+
>>> b = Tensor(np.ones([3, 3]), ms.float32)
|
|
132
|
+
>>> s1 = ms.runtime.Stream()
|
|
133
|
+
>>> with ms.runtime.StreamCtx(s1):
|
|
134
|
+
... c = a + b
|
|
135
|
+
... event = s1.record_event()
|
|
136
|
+
... d = a * b
|
|
137
|
+
>>> cur_stream = ms.runtime.current_stream()
|
|
138
|
+
>>> cur_stream.wait_event(event)
|
|
139
|
+
>>> e = c + 3
|
|
140
|
+
>>> print(e)
|
|
141
|
+
[[5. 5. 5.]
|
|
142
|
+
[5. 5. 5.]
|
|
143
|
+
[5. 5. 5.]]
|
|
144
|
+
"""
|
|
145
|
+
if not function_stream_status['wait_event']:
|
|
146
|
+
function_stream_status['wait_event'] = True
|
|
147
|
+
if not _is_supported():
|
|
148
|
+
return
|
|
149
|
+
if not isinstance(event, Event):
|
|
150
|
+
raise TypeError(
|
|
151
|
+
f"For 'wait_event', the argument 'event' should be Event,"
|
|
152
|
+
f" but got {type(event)}."
|
|
153
|
+
)
|
|
154
|
+
event.wait(self)
|
|
155
|
+
|
|
156
|
+
def wait_stream(self, stream):
|
|
157
|
+
r"""
|
|
158
|
+
Synchronizes with another stream.
|
|
159
|
+
|
|
160
|
+
All future work submitted to this stream will wait until all kernels
|
|
161
|
+
submitted to a given stream at the time of call complete.
|
|
162
|
+
|
|
163
|
+
Args:
|
|
164
|
+
stream (Stream): a stream to synchronize.
|
|
165
|
+
|
|
166
|
+
Raises:
|
|
167
|
+
TypeError: If 'stream' is not a :class:`mindspore.runtime.Stream`.
|
|
168
|
+
|
|
169
|
+
Supported Platforms:
|
|
170
|
+
``Ascend`` ``GPU``
|
|
171
|
+
|
|
172
|
+
Examples:
|
|
173
|
+
>>> import mindspore as ms
|
|
174
|
+
>>> import numpy as np
|
|
175
|
+
>>> from mindspore import Tensor, ops
|
|
176
|
+
>>> ms.set_device("Ascend", 0)
|
|
177
|
+
>>> s1 = ms.runtime.Stream()
|
|
178
|
+
>>> s2 = ms.runtime.Stream()
|
|
179
|
+
>>> a = Tensor(np.ones([1, 2]), ms.float32)
|
|
180
|
+
>>> b = Tensor(np.ones([2, 2]), ms.float32)
|
|
181
|
+
>>> with ms.runtime.StreamCtx(s1):
|
|
182
|
+
... c = ops.matmul(a, b)
|
|
183
|
+
>>> with ms.runtime.StreamCtx(s2):
|
|
184
|
+
... s2.wait_stream(s1)
|
|
185
|
+
... d = ops.matmul(c, b)
|
|
186
|
+
>>> ms.runtime.synchronize()
|
|
187
|
+
>>> print(d)
|
|
188
|
+
[[4. 4.]]
|
|
189
|
+
"""
|
|
190
|
+
if not function_stream_status['wait_stream']:
|
|
191
|
+
function_stream_status['wait_stream'] = True
|
|
192
|
+
if not _is_supported():
|
|
193
|
+
return
|
|
194
|
+
if not isinstance(stream, Stream):
|
|
195
|
+
raise TypeError(
|
|
196
|
+
f"For 'wait_stream', the argument 'stream' should be Stream,"
|
|
197
|
+
f" but got {type(stream)}."
|
|
198
|
+
)
|
|
199
|
+
self.wait_event(stream.record_event())
|
|
200
|
+
|
|
201
|
+
def synchronize(self):
|
|
202
|
+
r"""
|
|
203
|
+
Wait for all the kernels in this stream to complete.
|
|
204
|
+
|
|
205
|
+
Supported Platforms:
|
|
206
|
+
``Ascend`` ``GPU``
|
|
207
|
+
|
|
208
|
+
Examples:
|
|
209
|
+
>>> import mindspore as ms
|
|
210
|
+
>>> import numpy as np
|
|
211
|
+
>>> from mindspore import Tensor, ops
|
|
212
|
+
>>> ms.set_device("Ascend", 0)
|
|
213
|
+
>>> a = Tensor(np.ones([1024, 2048]), ms.float32)
|
|
214
|
+
>>> b = Tensor(np.ones([2048, 4096]), ms.float32)
|
|
215
|
+
>>> s1 = ms.runtime.Stream()
|
|
216
|
+
>>> with ms.runtime.StreamCtx(s1):
|
|
217
|
+
... c = ops.matmul(a, b)
|
|
218
|
+
>>> s1.synchronize()
|
|
219
|
+
>>> assert s1.query()
|
|
220
|
+
"""
|
|
221
|
+
# pylint: disable=useless-super-delegation
|
|
222
|
+
super().synchronize()
|
|
223
|
+
|
|
224
|
+
def query(self):
|
|
225
|
+
r"""
|
|
226
|
+
Checks if all the work submitted has been completed.
|
|
227
|
+
|
|
228
|
+
Returns:
|
|
229
|
+
A boolean indicating if all kernels in this stream are completed.
|
|
230
|
+
|
|
231
|
+
Supported Platforms:
|
|
232
|
+
``Ascend`` ``GPU``
|
|
233
|
+
|
|
234
|
+
Examples:
|
|
235
|
+
>>> import mindspore as ms
|
|
236
|
+
>>> import numpy as np
|
|
237
|
+
>>> from mindspore import Tensor, ops
|
|
238
|
+
>>> ms.set_device("Ascend", 0)
|
|
239
|
+
>>> a = Tensor(np.ones([1024, 2048]), ms.float32)
|
|
240
|
+
>>> b = Tensor(np.ones([2048, 4096]), ms.float32)
|
|
241
|
+
>>> s1 = ms.runtime.Stream()
|
|
242
|
+
>>> with ms.runtime.StreamCtx(s1):
|
|
243
|
+
... c = ops.matmul(a, b)
|
|
244
|
+
>>> s1.synchronize()
|
|
245
|
+
>>> assert s1.query()
|
|
246
|
+
"""
|
|
247
|
+
if not function_stream_status['query']:
|
|
248
|
+
function_stream_status['query'] = True
|
|
249
|
+
if not _is_supported():
|
|
250
|
+
return None
|
|
251
|
+
# pylint: disable=useless-super-delegation
|
|
252
|
+
return super().query()
|
|
253
|
+
|
|
254
|
+
def __eq__(self, other):
|
|
255
|
+
if not isinstance(other, Stream):
|
|
256
|
+
raise TypeError(
|
|
257
|
+
f"For '__eq__', the argument 'other' should be Stream,"
|
|
258
|
+
f" but got {type(other)}."
|
|
259
|
+
)
|
|
260
|
+
return super().__eq__(other)
|
|
261
|
+
|
|
262
|
+
def __hash__(self):
|
|
263
|
+
return hash((self.id, self.device_id))
|
|
264
|
+
|
|
265
|
+
def __repr__(self):
|
|
266
|
+
if self.init_finished:
|
|
267
|
+
return super().__repr__()
|
|
268
|
+
return ""
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
def synchronize():
|
|
272
|
+
r"""
|
|
273
|
+
Synchronize all streams on current device.(Each MindSpore process only occupies one device)
|
|
274
|
+
|
|
275
|
+
Supported Platforms:
|
|
276
|
+
``Ascend`` ``GPU``
|
|
277
|
+
|
|
278
|
+
Examples:
|
|
279
|
+
>>> import mindspore as ms
|
|
280
|
+
>>> import numpy as np
|
|
281
|
+
>>> from mindspore import Tensor, ops
|
|
282
|
+
>>> ms.set_device("Ascend", 0)
|
|
283
|
+
>>> a = Tensor(np.ones([1024, 2048]), ms.float32)
|
|
284
|
+
>>> b = Tensor(np.ones([2048, 4096]), ms.float32)
|
|
285
|
+
>>> s1 = ms.runtime.Stream()
|
|
286
|
+
>>> with ms.runtime.StreamCtx(s1):
|
|
287
|
+
... c = ops.matmul(a, b)
|
|
288
|
+
>>> ms.runtime.synchronize()
|
|
289
|
+
>>> assert s1.query()
|
|
290
|
+
"""
|
|
291
|
+
if not function_stream_status['synchronize']:
|
|
292
|
+
function_stream_status['synchronize'] = True
|
|
293
|
+
if not _is_supported():
|
|
294
|
+
return
|
|
295
|
+
synchronize_()
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
def set_cur_stream(stream):
|
|
299
|
+
r"""
|
|
300
|
+
Sets the current stream.This is a wrapper API to set the stream.
|
|
301
|
+
Usage of this function is discouraged in favor of the ``stream`` context manager.
|
|
302
|
+
|
|
303
|
+
Args:
|
|
304
|
+
stream (Stream): selected stream. This function is a no-op
|
|
305
|
+
if this argument is ``None``.
|
|
306
|
+
|
|
307
|
+
Raises:
|
|
308
|
+
TypeError: If 'stream' is neither a :class:`mindspore.runtime.Stream` nor a ``None``.
|
|
309
|
+
|
|
310
|
+
Supported Platforms:
|
|
311
|
+
``Ascend`` ``GPU``
|
|
312
|
+
|
|
313
|
+
Examples:
|
|
314
|
+
>>> import mindspore as ms
|
|
315
|
+
>>> ms.set_device("Ascend", 0)
|
|
316
|
+
>>> cur_stream = ms.runtime.current_stream()
|
|
317
|
+
>>> assert cur_stream == ms.runtime.default_stream()
|
|
318
|
+
>>> s1 = ms.runtime.Stream()
|
|
319
|
+
>>> ms.runtime.set_cur_stream(s1)
|
|
320
|
+
>>> assert ms.runtime.current_stream() == s1
|
|
321
|
+
>>> ms.runtime.set_cur_stream(ms.runtime.default_stream())
|
|
322
|
+
"""
|
|
323
|
+
if not function_stream_status['set_cur_stream']:
|
|
324
|
+
function_stream_status['set_cur_stream'] = True
|
|
325
|
+
if not _is_supported():
|
|
326
|
+
return
|
|
327
|
+
if stream is None:
|
|
328
|
+
return
|
|
329
|
+
if not isinstance(stream, Stream):
|
|
330
|
+
raise TypeError(
|
|
331
|
+
f"For 'set_cur_stream', the argument 'stream' should be Stream,"
|
|
332
|
+
f" but got {type(stream)}."
|
|
333
|
+
)
|
|
334
|
+
set_cur_stream_(stream)
|
|
335
|
+
|
|
336
|
+
|
|
337
|
+
def current_stream():
|
|
338
|
+
r"""
|
|
339
|
+
Return current stream used on this device.
|
|
340
|
+
|
|
341
|
+
Returns:
|
|
342
|
+
stream (Stream), current stream.
|
|
343
|
+
|
|
344
|
+
Supported Platforms:
|
|
345
|
+
``Ascend`` ``GPU``
|
|
346
|
+
|
|
347
|
+
Examples:
|
|
348
|
+
>>> import mindspore as ms
|
|
349
|
+
>>> ms.set_device("Ascend", 0)
|
|
350
|
+
>>> cur_stream = ms.runtime.current_stream()
|
|
351
|
+
>>> assert cur_stream == ms.runtime.default_stream()
|
|
352
|
+
"""
|
|
353
|
+
if not function_stream_status['current_stream']:
|
|
354
|
+
function_stream_status['current_stream'] = True
|
|
355
|
+
if not _is_supported():
|
|
356
|
+
return None
|
|
357
|
+
return Stream(stream=current_stream_())
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
def default_stream():
|
|
361
|
+
r"""
|
|
362
|
+
Return default stream on this device.
|
|
363
|
+
|
|
364
|
+
Returns:
|
|
365
|
+
stream (Stream), default stream.
|
|
366
|
+
|
|
367
|
+
Supported Platforms:
|
|
368
|
+
``Ascend`` ``GPU``
|
|
369
|
+
|
|
370
|
+
Examples:
|
|
371
|
+
>>> import mindspore as ms
|
|
372
|
+
>>> ms.set_device("Ascend", 0)
|
|
373
|
+
>>> cur_stream = ms.runtime.current_stream()
|
|
374
|
+
>>> assert cur_stream == ms.runtime.default_stream()
|
|
375
|
+
"""
|
|
376
|
+
if not function_stream_status['default_stream']:
|
|
377
|
+
function_stream_status['default_stream'] = True
|
|
378
|
+
if not _is_supported():
|
|
379
|
+
return None
|
|
380
|
+
return Stream(stream=default_stream_())
|
|
381
|
+
|
|
382
|
+
|
|
383
|
+
def communication_stream():
|
|
384
|
+
r"""
|
|
385
|
+
Return communication stream on this device.
|
|
386
|
+
|
|
387
|
+
Returns:
|
|
388
|
+
stream (Stream), communication stream.
|
|
389
|
+
|
|
390
|
+
Supported Platforms:
|
|
391
|
+
``Ascend`` ``GPU``
|
|
392
|
+
|
|
393
|
+
Examples:
|
|
394
|
+
>>> import mindspore as ms
|
|
395
|
+
>>> ms.set_device("Ascend", 0)
|
|
396
|
+
>>> ms.runtime.communication_stream()
|
|
397
|
+
Stream(device_name=Ascend, device_id:0, stream id:1)
|
|
398
|
+
"""
|
|
399
|
+
if not function_stream_status['default_stream']:
|
|
400
|
+
function_stream_status['default_stream'] = True
|
|
401
|
+
if not _is_supported():
|
|
402
|
+
return None
|
|
403
|
+
return Stream(stream=communication_stream_())
|
|
404
|
+
|
|
405
|
+
|
|
406
|
+
class StreamCtx:
|
|
407
|
+
r"""
|
|
408
|
+
Context-manager that selects a given stream.
|
|
409
|
+
|
|
410
|
+
All kernels queued within its context will be enqueued on a selected
|
|
411
|
+
stream.
|
|
412
|
+
|
|
413
|
+
Args:
|
|
414
|
+
ctx_stream (Stream): selected stream. This manager is a no-op if it's ``None``.
|
|
415
|
+
|
|
416
|
+
Raises:
|
|
417
|
+
TypeError: If 'stream' is neither a :class:`mindspore.runtime.Stream` nor a ``None``.
|
|
418
|
+
|
|
419
|
+
Supported Platforms:
|
|
420
|
+
``Ascend`` ``GPU``
|
|
421
|
+
|
|
422
|
+
Examples:
|
|
423
|
+
>>> import mindspore as ms
|
|
424
|
+
>>> import numpy as np
|
|
425
|
+
>>> from mindspore import Tensor, ops
|
|
426
|
+
>>> ms.set_device("Ascend", 0)
|
|
427
|
+
>>> a = Tensor(np.ones([1024, 2048]), ms.float32)
|
|
428
|
+
>>> b = Tensor(np.ones([2048, 4096]), ms.float32)
|
|
429
|
+
>>> s1 = ms.runtime.Stream()
|
|
430
|
+
>>> with ms.runtime.StreamCtx(s1):
|
|
431
|
+
... c = ops.matmul(a, b)
|
|
432
|
+
>>> ms.runtime.synchronize()
|
|
433
|
+
>>> assert s1.query()
|
|
434
|
+
"""
|
|
435
|
+
|
|
436
|
+
def __init__(self, ctx_stream):
|
|
437
|
+
if not function_stream_status['StreamCtx']:
|
|
438
|
+
function_stream_status['StreamCtx'] = True
|
|
439
|
+
if not _is_supported():
|
|
440
|
+
return
|
|
441
|
+
if ctx_stream is not None and not isinstance(ctx_stream, Stream):
|
|
442
|
+
raise TypeError(
|
|
443
|
+
f"For 'StreamCtx', the argument 'ctx_stream' should be Stream,"
|
|
444
|
+
f" but got {type(ctx_stream)}."
|
|
445
|
+
)
|
|
446
|
+
self.stream = ctx_stream
|
|
447
|
+
self.prev_stream = None
|
|
448
|
+
|
|
449
|
+
def __enter__(self):
|
|
450
|
+
if self.stream is None:
|
|
451
|
+
return
|
|
452
|
+
self.prev_stream = current_stream()
|
|
453
|
+
set_cur_stream(self.stream)
|
|
454
|
+
return
|
|
455
|
+
|
|
456
|
+
def __exit__(self, exc_type, exc_val, exc_tb):
|
|
457
|
+
if self.stream is None:
|
|
458
|
+
return
|
|
459
|
+
set_cur_stream(self.prev_stream)
|
|
460
|
+
return
|