# US 2025/0086090 A1 · Value profiling on accelerators

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2025/0086090 A1
- Document ID: US20250086090A1
- Status: Published application
- Kind: A1
- Application number: 18/244,206
- Filed: 2023-09-08
- Published: 2025-03-13
- Earliest claimed: 2023-09-08
- Assignees: NVIDIA Corporation
- Applicants: NVIDIA Corporation
- Inventors: Durgadoss R; Hariharan Sandanagobalane; Pradeep Kumar; Khaled Abdul Karim Mohammed; Vatsa Santhanam
- Web page: https://patentgrep.com/patent/US20250086090A1

## CPC

- G06F 11/3466: {Performance evaluation by tracing or monitoring}
- G06F 8/443: {Optimisation}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Apparatuses, systems, and techniques to perform variable value profiling. In at least one embodiment, variable value profiling is to be performed by one or more accelerators.

## Claims

### Claim 1

A central processing unit (CPU) comprising:
one or more CPU circuits to cause variable value profiling code to be inserted into one or more accelerator software programs in order to profile one or more variable values within the one or more accelerator software programs when performed by one or more accelerators.

### Claim 2 (depends on 1)

The CPU of claim 1, wherein the variable value profiling code causes one or more arrays to be generated to record the one or more variable values and an occurrence count corresponding to the one or more variable values.

### Claim 3 (depends on 1)

The CPU of claim 1, further comprising storing one or more previous variable values from one or more prior profiles in a memory of the CPU.

### Claim 4 (depends on 1)

The CPU of claim 1, further comprising combining the one or more variable values with one or more previously stored variable values of one or more prior profiles.

### Claim 5 (depends on 1)

The CPU of claim 1, further comprising recording the one or more variable values in a table and stored in a device memory of the one or more accelerators.

### Claim 6 (depends on 1)

The CPU of claim 1, further comprising recording the one or more variable values in a table and copying the table from a device memory of the one or more accelerators to a host memory of the CPU in response to the CPU performing a memory copy operation.

### Claim 7 (depends on 1)

The CPU of claim 1, further comprising using the one or more variable values to perform optimizations on the one or more accelerator software programs.

### Claim 8

A system, comprising:
one or more processors to cause variable value profiling code to be inserted into one or more accelerator software programs in order to profile one or more variable values within the one or more accelerator software programs when performed by one or more accelerators.

### Claim 9 (depends on 8)

The system of claim 8, wherein the variable value profiling code causes one or more arrays to be generated to record the one or more variable values and an occurrence count corresponding to the one or more variable values.

### Claim 10 (depends on 8)

The system of claim 8, further comprising combining the one or more variable values with one or more previous profiled variable values.

### Claim 11 (depends on 8)

The system of claim 8, further comprising recording the one or more variable values in a table if the one or more variable values are not already present in the table.

### Claim 12 (depends on 8)

The system of claim 8, further comprising updating an occurrence count corresponding to the one or more variable values if the one or more variable values is already present in a table.

### Claim 13 (depends on 8)

The system of claim 8, wherein the one or more accelerators are one or more graphics processing units (GPUs).

### Claim 14 (depends on 8)

The system of claim 8, further comprising using the one or more variable values to perform optimizations on the one or more accelerator software programs.

### Claim 15

A method, comprising:
inserting variable value profiling code into one or more accelerator software programs in order to profile one or more variable values within the one or more accelerator software programs when performed by one or more accelerators.

### Claim 16 (depends on 15)

The method of claim 15, further comprising the variable value profiling code generating one or more arrays to record the one or more variable values and an occurrence count corresponding to the one or more variable values.

### Claim 17 (depends on 15)

The method of claim 15, further comprising storing the one or more variable values in a table, and outputting the table to a file.

### Claim 18 (depends on 15)

The method of claim 15, further comprising recording the one or more variable values and an occurrence count corresponding to the one or more variable values in a table as consecutive elements.

### Claim 19 (depends on 15)

The method of claim 15, wherein the variable value profiling code contains counters in order to record the one or more variable values.

### Claim 20 (depends on 15)

The method of claim 15, further comprising performing optimizations on the one or more accelerator software programs based on the one or more variable values.
