Hopper Multi-GPU (PPCIE) Attestation Example#

This page provides a complete, canonical example of attestation for NVIDIA Hopper H100 GPUs in a multi-GPU configuration with NVSwitch interconnect. PPCIE is the name for Hopper multi-GPU attestation.

Overview#

PPCIE attestation verifies the integrity of both GPUs and NVSwitch devices in a multi-GPU system, ensuring that:

  • All GPUs are running in PPCIE mode

  • All NVSwitch devices are properly configured

  • The topology is secure and matches expected configuration

  • All devices have valid measurements

Prerequisite#

Before starting, ensure you have completed the PPCIE setup by following the PPCIE Quick Start Guide.

Performing Remote Attestation with PPCIE Verifier#

# Set your API key
export NVIDIA_API_KEY="YOUR_API_KEY"

# Run PPCIE verifier with remote attestation
sudo python3 -m ppcie.verifier.verification \
  --gpu-attestation-mode=REMOTE \
  --switch-attestation-mode=REMOTE \
  --service-key="${NVIDIA_API_KEY}" \
  --log=INFO

Performing Local Attestation with PPCIE Verifier#

# Run PPCIE verifier with local attestation
sudo python3 -m ppcie.verifier.verification \
  --gpu-attestation-mode=LOCAL \
  --switch-attestation-mode=LOCAL \
  --service-key="${NVIDIA_API_KEY}" \
  --log=INFO

Example PPCIE Verifier Output

The PPCIE attestation produces a comprehensive output covering all devices.

**************************************************
*    PPCIE: Starting PPCIE Verification Tool    *
**************************************************
*          PPCIE: Number of GPUs are: 8          *
**************************************************
*       PPCIE: Number of NVSwitches are: 4       *
**************************************************
Nonce generated: f8a6160c83ae88af740ad93fd925fbba31309b99334507ad7aca9bdb99c2beeb
Number of GPUs available : 8
Fetching GPU 0 information from GPU driver.
Fetching GPU 1 information from GPU driver.
Fetching GPU 2 information from GPU driver.
Fetching GPU 3 information from GPU driver.
Fetching GPU 4 information from GPU driver.
Fetching GPU 5 information from GPU driver.
Fetching GPU 6 information from GPU driver.
Fetching GPU 7 information from GPU driver.
All GPU Evidences fetched successfully
**************************************************
*           PPCIE: Attesting the GPUs           *
**************************************************
**** Attestation Successful ****
**************************************************
*      PPCIE: GPU Attestation result: True      *
**************************************************
*        PPCIE: GPU Attestation Completed        *
**************************************************
Nonce generated: 16830ece6c1107731a6ca74790a3d21f836b8fece1bbae948b0aec674fd37726
Getting evidence details for SWX-84D3039F-B50B-F6D6-3AA6-037C1D27220F
Getting evidence details for SWX-73FC0A0D-884E-39AC-74D3-AF17D05A5168
Getting evidence details for SWX-3929D2AC-1474-91E6-BECE-B57712CC2511
Getting evidence details for SWX-1DE14271-CBF9-C9DC-0173-E7D79C125A44
All nvSwitch Evidences fetched successfully
**************************************************
*         PPCIE: Attesting the switches         *
**************************************************
**** Attestation Successful ****
**************************************************
*    PPCIE: Switch attestation result is True    *
**************************************************
*      PPCIE: Switch Attestation Completed      *
**************************************************
*PPCIE: Successfully set gpu state to ready state*
**************************************************
+--------------------+---------+
|       STAGE        |  STATUS |
+--------------------+---------+
|   GPU Pre-checks   | SUCCESS |
| Switch Pre-checks  | SUCCESS |
|  GPU Attestation   | SUCCESS |
| Switch Attestation | SUCCESS |
|  Topology checks   | SUCCESS |
+--------------------+---------+
**************************************************
*     PPCIE: End of PPCIE Verification Tool     *
**************************************************

Note: For more detailed logs and claims information, check the following log files:

  • verifier.log - Contains detailed PPCIE verifier logs

  • attestation_sdk.log - Contains SDK-level attestation logs and claims

PPCIE Verification Process#

For the end-to-end verification flow and architecture details, see the PPCIE Architecture.

Validating PPCIE Attestation Results#

PPCIE attestation uses built-in policy files that are not configurable. The policy files are maintained in the policies directory.

Additional Resources#