GpuDiagnostics

Usage

use GpuDiagnostics;

or

import GpuDiagnostics;

Supports counting and reporting GPU operations.

Warning

This module is unstable and its interface is subject to change in the future.

GPU support is a relatively new feature to Chapel and is under active development.

For the most up-to-date information about GPU support see the technical note about it.

record chpl_gpuDiagnostics

Aggregated GPU operation counts. host_to_device, device_to_host and device_to_device will be non-zero only when CHPL_GPU_MEM_STRATEGY==array_on_device and CHPL_GPU!=cpu.

var kernel_launch : uint(64)
var host_to_device : uint(64)
var device_to_host : uint(64)
var device_to_device : uint(64)
type gpuDiagnostics = chpl_gpuDiagnostics

The Chapel record type inherits the runtime definition of it.

proc startVerboseGpu()

Start on-the-fly reporting of GPU operations initiated on any locale.

proc stopVerboseGpu()

Stop on-the-fly reporting of GPU operations initiated on any locale.

proc startGpuDiagnostics()

Start counting GPU operations across the whole program.

proc stopGpuDiagnostics()

Stop counting GPU operations across the whole program.

proc resetGpuDiagnostics()

Reset aggregate GPU operation counts across the whole program.

proc getGpuDiagnostics()

Retrieve aggregate GPU operation counts for the whole program.

Returns:

array of counts of GPU ops initiated on each locale

Return type:

[LocaleSpace] gpuDiagnostics