PPU芯片支持CUDA算子,可在PPU上编译并运行CUDA程序。通过运行NVIDIA CUDA Samples的典型用例,可评估PPU对CUDA 12.4的兼容性,当前支持率达87.6%。
背景
真武810E支持CUDA算子,用户可使用CUDA语言编写程序,在PPU上编译运行。CUDA Samples是NVIDIA提供的示例程序集,涵盖内存管理、线程操作、数学运算、图像处理等主题。我们在PPU上运行这些用例,评估PPU对CUDA的兼容性。
-
机型:真武810E 16卡
-
存储:智算CPFS/NAS
-
镜像:dsw-registry-vpc.cn-wulanchabu.cr.aliyuncs.com/pai/training-xpu-pytorch:pai-ppu-llm-1.0
-
使用产品组件:PAI-DSW
环境构建
-
构建DSW:基于上述步骤中的镜像构建DSW实例,详细步骤请参考在PAI上使用PPU开发训练模型。
-
下载代码
cd /path/to/your/workspace/cuda # 此处替换为您的实际路径 git clone https://github.com/NVIDIA/cuda-samples.git git checkout -b v12.4
操作命令
以下示例完全遵循CUDA的编译和执行方式。(用例仅验证兼容性与可用性,性能数据不代表真实性能。)
-
以vectorAdd为例。
cd /path/to/your/workspace/cuda/cuda-samples/Samples/0_Introduction/vectorAdd # 此处替换为您的实际路径 #编译并运行测试 make ./vectorAdd
-
以matrixMul_nvrtc为例。
cd /path/to/your/workspace/cuda/cuda-samples/Samples/0_Introduction/matrixMul_nvrtc # 此处替换为您的实际路径 make ./matrixMul_nvrtc
-
以cudaTensorCoreGemm为例。
cd /path/to/your/workspace/cuda/cuda-samples/Samples/3_CUDA_Features/cudaTensorCoreGemm # 此处替换为您的实际路径 make ./cudaTensorCoreGemm
-
以bf16TensorCoreGemm为例。
cd /path/to/your/workspace/cuda/cuda-samples/Samples/3_CUDA_Features/cudaTensorCoreGemm # 此处替换为您的实际路径 make ./cudaTensorCoreGemm
-
以reduction为例。
cd /path/to/your/workspace/cuda/cuda-samples/Samples/2_Concepts_and_Techniques/reduction # 此处替换为您的实际路径 make ./reduction
-
以tf32TensorCoreGemm算子为例。
cd /path/to/your/workspace/cuda/cuda-samples/Samples/3_CUDA_Features/cudaTensorCoreGemm # 此处替换为您的实际路径 make ./cudaTensorCoreGemm
-
以bandwidthTest为例。
cd /path/to/your/workspace/cuda/cuda-samples/Samples/3_CUDA_Features/cudaTensorCoreGemm # 此处替换为您的实际路径 make ./cudaTensorCoreGemm
总结
PPU芯片已支持CUDA 12.4。在121项大语言模型相关的CUDA Sample中,PPU支持106项,支持率达87.6%。
该文章对您有帮助吗?

