# US 12,008,395 B2 · Program event recording storage alteration processing for a neural network accelerator instruction

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

- Number: US 12,008,395 B2
- Document ID: US12008395B2
- Status: Granted
- Kind: B2
- Application number: 18/308,793
- Filed: 2023-04-28
- Published: 2023-08-31
- Granted: 2024-06-11
- Earliest claimed: 2021-06-17
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Simon Weishaupt; Anthony Saporito; Timothy Slegel
- Web page: https://patentgrep.com/patent/US12008395B2

## CPC

- G06F 9/4812: {by interrupt, e.g. masked}
- G06N 3/063: using electronic means
- G06F 9/30072: {to perform conditional operations, e.g. using predicates or guards}
- G06F 9/3013: {according to data content, e.g. floating-point registers, address registers}
- G06F 9/5016: {the resource being the memory}
- G06N 3/0442: characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/08: Learning methods
- G06N 3/048: Activation functions
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Instruction processing is performed for an instruction. The instruction is configured to perform a function, which is to be performed in a plurality of processing phases. A processing phase is defined to store up to a selected amount of data. A determination is made as to whether a store into a designated area occurred based on processing a select processing phase of the function. Based on determining that the store into the designated area occurred, an interrupt is presented.

## Claims

### Claim 1

A computer program product for facilitating processing within a computing environment, the computer program product comprising:
one or more computer readable storage media and program instructions collectively stored on the one or more computer readable storage media to perform a method comprising:
performing instruction processing for an instruction, the instruction configured to perform a function, the function to be performed in a plurality of processing phases, wherein a processing phase of the plurality of processing phases is defined to store up to a select amount of data;
determining that a store into a designated area occurred based on processing a select processing phase of the plurality of processing phases of the function; and
presenting an interrupt, based on determining that the store into the designated area occurred.

### Claim 2 (depends on 1)

The computer program product of claim 1, wherein the method further comprises:
determining that the store into the designated area did not occur for a different processing phase of the plurality of processing phases; and
continuing with the performing instruction processing, based on determining that the store into the designated area did not occur for the different processing phase.

### Claim 3 (depends on 2)

The computer program product of claim 2, wherein the continuing with the performing instruction processing comprises providing memory addresses to be used for further processing of the function.

### Claim 4 (depends on 1)

The computer program product of claim 1, wherein the designated area comprises an area of memory defined by a starting address and an ending address, wherein the starting address and the ending address are provided by one or more control registers.

### Claim 5 (depends on 1)

The computer program product of claim 1, wherein the determining that the store into the designated area occurred comprises determining that a memory address to which data is being written is in the designated area.

### Claim 6 (depends on 1)

The computer program product of claim 1, wherein the determining that the store into the designated area occurred comprises determining that at least a portion of a parameter block to be used by the function overlaps the designated area.

### Claim 7 (depends on 1)

The computer program product of claim 1, wherein the determining that the store into the designated area occurred comprises determining that at least a portion of a function specific save area to be used by the function overlaps the designated area.

### Claim 8 (depends on 1)

The computer program product of claim 1, wherein the method further comprises predicting that a particular processing phase of the plurality of processing phases of the function will cause an interrupt, the predicting being based on a memory access pattern of the function.

### Claim 9 (depends on 1)

The computer program product of claim 1, wherein the method further comprises predicting that an interrupt will occur based on determining that at least a portion of a parameter block to be used by the function overlaps the designated area.

### Claim 10 (depends on 1)

The computer program product of claim 1, wherein the method further comprises predicting that an interrupt will occur based on determining that at least a portion of a function specific save area to be used by the function overlaps the designated area.

### Claim 11 (depends on 1)

The computer program product of claim 1, wherein the select amount of data is based on the function to be performed.

### Claim 12 (depends on 11)

The computer program product of claim 11, wherein the instruction is configured to perform a plurality of functions including the function, and wherein at least one function of the plurality of functions has a different value for the select amount of data than at least one other function of the plurality of functions.

### Claim 13

A computer system for facilitating processing within a computing environment, the computer system comprising:
a memory; and
at least one processor in communication with the memory, wherein the computer system is configured to perform a method, said method comprising:
performing instruction processing for an instruction, the instruction configured to perform a function, the function to be performed in a plurality of processing phases, wherein a processing phase of the plurality of processing phases is defined to store up to a select amount of data;
determining that a store into a designated area occurred based on processing a select processing phase of the plurality of processing phases of the function; and
presenting an interrupt, based on determining that the store into the designated area occurred.

### Claim 14 (depends on 13)

The computer system of claim 13, wherein the method further comprises:
determining that the store into the designated area did not occur for a different processing phase of the plurality of processing phases; and
continuing with the performing instruction processing, based on determining that the store into the designated area did not occur.

### Claim 15 (depends on 13)

The computer system of claim 13, wherein the method further comprises predicting that a particular processing phase of the plurality of processing phases of the function will cause an interrupt, the predicting being based on a memory access pattern of the function.

### Claim 16 (depends on 13)

The computer system of claim 13, wherein the select amount of data is based on the function to be performed and the instruction is configured to perform a plurality of functions including the function, and wherein at least one function of the plurality of functions has a different value for the select amount of data than at least one other function of the plurality of functions.

### Claim 17

A computer-implemented method of facilitating processing within a computing environment, the computer-implemented method comprising:
performing instruction processing for an instruction, the instruction configured to perform a function, the function to be performed in a plurality of processing phases, wherein a processing phase of the plurality of processing phases is defined to store up to a select amount of data;
determining that a store into a designated area occurred based on processing a select processing phase of the plurality of processing phases of the function; and
presenting an interrupt, based on determining that the store into the designated area occurred.

### Claim 18 (depends on 17)

The computer-implemented method of claim 17, further comprising:
determining that the store into the designated area did not occur for a different processing phase of the plurality of processing phases; and
continuing with the performing instruction processing, based on determining that the store into the designated area did not occur.

### Claim 19 (depends on 17)

The computer-implemented method of claim 17, further comprises predicting that a particular processing phase of the plurality of processing phases of the function will cause an interrupt, the predicting being based on a memory access pattern of the function.

### Claim 20 (depends on 17)

The computer-implemented method of claim 17, wherein the select amount of data is based on the function to be performed and the instruction is configured to perform a plurality of functions including the function, and wherein at least one function of the plurality of functions has a different value for the select amount of data than at least one other function of the plurality of functions.

### Claim 21

A computer program product for facilitating processing within a computing environment, the computer program product comprising:
one or more computer readable storage media and program instructions collectively stored on the one or more computer readable storage media to perform a method comprising:
performing instruction processing for an instruction, the instruction configured to perform a function, the function to be performed in a plurality of processing phases, wherein a processing phase of the plurality of processing phases is defined to store up to a select amount of data;
checking that a store into a designated area did not occur based on processing a select processing phase of the plurality of processing phases of the function; and
continuing with other instruction processing, based on checking that the store into the designated area did not occur.

### Claim 22 (depends on 21)

The computer program product of claim 21, wherein the other instruction processing includes proceeding to a next processing phase of the function.

### Claim 23 (depends on 21)

The computer program product of claim 21, wherein the other instruction processing includes ending the instruction.

### Claim 24 (depends on 21)

The computer program product of claim 21, wherein the select amount of data is based on the function to be performed and the instruction is configured to perform a plurality of functions including the function, and wherein at least one function of the plurality of functions has a different value for the select amount of data than at least one other function of the plurality of functions.

### Claim 25

A computer-implemented method of facilitating processing within a computing environment, the computer-implemented method comprising:
performing instruction processing for an instruction, the instruction configured to perform a function, the function to be performed in a plurality of processing phases, wherein a processing phase of the plurality of processing phases is defined to store up to a select amount of data;
checking that a store into a designated area did not occur based on processing a select processing phase of the plurality of processing phases of the function; and
continuing with other instruction processing, based on checking that the store into the designated area did not occur.
