TensorFlow MUSA Extension
TensorFlow MUSA Extension Shi Yi Ge Gao Xing Neng De TensorFlow Cha Jian ,Zhuan Wei Mo Er Xian Cheng (Moore Threads)MUSA GPU Jia Gou She Ji . Gai Kuo Zhan Tong Guo Yuan Sheng MUSA Nei He Shi Xian ,Wei TensorFlow Ti Gong Wan Zheng De GPU Jia Su Zhi Chi ,Chong Fen Fa Hui Mo Er Xian Cheng Quan Gong Neng GPU De Ji Suan Xing Neng .
Te Xing
- Wan Zheng De Suan Zi Zhi Chi :Han Gai Shen Du Xue Xi Xun Lian He Tui Li Suo Xu De He Xin Suan Zi
- Gao Xing Neng You Hua :Zhen Dui MUSA Jia Gou Jin Xing Shen Du You Hua ,Bao Gua Nei Cun Fang Wen Mo Shi He Ji Suan Xiao Lu
- Zi Dong Tu You Hua :Zhi Chi Layout Zi Dong Zhuan Huan , Suan Zi Rong He He Zi Dong Hun He Jing Du (AMP)
- Wu Feng Ji Cheng :Yu TensorFlow Sheng Tai Xi Tong Wan Quan Jian Rong ,Wu Xu Xiu Gai Xian You Dai Ma
- She Bei Guan Li :Wan Zheng De MUSA She Bei Zhu Ce , Nei Cun Guan Li He Liu Shi Chu Li Zhi Chi
Kuai Su Kai Shi
Mu Lu Jie Gou
tensorflow_musa_extension/
+-- CMakeLists.txt # CMake Gou Jian Pei Zhi
+-- build.sh # Gou Jian Jiao Ben
+-- .clang-format # Dai Ma Ge Shi Hua Pei Zhi
+-- .pre-commit-config.yaml # pre-commit Gou Zi Pei Zhi
+-- .gitlab-ci.yml # CI/CD Pei Zhi
+-- musa_ext/ # He Xin Yuan Ma Mu Lu
| +-- kernels/ # MUSA Nei He Shi Xian
| +-- mu/ # MUSA She Bei He You Hua Qi Shi Xian
| +-- utils/ # Gong Ju Han Shu
+-- test/ # Ce Shi Yong Li
+-- musa_test_utils.py # Ce Shi Gong Ju
+-- *_test.py # Ge Suan Zi Ce Shi Wen Jian
Huan Jing Yao Qiu
- Gou Jian Gong Ju :
- CMake (Ban Ben >= 3.10)
- Make
- MUSA SDK:
- MUSA Runtime (>= 1.0)
- muBLAS Ku
- muDNN Ku
- Mo Ren An Zhuang Lu Jing :
/usr/local/musa
- Python Yi Lai
- Python: >= 3.7
- TensorFlow: == 2.4.4
- NumPy: >= 1.19.0
- pettytable: >= 3.0.0
- Kai Fa Gong Ju :
- pre-commit >= 3.0.0
- pytest >= 6.0.0
An Zhuang
git clone <repository-url>
cd tensorflow_musa_extension
# Gou Jian Cha Jian
./build.sh
# Zai Python Zhong Jia Zai Cha Jian
import tensorflow as tf
tf.load_library("./build/libmusa_plugin.so")
Gou Jian Zhi Nan
1. Suan Zi Pei Zhi
Zai CMakeLists.txt Wen Jian Zhong Pei Zhi Xu Yao Bian Yi De Suan Zi :
- Suan Zi Xuan Ze :Zai Yuan Wen Jian Pei Zhi Qu Yu Qi Yong Suo Xu De Suan Zi Shi Xian
- Zi Ding Yi Nei He :Ru Xu Shi Yong
.muZi Ding Yi Nei He Shi Xian ,Zaiset(MU_SOURCES "")Zhong Tian Jia Dui Ying De Yuan Wen Jian
2. Bian Yi Liu Cheng
Zhi Xing Zi Dong Hua Gou Jian Jiao Ben :
Gou Jian Jiao Ben Jiang Zi Dong Wan Cheng Yi Xia Bu Zou :
- Pei Zhi CMake Xiang Mu
- Bian Yi MUSA Nei He He Zhu Ji Dai Ma
- Sheng Cheng Dong Tai Lian Jie Ku
libmusa_plugin.so
3. Jia Zai Cha Jian
Bian Yi Cheng Gong Hou ,Zai TensorFlow Ying Yong Zhong Jia Zai Cha Jian :
tf.load_library("/path/to/tensorflow_musa_extension/build/libmusa_plugin.so")
Ce Shi
Gou Jian Wan Cheng Hou ,Yun Xing Ce Shi Tao Jian Yan Zheng Gong Neng Zheng Que Xing . Ce Shi Wen Jian Zun Xun TensorFlow Guan Fang python/kernel_tests Feng Ge ,Shi Yong tf.test.TestCase Zuo Wei Ji Lei .
python test/add_op_test.py
python test/matmul_op_test.py
# Yun Xing Suo You Ce Shi
./test/run_all_tests.sh
# Huo Zhe Dan Du Yun Xing Mei Ge Ce Shi
for test_file in test/*_op_test.py; do
python "$test_file"
done
Ce Shi Wen Jian Ming Ming Gui Fan :
- Shi Yong
op_name_op_test.pyGe Shi - Ji Cheng Zi
tf.test.TestCase - Ce Shi Fang Fa Yi
test_Kai Tou - Shi Yong
self.assert*Xi Lie Fang Fa Jin Xing Duan Yan
Zhi Chi De Suan Zi
Dang Qian Ban Ben Zhi Chi Yi Xia He Xin Suan Zi :
- Ji Chu Yun Suan :Add, Sub, Multiply, RealDiv, Maximum, Minimum
- Ji Huo Han Shu :Relu, Sigmoid, Softmax, Erf
- Ju Zhen Yun Suan :MatMul, FusedMatMul, Transpose
- Shu Ju Cao Zuo :Reshape, Concat, Gather, StridedSlice, ExpandDims
- Gui Yi Hua :LayerNorm, FusedBatchNorm
- Te Shu Suan Zi :TensorInteraction, BiasAdd, Assign
Gong Xian Zhi Nan
Huan Ying Gong Xian Xin De Suan Zi Shi Xian Huo You Hua !Gong Xian Liu Cheng :
- Fork Cang Ku Bing Chuang Jian Te Xing Fen Zhi
- Shi Xian Suan Zi Huo You Hua Gong Neng
- Tian Jia Xiang Ying De Ce Shi Yong Li
- Geng Xin Wen Dang (Ru Xu Yao )
- Ti Jiao Pull Request
Xu Ke Zheng
Ben Xiang Mu Zun Xun Apache 2.0 Kai Yuan Xie Yi .
Ji Zhu Zhi Chi
Ru Yu Wen Ti ,Qing Ti Jiao Issue Huo Lian Xi Xiang Mu Wei Hu Zhe .