PAI-PPU-V1.4.0 release notes

Updated at:

This topic describes the PAI-PPU-V1.4.0 official image.

1. Overview

To help you quickly use ml.gp7vf.16.40xlarge (Zhenwu 810E) resources on PAI Serverless, PPU provides an official PAI Serverless image. This image combines components from PPU, high-speed networking, and PAI to provide an out-of-the-box experience and optimal performance.

2. Notes

  • This image is available to invited customers only. You must comply with confidentiality obligations.

  • The PAI-PPU training image runs only on the PAI Serverless platform (including DSW, DLC, and EAS).

  • The PAI-PPU inference image runs only on PAI Serverless - EAS.

3. Major updates

  • Updated the PPU SDK to version 1.4.0-hotfix2.

  • Updated ACCL-P to version 1.4.0-6.

  • Integrated Open-MMLab components into the training image for autonomous driving scenarios.

  • Added a CUDA 11 Legacy training image for autonomous driving scenarios.

  • Integrated PAI-Bladellm-0.9.0RC13 into the inference image, significantly improving performance compared to open-source inference frameworks.

  • Fixed two known issues in PPU SDK 1.4.0:

    • Fixed an issue where TransformerEngine 1.11 could cause a CPU memory leak in cuBLAS under specific conditions.

    • Fixed an issue where model training performance degraded when PP>1 in Megatron-Core.

4. Image contents

4.1 Training images

4.1.1 General-purpose training

General-purpose training image

Scenarios

Suitable for general-purpose scenarios. This image uses the AliOS operating system. You must install the required components for your specific use case using pip install with the image's built-in package index.

Operating system

AliOS

PPU SDK version

1.4.0-hotfix2 (6974ba)

Communication library version

ACCL-P 1.4.0-6 (9746bb0)

Compatible CUDA version

12.3

Python version

3.10

PyTorch version

2.4.0

Open-MMLab component versions

None

Other component versions

  • timm 0.9.7

  • torchvision 0.19.0

  • torchdata 0.8.0

  • torchtext 0.18.0a0

  • transformers 4.38.0dev0

  • tokenizers 0.15.2

  • xformers 0.0.27

  • numpy 1.23.5

How to obtain

How to obtain

4.1.2 Autonomous driving training

Autonomous driving training image - mmcv 1

Autonomous driving training image - mmcv 1 + mmdet3d 1

Autonomous driving training image - mmcv 2

Scenarios

Suitable for most autonomous driving model training scenarios. These images use the Ubuntu operating system. Choose an image based on the Open-MMLab component version you need.

Operating system

Ubuntu 22.04

Ubuntu 22.04

Ubuntu 22.04

PPU SDK version

1.4.0-hotfix2 (6974ba)

1.4.0-hotfix2 (6974ba)

1.4.0-hotfix2 (6974ba)

Communication library version

ACCL-P 1.4.0-6 (9746bb0)

ACCL-P 1.4.0-6 (9746bb0)

ACCL-P 1.4.0-6 (9746bb0)

Compatible CUDA version

12.3

12.3

12.3

Python version

3.10

3.10

3.10

PyTorch version

2.4.0

2.4.0

2.4.0

Open-MMLab component versions

  • mmcv 1.7.2

  • mmdet 2.26.0

  • mmdet3d 0.17.2

  • mmseg 0.30.0

  • mmcv 1.7.2

  • mmdet 2.26.0

  • mmdet3d 1.0.0rc4

  • mmseg 0.30.0

  • mmcv 2.1.0

  • mmdet 3.3.0

  • mmdet3d 1.4.0

Other component versions

  • timm 0.9.7

  • torchvision 0.19.0

  • torchdata 0.8.0

  • torchtext 0.18.0a0

  • transformers 4.46.2

  • tokenizers 0.20.3

  • xformers 0.0.27

  • numpy 1.23.5

  • transformers-engine 1.11.0

  • torch_scatter 2.1.2

  • nuscenes-devkit 1.1.11

  • detectron2 0.6

  • opencv-python 4.10.0.84

  • peft 0.12.0

  • flash-attn 2.5.6

  • timm 0.9.7

  • torchvision 0.19.0

  • torchdata 0.8.0

  • torchtext 0.18.0a0

  • transformers 4.46.2

  • tokenizers 0.20.3

  • xformers 0.0.27

  • numpy 1.23.5

  • transformers-engine 1.11.0

  • torch_scatter 2.1.2

  • nuscenes-devkit 1.1.11

  • detectron2 0.6

  • opencv-python 4.10.0.84

  • peft 0.12.0

  • flash-attn 2.5.6

  • timm 0.9.7

  • torchvision 0.19.0

  • torchdata 0.8.0

  • torchtext 0.18.0a0

  • transformers 4.46.2

  • tokenizers 0.20.3

  • xformers 0.0.27

  • numpy 1.23.5

  • transformers-engine 1.11.0

  • torch_scatter 2.1.2

  • nuscenes-devkit 1.1.11

  • detectron2 0.6

  • opencv-python 4.10.0.84

  • peft 0.12.0

  • flash-attn 2.5.6

How to obtain

How to obtain

4.1.3 Legacy scenarios

Legacy training image - PyTorch 2.1

Legacy training image - PyTorch 1.8

Scenarios

Suitable for scenarios that require CUDA 11. These images support legacy models and operators for autonomous driving.

Operating system

Ubuntu 22.04

Ubuntu 20.04

PPU SDK version

1.4.0-hotfix2 (6974ba)

1.4.0-hotfix2 (6974ba)

Communication library version

ACCL-P 1.4.0-6 (9746bb0)

ACCL-P 1.4.0-6 (9746bb0)

Compatible CUDA version

11.8

11.1

Python version

3.10

3.8

PyTorch version

2.1.0

1.8.0

Open-MMLab component versions

  • mmcv 1.6.0

  • mmcv 1.5.0

  • mmdet 2.24.1

  • mmdet3d 1.0.0rc2

  • mmseg 0.24.1

Other component versions

  • timm 0.8.22dev0

  • torchvision 0.16.0

  • torchdata 0.7.0

  • torchtext 0.16.0

  • transformers 4.30.2

  • tokenizers 0.12.1

  • numpy 1.23.5

  • torchvision 0.8.0

  • nuscenes-devkit 1.1.9

  • numpy 1.23.5

  • opencv-python 4.7.0.72

How to obtain

How to obtain

4.2 Inference images

Large model inference image

Scenarios

Suitable for large model inference scenarios. Supports popular LLMs.

Operating system

AliOS

PPU SDK version

1.4.0-hotfix2 (6974ba)

Communication library version

ACCL-P 1.4.0-6 (9746bb0)

Compatible CUDA version

12.3

Python version

3.10

PyTorch version

2.4

Inference engine version

bladellm-v0.9.0rc13

Verified models

Qwen 2.5 / Qwen 2 / Qwen / Llama 3 / Llama 2 / Llama

How to obtain

How to obtain

Important

The large model inference image supports only inference in PAI-EAS using PAI-BladeLLM. This image does not include vllm and is not supported in DSW or DLC.

If you need to use vllm, choose one of the following options:

  1. Continue using the large model inference image, which is supported in PAI-EAS. Install vllm 0.6.3 using pip in the startup command.

    pip install vllm==0.6.3+ppu1.4.0.oe -i https://art-pub.eng.t-head.cn/artifactory/api/pypi/ptgai-pypi_ppu_alios_cu123_index/simple/
  2. Use the general-purpose training image, which is supported in DSW, DLC, and PAI-EAS. Run the same command to install vllm 0.6.3.

  3. To use vllm 0.6.4, use the following temporary image: dsw-registry-vpc.cn-wulanchabu.cr.aliyuncs.com/pai-training-algorithm/autodrive:1.4-pytorch2.5.1-ubuntu22.04-cuda12.3-py310-vllm0.6.4.

5. Obtaining images

5.1 From the PAI console

  • In your PAI workspace, go to the **Images** page and select the **PAI Official Images** tab to view the official PAI-PPU images.

  • When you create an instance in a PAI service, such as a DSW instance, select the **Official Images** tab. You can then filter by chip type to find the official PAI-PPU images.

5.2 Image addresses

Important

The following image addresses can only be used in PAI Serverless. The inference image is only supported in PAI-EAS.

Image address

General-purpose training image

dsw-registry-vpc.cn-wulanchabu.cr.aliyuncs.com/pai/training-xpu-pytorch:1.4-torch2.4-alios-cuda12.3-py310

Autonomous driving training image - mmcv 1 (recommended)

dsw-registry-vpc.cn-wulanchabu.cr.aliyuncs.com/pai/training-xpu-pytorch:1.4-torch2.4-mmcv1.7.2-mmdet3d0.17.2-ubuntu22.04-cuda12.3-py310

Autonomous driving training image - mmcv 1 + mmdet3d 1

dsw-registry-vpc.cn-wulanchabu.cr.aliyuncs.com/pai/training-xpu-pytorch:1.4-torch2.4-mmcv1.7.2-mmdet3d1.0.0rc4-ubuntu22.04-cuda12.3-py310

Autonomous driving training image - mmcv 2

dsw-registry-vpc.cn-wulanchabu.cr.aliyuncs.com/pai/training-xpu-pytorch:1.4-torch2.4-mmcv2.1.0-mmdet3d1.4.0-ubuntu22.04-cuda12.3-py310

Legacy training image - PyTorch 2.1

dsw-registry-vpc.cn-wulanchabu.cr.aliyuncs.com/pai/training-xpu-pytorch:1.4-torch2.1-mmcv1.6.0-ubuntu22.04-cuda11.8-py310

Legacy training image - PyTorch 1.8

dsw-registry-vpc.cn-wulanchabu.cr.aliyuncs.com/pai/training-xpu-pytorch:1.4-torch1.8-mmcv1.5.0-ubuntu20.04-cuda11.1-py38

Large model inference image

eas-registry.cn-hangzhou.cr.aliyuncs.com/pai-eas/blade-llm:v0.9.0rc13-xpu-1.4.0

6. Known issues

No known issues.

7. Appendix 1: PPU SDK core updates

7.1 Compatibility

Compatible PAI-PPU specifications

ml.gp7vf.16.40xlarge

Compatible KMD versions

Recommended version: 1.4.0.

Compatible with version 1.3.2.

7.2 Core components

Component name

Description

Compiler

PPU compiler toolchain

CUDA SDK Wrapper

CUDA API compatibility library

Acompute

PPU compute acceleration library

Acext

PPU quantization acceleration library

PPU SMI

PPU device management tool

PPU DCGM

PPU online monitoring tool

Asight System

PPU performance analysis tool

Asight Compute

PPU performance analysis tool

PPU GDB

PPU debugging tool

PPU MemCheck

PPU sanitizer tool

PPU hgobjdump

PPU device binary tool

7.2.1 Core driver updates

  • Added support for a circular print buffer to enhance the printf function in CUDA device code.

  • Added support for the stream memory operation v2 API.

  • Added support for edge data APIs in graph management.

  • Added support for batch memory operation node APIs in graph management.

7.2.2 Core acceleration library updates

  • CUTLASS 3: Added support for the group GEMM persistent strategy.

  • Improved FlashAttention performance on Zhenwu 810E by up to 85%.

  • acext: Added support for a16w8 sub-channel quantization.

  • MoE: Added support and optimizations for a16w4 quantization.

  • xFormers: Fixed an INF issue in attention mask scenarios.

  • RTC: Added Run-Time Compilation (RTC) support for group convolution and GEMV.

  • Added more precompiled instances to reduce RTC frequency.

  • BLAS: Added support for rank-1 and rank-2 Level 2 APIs.

  • BLAS: Fixed incorrect GEMM behavior when k=0.

  • BLAS INT8 GEMM: Added support for INT8 output and for NN, TN, and TT layouts.

  • BLAS: Added support for cublasSgetriBatched.

  • conv: Improved performance by over 100x for workloads with wgrad inputs larger than 4 GB.

  • conv: Fixed a 1D SpatialTF exception issue.

  • acFFT: Added support for C2C, D2Z, and Z2Z transformations and several helper APIs.

  • Solver: Added support for Cholesky decomposition and solving, QR decomposition, and the Jacobi method for SVD decomposition.

7.2.3 Core compiler updates

  • Added support for the system-level reserved shared memory feature.

  • Added support for Triton versions 2.3.x and 3.0.x.

  • Supports GCC host compiler versions 5.5 to 12.3.

  • ppu-gdb:

    • Optimized the display length of kernel-managed names in layout asm mode.

    • Added support for conditional breakpoints on internal variables, such as blockIdx, and on registers.

    • Added support for GDB Python extensions for Python versions 3.6 to 3.10.

    • Added support for single-hit and multi-hit triggering for device kernel breakpoints. The default is single-hit.

7.2.4 Core PPU-SMI updates

  • Added support for querying XID error code descriptions.

  • Added support for querying the status of performance counters.

  • Added the gpm subcommand for querying and setting GPM status.

  • Added support for querying the tidal mode status.

  • Added support for querying the product architecture and minor number.

  • Added support for setting and querying the Multi-Process Service (MPS) mode.

7.2.5 Core DCGM updates

  • Added support for field IDs related to the send/receive rate of each Inter-Chip Network (ICN) link.

  • Updated the list of supported field IDs.

7.2.6 Core Asight System updates

  • Improved the UI style and layout, and introduced additional tab styles for navigation.

  • asys now supports specifying the call stack depth for CPU and Python profiling.

  • asys now supports collecting trace data from specific application processes.

  • asys now supports collecting basic PPU information, such as frequency and temperature.

  • asys now supports shorter sampling intervals for CPU call stack collection.

  • asys stats now supports exporting statistics and traces for HGGC kernel grids and blocks.

  • asys now supports collecting Python backtraces for HGGC.

  • asys now supports collecting Python backtraces for memory operations.

  • asys can now trace Python functions across all threads in a Python process.

  • The Timeline View now supports custom colors for HGTX ranges.

  • The Timeline View now updates the PPU node time percentage when you apply a filter.

  • The Timeline View now displays metrics for RDMA network interface cards.

  • The Timeline View now displays dependencies between PPU activities.

  • The Timeline View can now display HGGC Graph information in a standalone view.

  • The Timeline View now supports the "Mark Timeline" feature.

  • The Timeline View now uses different colors for different types of video timelines.

  • HGGC Launch API calls in the Timeline View now display the kernel name.

  • You can now close a report tab while the report is loading.

  • The Events View now includes a Tile Mode and provides enhanced autocomplete for search history.

  • The Function View now includes flame and icicle graphs.

  • HGTX range summaries now support specifying lists of processes and threads.

8. Appendix 2: ACCL-P core updates

The unique interconnect of the Zhenwu 810E chip requires specific environment variables for different parallelism strategies. The chip index changed in ACCL-P 1.4.0-6, so you must adjust these environment variables.

Value

TP 2

export CUDA_VISIBLE_DEVICES=4,7,5,6,1,2,0,3,12,15,13,14,9,10,8,11

TP 4

export CUDA_VISIBLE_DEVICES=4,5,7,6,0,1,3,2,9,8,10,11,13,12,14,15

TP 8

export CUDA_VISIBLE_DEVICES=4,5,7,6,2,3,1,0,13,12,14,15,11,10,8,9

TP 16

No configuration required.

# Basic environment variables
export NCCL_DEBUG=INFO
export NCCL_IB_DISABLE=1
export NCCL_SOCKET_IFNAME==eth0
export NCCL_IB_HCA=

Appendix 3: FAQ

Check the PPU SDK version

The PAI-PPU-V1.4 image integrates PPU SDK 1.4.0-hotfix2. PPU SDK 1.4.0 and PPU SDK 1.4.0-hotfix1 have known issues and are not recommended. You can check the PPU SDK version as follows:

After the image starts, run the ppu-smi -q command and check the "SDK Version" field in the output:

root@122d8d7a7e37:~# ppu-smi -q

==============PPUSMI LOG==============

Timestamp                                   : Tue Dec  31 19:13:36 2024
Driver Version                              : 1.3.2
HGGC Version                                : 12.3
SDK Version                                 : 1.4.0-6974ba

Attached PPUs                               : 16
PPU 00000000:01:00.0
    Product Name                            : alixpu
    Persistence Mode                        : Disabled
    MIG Mode
        Current                             : N/A
        Pending                             : N/A
    Serial Number                           : N/A
    PPU UUID                                : PPU-7f53d39f-ce6e-dc78-c3d4-4c18653c19c0
    PCI
        Bus                                 : 0x01
        Device                              : 0x00
        Domain                              : 0x0000
        Device Id                           : 0x1E0410DE
...

The "SDK Version" output corresponds to the actual PPU SDK version as follows:

SDK version from ppu-smi

Actual PPU SDK version

Notes

1.4.0-6974ba

1.4.0-hotfix2

Stable release. Recommended.

1.4.0-eb69e1

1.4.0-hotfix1

Unofficial release. Not recommended.

1.4.0-85c2d1 

1.4.0

Unofficial release. Not recommended.