Xiaoda Zhang
364858cbc9
In sharding propagation, to keep strategy consistent of parameter being used by multiple operators, we check the edge with one node of TmpIdentityInfo
4 years ago
i-robot
8bdcc68bb7
!26918 [AutoParallel]pipeline_adape_interleaved
Merge pull request !26918 from lichen/pipeline_adapt_interleaved
4 years ago
lichenever
8207242ebf
pipeline_adapt_interleaved
4 years ago
i-robot
6ecbc97fd6
!26804 virtual_dataset_avoid_auto_parallel
Merge pull request !26804 from yao_yf/virtual_dataset_avoid_auto_parallel
4 years ago
yao_yf
f29ce1fb60
virtual dataset avoid auto parallel
4 years ago
Xiaoda Zhang
6d7eaea884
1) fix the int64_t and size_t mixup problem; 2) avoid the <= in std::sort
4 years ago
He Wei
41dcac9c49
Replace std::unordered_map/set with robin-hood-hashing
Robin-hood-hashing (https://github.com/martinus/robin-hood-hashing )
is considered faster then std::unordered_map/set,
so we use it to improve mindspore performance.
1. robin_hood head file in `third_party/robin_hood/include`;
2. In `utils/hash_map.h` and `utils/hash_set.h`, we define:
- mindspore::HashMap as an alias of robin_hood::unordered_map;
- mindspore::HashSet as an alias of robin_hood::unordered_set;
3. Replace:
- `#include <unordered_map>` --> `#include "utils/hash_map.h"`;
- `#include <unordered_set>` --> `#include "utils/hash_set.h"`;
- `std::unordered_map` --> `mindspore::HashMap`;
- `std::unordered_set` --> `mindspore::HashSet`;
- `map.insert(std::pair(key, value))` --> `map.emplace(key, value)`;
- `[] (const std::pair<K, V> &p) {..} ` --> `[] (const auto &p) {..} `;
4. Fix issues found by switch to robin_hood:
- AnfNodeConfig hash and equal;
- Fix a bug in `Slice::operator==()`;
- Fix a bug in `CNode::HasPrimalAttr()`;
- Fix map.erase() usage bugs: `map.erase(iter++)` --> `iter = map.erase(iter)`;
- Fix some iterator invalidated problem;
5. Some std::unordered_map/set can not replace by robin_hood:
- As parameter of functions that exposed to python by pybind11;
- Use bad hash that cause robin_hood::map over_flow, such as AbstractBasePtrListHasher;
6. Update cpp unit tests;
7. Add build option '-F' to enable robin_hood, default on.
4 years ago
i-robot
0d69920358
!26600 [Auto parallel] Adjusting sharding propagation
Merge pull request !26600 from Xiaoda/105-adjusting-sharding-propagation
4 years ago
i-robot
050925bc80
!26572 virtual_dataset_fix_repeat_right
Merge pull request !26572 from yao_yf/virtual_dataset_fix_repeat_right
4 years ago
i-robot
6d4837fe93
!26383 reshape_dont_replace_shape_when_no_other_redistribution
Merge pull request !26383 from yao_yf/reshape_dont_replace_shape_when_no_other_redistribution
4 years ago
Xiaoda Zhang
44ff8c8050
changing log level from ERROR to WARNING when no zero communication strategy found in reshape
4 years ago
yao_yf
c3c0f43870
virutal dataset repeat fix
4 years ago
i-robot
3269c9b881
!26335 Support MindSpore on MacOS
Merge pull request !26335 from xulei/ms_mac_compile_br
4 years ago
Xiaoda Zhang
df67e74eaf
making sharding_propagation smooth, add a reshape justification:
1) when propagate sharding strategy from one op to another, try to find the strategy with zero communication cost;
2) if there is no such strategy, find the strategy with minimum communication cost, and raise a warning;
4 years ago
xiefangqi
24ac2382ff
mac compile
4 years ago
i-robot
9f52343a6a
!26350 add check for resizenearestneighbor parallel op
Merge pull request !26350 from yangzhenzhang/add-check-for-resize-op
4 years ago
i-robot
ec4cd6933d
!26292 Add GPU operator NeighborExchange
Merge pull request !26292 from Cononlly/master
4 years ago
yao_yf
94e1d5dfe0
reshape_dont_replace_shape_when_no_other_redistribution
4 years ago
cononlly
8035bafd7c
Add NeighborExchange support for GPU
4 years ago
yangzhenzhang
ba99e4c505
add check for resize op
4 years ago
i-robot
07f5702e48
!26276 [Auto parallel] Fix the cycle complexity problem
Merge pull request !26276 from Xiaoda/100-adjusting-for-cycle-complexity
4 years ago
Xiaoda Zhang
58451687f2
fix the high cycle complexity problem
4 years ago
lichenever
8abc711298
fix_codex_pclint_r1.5
4 years ago
i-robot
7a73bae5c3
!26036 add output strategy for matmul operator
Merge pull request !26036 from yangzhenzhang/add-output-strategy-for-op-init
4 years ago
Xiaoda Zhang
a772767265
support reshape in sharding propagation:
1) using 'swc index of strategy_cost_' as reshape's selected strategy;
2) when encountering reshape in BFS, select the 'swc index' with zero communication cost;
3) when encountering a reshape that is already visited, check whether there exists communication between reshape and current operator. It is OK if communication happens between two configured operators;
4) currently, two consecutive reshapes are not supported;
5) adjusting BFS structure in graph_costmodel.cc;
6) adjusting some code in step_auto_parallel.cc to avoid cyclomatic complexity.
4 years ago
yangzhenzhang
8431ba616c
add output strategy for op init
4 years ago
huangxinjing
f354ab22a3
add pipeline shard interface
Add support for no pipeline accugradient
Add delay tag for fusion op
Optimizer the visite order
add mirror for mini step control
Move the group to attributes
Add gradient_shard control for the mini step
Fix code stype
Fix ut description
Add interface
4 years ago
i-robot
ded1c77bbf
!25765 neighborExchangeV2 & grad
Merge pull request !25765 from TuDouNi/neighborExchangeV2
4 years ago
ttudu
e953c15cd2
NeighborExchangeV2 & Grad
4 years ago
yangzhenzhang
6ad6304b77
add output strategy
4 years ago
yao_yf
d8bd59b03d
dataset strategy tmp fix
4 years ago
yao_yf
a90a8ec607
dataset with repeat strategy fix
4 years ago
i-robot
48699c939c
!25544 add parallel op for resizenearestneighbor
Merge pull request !25544 from yangzhenzhang/add-parallel-op-for-resizenearestneighbor
4 years ago
yangzhenzhang
c42081619e
add parallel op for resizenearestneighbor
4 years ago
yao_yf
0d6f8e0619
dataset shard strategy fix
4 years ago
zhunaipan
8ce4e62725
optimize the comment and log description
修改: ops/operations/_inner_ops.py
修改: ops/operations/_quant_ops.py
修改: ops/operations/array_ops.py
修改: ops/operations/comm_ops.py
修改: ops/operations/math_ops.py
修改: ops/operations/quantum_ops.py
修改: ops/operations/rl_ops.py
修改: ops/operations/sponge_ops.py
修改: ops/operations/sponge_update_ops.py
修改: train/__init__.py
修改: common/tensor.py
修改: train/serialization.py
修改: ccsrc/pipeline/jit/parse/parse.h
修改: explainer/benchmark/_attribution/metric.py
修改: ops/composite/multitype_ops/_constexpr_utils.py
修改: ops/operations/comm_ops.py
修改: RELEASE.md
修改: mindspore/_extends/parse/standard_method.py
修改: mindspore/ccsrc/backend/kernel_compiler/cpu/concat_offset_cpu_kernel.cc
修改: mindspore/ccsrc/backend/kernel_compiler/cpu/dynamic_shape_cpu_kernel.cc
修改: mindspore/ccsrc/frontend/parallel/ops_info/reshape_info.cc
修改: mindspore/ccsrc/frontend/parallel/ops_info/tile_info.cc
修改: mindspore/ccsrc/frontend/parallel/ops_info/transpose_info.cc
修改: mindspore/ccsrc/frontend/parallel/strategy.h
修改: mindspore/common/tensor.py
修改: mindspore/core/abstract/prim_arrays.cc
修改: mindspore/core/abstract/prim_nn.cc
修改: mindspore/core/ops/conv2d.cc
修改: mindspore/core/ops/logical_and.h
修改: mindspore/core/ops/logical_not.h
修改: mindspore/core/ops/logical_or.h
修改: mindspore/core/ops/reduce_all.h
修改: mindspore/core/ops/reduce_any.h
修改: mindspore/lite/src/runtime/kernel/arm/fp32_grad/sgd.cc
修改: mindspore/nn/layer/quant.py
修改: mindspore/nn/optim/sgd.py
修改: mindspore/nn/sparse/sparse.py
修改: mindspore/numpy/array_creations.py
修改: mindspore/numpy/array_ops.py
修改: mindspore/numpy/logic_ops.py
修改: mindspore/numpy/math_ops.py
修改: mindspore/ops/operations/_inner_ops.py
修改: mindspore/ops/operations/array_ops.py
修改: mindspore/ops/operations/rl_ops.py
修改: mindspore/train/_utils.py
修改: tests/ut/python/model/test_lenet_core_after_exception.py
修改: mindspore/_extends/parse/standard_method.py
修改: mindspore/ops/operations/rl_ops.py
修改: mindspore/core/abstract/prim_nn.cc
修改: mindspore/core/ops/conv2d.cc
修改: mindspore/ccsrc/backend/kernel_compiler/cpu/ctcloss_cpu_kernel.cc
修改: mindspore/ccsrc/backend/kernel_compiler/cpu/fl/fused_pull_weight_kernel.h
修改: mindspore/ccsrc/backend/kernel_compiler/cpu/fl/fused_push_weight_kernel.h
修改: mindspore/ccsrc/backend/kernel_compiler/cpu/mkldnn/conv2d_grad_filter_cpu_kernel.cc
修改: mindspore/ccsrc/backend/kernel_compiler/cpu/mkldnn/conv2d_grad_input_cpu_kernel.cc
修改: mindspore/ccsrc/backend/kernel_compiler/cpu/ps/sparse_apply_ftrl_ps_kernel.cc
修改: mindspore/ccsrc/backend/kernel_compiler/cpu/ps/sparse_apply_lazy_adam_ps_kernel.cc
修改: mindspore/ccsrc/backend/kernel_compiler/cpu/rolling_cpu_kernel.cc
修改: mindspore/ccsrc/backend/kernel_compiler/cpu/scatter_arithmetic_cpu_kernel.cc
修改: mindspore/ccsrc/backend/kernel_compiler/cpu/split_cpu_kernel.cc
修改: mindspore/ccsrc/backend/kernel_compiler/cpu/update_cache_cpu_kernel.cc
修改: mindspore/ccsrc/backend/kernel_compiler/gpu/arrays/split_gpu_kernel.h
修改: mindspore/ccsrc/backend/kernel_compiler/gpu/math/broadcast_gpu_kernel.h
修改: mindspore/ccsrc/backend/kernel_compiler/gpu/nn/conv2d_grad_input_gpu_kernel.h
修改: mindspore/ccsrc/fl/server/server.cc
修改: mindspore/ccsrc/frontend/optimizer/ad/kpynative.cc
修改: mindspore/ccsrc/frontend/optimizer/irpass/incorporate_getitem.h
修改: mindspore/ccsrc/frontend/optimizer/irpass/inline.h
修改: mindspore/ccsrc/minddata/dataset/core/device_tensor.cc
修改: mindspore/ccsrc/minddata/dataset/core/tensor.cc
修改: mindspore/ccsrc/minddata/dataset/engine/datasetops/source/emnist_op.cc
修改: mindspore/ccsrc/minddata/dataset/engine/datasetops/source/mnist_op.cc
修改: mindspore/ccsrc/minddata/dataset/engine/datasetops/source/qmnist_op.cc
修改: mindspore/ccsrc/minddata/dataset/engine/ir/datasetops/dataset_node.cc
修改: mindspore/ccsrc/minddata/dataset/engine/opt/pre/epoch_ctrl_pass.cc
修改: mindspore/ccsrc/minddata/dataset/kernels/image/lite_image_utils.cc
修改: mindspore/ccsrc/pipeline/jit/action.cc
修改: mindspore/ccsrc/pipeline/jit/static_analysis/evaluator.cc
修改: mindspore/ccsrc/runtime/device/ascend/executor/tiling/op_tiling_adapter.cc
修改: mindspore/compression/quant/quant_utils.py
修改: mindspore/core/abstract/prim_nn.cc
修改: mindspore/dataset/engine/validators.py
修改: mindspore/lite/micro/coder/opcoders/nnacl/fp32/affine_fp32_coder.cc
修改: mindspore/lite/micro/coder/opcoders/nnacl/int8/affine_int8_coder.cc
修改: mindspore/lite/src/runtime/kernel/ascend310/src/custom_kernel.cc
修改: mindspore/lite/src/runtime/kernel/opencl/kernel/matmul.cc
修改: mindspore/lite/src/runtime/kernel/opencl/kernel/strassen.cc
修改: mindspore/lite/tools/common/graph_util.h
修改: mindspore/lite/tools/optimizer/fisson/fisson_util.cc
修改: mindspore/ops/composite/math_ops.py
修改: mindspore/ops/operations/_inner_ops.py
修改: mindspore/ops/operations/array_ops.py
修改: mindspore/ops/operations/math_ops.py
修改: mindspore/ops/operations/other_ops.py
修改: mindspore/boost/boost_cell_wrapper.py
修改: mindspore/ccsrc/backend/kernel_compiler/cpu/update_cache_cpu_kernel.cc
修改: mindspore/ccsrc/common/trans.cc
修改: mindspore/ccsrc/frontend/parallel/cache_embedding/cache_embedding.cc
修改: mindspore/ccsrc/frontend/parallel/ops_info/gather_info.cc
修改: mindspore/lite/src/common/log_util.h
修改: mindspore/nn/wrap/loss_scale.py
修改: mindspore/parallel/nn/moe.py
修改: tests/mindspore_test_framework/mindspore_test.py
修改: mindspore/ccsrc/backend/kernel_compiler/cpu/split_cpu_kernel.cc
修改: mindspore/lite/tools/common/graph_util.h
修改: mindspore/ccsrc/frontend/parallel/ops_info/gather_info.cc
修改: mindspore/core/ops/conv2d.cc
修改: tests/ut/python/model/test_lenet_core_after_exception.py
4 years ago
lichenever
596923d74b
fix_pipeline_bug_r1.5
4 years ago
zhuyuxiao
cf76c76745
apply batch parallel in auto_parallel mode when strategies are not specified
4 years ago
i-robot
e7cb505e68
!23569 Produce parallel operators for ResizeBilinear and ResizeNearestNeighbor
Merge pull request !23569 from Bert0108/resizebilinear_parallel_ops
4 years ago
i-robot
50be8ead68
!24024 Remove StandardNormal side_effect_mem mark, and fix gpu kernel select bug
Merge pull request !24024 from Margaret_wangrui/StandardNormal_gpu_kernel_select
4 years ago
i-robot
d37fccc56f
!23544 remove deprecated gather op
Merge pull request !23544 from zhuyuxiao/master
4 years ago
Bert0108
2d3d0b673e
parallel operators for ResizeBilinear and ResizeNearestNeighbor
4 years ago
i-robot
75a7cf3bee
!23351 add uniformreal parallel ops info
Merge pull request !23351 from wangjun/uniformreal_parallel_ops
4 years ago
Margaret_wangrui
10a5ab7f54
Remove StandardNormal side_effect_mem mark, and fix gpu kernel select bug
4 years ago
Margaret_wangrui
ace3a6c37c
Fix Sponge network problem
4 years ago
wangjun
05443d4e74
add uniform_real parallel op_info
4 years ago
i-robot
3d66f44aee
!23675 check data format for conv2d
Merge pull request !23675 from yangzhenzhang/check-data-format-for-conv2d
4 years ago
i-robot
1de156bec0
!23635 [AutoParallel]fix_DTS
Merge pull request !23635 from lichen/fix_DTS
4 years ago
lichenever
84899159a4
fix_DTS
4 years ago
zhoufeng
1f934bd782
check neighbor attr type
Signed-off-by: zhoufeng <zhoufeng54@huawei.com>
4 years ago