Commit Graph

8 Commits

Author SHA1 Message Date
ZPaC 652e67ba2a Optimize rdma compiling option 2023-01-29 11:06:14 +08:00
zhoufeng 3b7452a0e3 support -f build only device plugins
Signed-off-by: zhoufeng <zhoufeng54@huawei.com>
2023-01-07 14:55:51 +08:00
lsder e4b2bd4bb5 ready for adapt to rocm 2022-10-08 16:08:01 +08:00
xiao_yao1994 54fc038f0a unify infer and train compile binary 2022-01-13 17:04:34 +08:00
zengzitao 6f4aebbe11 adapt ms_cpu ci for graphkernel 2021-12-09 19:44:09 +08:00
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.
2021-11-24 10:47:40 +08:00
dayschan 32ecd8ee79 GraphKernel supports CPU
only Linux system is supported now.

change the default value of `ENABLE_AKG` to off, and controlled by option `-K`.
the `ENABLE_AKG` is auto enabled when `ENABLE_GPU` or `ENABLE_D` is on.
since now, we can use `ENABLE_AKG` to control the compilation of graphkernel
and akg codes.

fix usage description for option "-K", it should be "[-K on|off]".

LLVM is required by akg for cpu kernels, so AKG for cpu is default disabled now.
2021-09-29 23:34:16 +08:00
zuochuanyong 3cf372dc09 split huge build.sh 2021-09-08 21:14:22 +08:00