Are you sure you want to delete this task? Once this task is deleted, it cannot be recovered.
i-robot 7ce3506054 | 1 month ago | |
---|---|---|
.gitee | 3 years ago | |
.github | 3 years ago | |
.jenkins/check/config | 2 years ago | |
cmake | 11 months ago | |
docs | 3 years ago | |
prebuild | 1 month ago | |
python/akg | 1 month ago | |
scripts | 1 year ago | |
src | 1 month ago | |
tests | 2 months ago | |
third_party | 1 month ago | |
.clang-format | 3 years ago | |
.gitattributes | 3 months ago | |
.gitignore | 3 years ago | |
CMakeLists.txt | 6 months ago | |
CONTRIBUTING.md | 3 years ago | |
LICENSE | 3 years ago | |
NOTICE | 3 years ago | |
OWNERS | 2 years ago | |
README.md | 1 year ago | |
README_CN.md | 2 years ago | |
RELEASE.md | 1 year ago | |
RELEASE_CN.md | 1 year ago | |
Third_Party_Open_Source_Software_Notice | 1 year ago | |
build.sh | 7 months ago | |
requirements.txt | 1 year ago | |
setup.py | 1 year ago | |
version.txt | 3 months ago |
AKG(Auto Kernel Generator) is an optimizer for operators in Deep Learning Networks. It provides the ability to automatically fuse ops with specific patterns. AKG works with MindSpore-GraphKernel to improve the performance of networks running on different hardware backends.
AKG composes with three basic optimization module, normalization, auto schedule and backend optimization.
normalization. In order to solve the limitation in expression ability of polyhedral(which can only process static linear programs), the computation IR needs to be normalized first. The mainly optimization of normalization module includes auto-inline, loop fusing, common subexpression elimination and so on.
auto schedule. Base on polyhedral technology, the auto schedule module mainly have auto-vectorization, auto-tiling, thread/block mapping, dependency analysis and memory promotion.
backend optimization. The backend optimization module mainly consists of TensorCore acceleration, double buffer optimization, storage flatten optimization and inject sync optimization.
At present, Ascend910
, NVIDIA V100/A100
and CPU
are supported. More Backends are on the list.
See MindSpore README.md for details.
We suggest you build and run akg together with MindSpore. And we also provide a way to run case in standalone mode for convenience sake.
Refer to MindSpore Installation for more information about compilation dependencies.
Build on Ascend910
git-lfs needs to be installed before cloning the source codes.
git clone https://gitee.com/mindspore/akg.git
cd akg
bash build.sh -e ascend -j8
Build on GPU
git clone https://gitee.com/mindspore/akg.git
cd akg
bash build.sh -e gpu -j8
Build on CPU
git clone https://gitee.com/mindspore/akg.git
cd akg
bash build.sh -e cpu -j8
Ascend910
cd tests
source ./test_env.sh
NVIDIA V100/A100
cd tests
source ./test_env.sh gpu
CPU
cd tests
source ./test_env.sh cpu
cd tests/st
python run.py -e gpu -o add -l level0 # run add operator on GPU
Detailed instructions see:python run.py -h
Use specific case:
cd tests/st/ops/
pytest -s test_abs.py -m "level0 and platform_x86_ascend_training" # run level0 testcases on Ascend
cd tests/st/ops/
pytest -s test_abs.py -m "level0 and platform_x86_gpu_training" # run level0 testcases on GPU
cd tests/st/ops/
pytest -s test_abs.py -m "level0 and platform_x86_cpu" # run level0 testcases on CPU
See Wiki.
Welcome contributions. See MindSpore Contributor Wiki for
more details.
The release notes, see our RELEASE.
AKG(Auto Kernel Generator) is an optimizer for operators in Deep Learning Networks, which provides the ability to automatically fuse ops with specific patterns.
Python C++ CSV Text Cuda other
Dear OpenI User
Thank you for your continuous support to the Openl Qizhi Community AI Collaboration Platform. In order to protect your usage rights and ensure network security, we updated the Openl Qizhi Community AI Collaboration Platform Usage Agreement in January 2024. The updated agreement specifies that users are prohibited from using intranet penetration tools. After you click "Agree and continue", you can continue to use our services. Thank you for your cooperation and understanding.
For more agreement content, please refer to the《Openl Qizhi Community AI Collaboration Platform Usage Agreement》