评估CUDA算子适配性
更新时间:
复制为 MD 格式
背景
真武810E支持CUDA算子的写法,用户可以使用CUDA语言编写程序,在PPU上编译后运行。CUDA Samples是NVIDIA提供的一系列示例程序,旨在帮助开发者学习如何使用CUDA技术进行GPU加速计算。这些示例覆盖了从基础到高级的各种主题,包括但不限于内存管理、线程操作、数学运算以及图像处理等。通过研究这些例子,开发者可以更好地理解如何有效地利用GPU的并行处理能力来加速他们的应用程序。我们基于这些用例考察在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%,具体的支持清单,请参考CUDA兼容性。
该文章对您有帮助吗?


