# US 11,113,104 B2 · Task parallel processing method, apparatus and system, storage medium and computer device

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

- Number: US 11,113,104 B2
- Document ID: US11113104B2
- Status: Granted
- Kind: B2
- Application number: 16/705,190
- Filed: 2019-12-05
- Published: 2020-04-02
- Granted: 2021-09-07
- Earliest claimed: 2017-11-20
- Assignees: Shanghai Cambricon Information Technology Co., Ltd.
- Applicants: Shanghai Cambricon Information Technology Co., Ltd
- Inventors: Linyang Wu; Qi Guo; Xunyu Chen; Kangyu Wang
- Web page: https://patentgrep.com/patent/US11113104B2

## CPC

- G06F 9/4881: {Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues}
- G06F 9/38: Concurrent instruction execution, e.g. pipeline or look ahead
- G06F 9/4856: {resumption being on a different machine, e.g. task migration, virtual machine migration (G06F9/5088 takes precedence)}
- G06F 9/5038: {considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups)}
- G06F 9/54: Interprogram communication
- G06F 9/547: {Remote procedure calls [RPC]; Web services}
- G06N 3/04: Architecture, e.g. interconnection topology
- G06N 3/045: Combinations of networks
- G06N 3/0464: Convolutional networks [CNN, ConvNet]
- G06N 3/063: using electronic means
- G06N 3/08: Learning methods
- G06N 3/10: Interfaces, programming languages or software development kits, e.g. for simulating neural networks
- G06N 5/022: Knowledge engineering; Knowledge acquisition
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Computer systems, data processing methods, and computer-readable media are provided to run original networks. An exemplary computer system includes first and second processors and first and second memories. The first memory stores offline models and corresponding input data of a plurality of original networks, and a runtime system configured to run on the first processor. The second memory stores an operating system configured to run on the first processor or the second processor. When the runtime system runs on the first processor, the runtime system obtains an offline model and corresponding input data of an original network from the first memory and controls the second processor to run the offline model of the original network. The offline model of the original network includes model parameters, instructions, and interface data of respective computation nodes of the original network.

## Claims

### Claim 1

A computer system, comprising:
first and second processors;
first and second memories; and
a secure application,
wherein:
the first memory stores offline models and corresponding input data of a plurality of original networks, and a runtime system configured to run on the first processor;
the second memory stores an operating system configured to run on the first processor or the second processor;
the runtime system is a secure runtime system built based on a trusted operating environment;
the first memory is a secure storage medium;
when the runtime system runs on the first processor:
the runtime system obtains an offline model and corresponding input data of an original network from the first memory, and controls the second processor to run the offline model of the original network; and
the runtime system causes the first processor to implement a plurality of virtual devices comprising:
a data processing device configured to:
provide an offline model Application Programming Interface (API) and an input data API; and
obtain the offline model and the corresponding input data of the original network from the first memory;
an equipment management device configured to:
provide a driving API for the second processor; and
control the second processor to turn on or turn off; and
a task execution device configured to:
provide an operation API for the second processor; and
control the second processor to run the offline model of the original network;
the offline model of the original network comprises model parameters, instructions, and interface data of respective computation nodes of the original network; and
the secure application is configured to run on the runtime system, wherein the secure application is configured to call the offline model API, the input data API, the driving API, and the operation API.

### Claim 2 (depends on 1)

The computer system of claim 1, wherein the data processing device comprises:
an offline model loading unit configured to provide the offline model API, and obtain and analyze the offline model of the original network; and
an input data loading unit configured to provide the input data API and obtain the input data corresponding to the offline model of the original network.

### Claim 3 (depends on 2)

The computer system of claim 2, wherein the data processing device comprises an input data preprocessing unit configured to:
provide a data preprocessing API;
preprocess the input data obtained by the input data loading unit to allow the second processor to process the input data; and
store output data output by the second processor in the first memory.

### Claim 4 (depends on 1)

The computer system of claim 1, wherein:
the second processor comprises a plurality of processors or processing units; and
the task execution device is configured to provide a task distribution API and control the plurality of processors or processing units of the second processor.

### Claim 5 (depends on 1)

The computer system of claim 1, wherein the first memory is physically independent from the second memory.

### Claim 6 (depends on 1)

The computer system of claim 1, wherein the first memory and the second memory are physically integrated but logically independent from each other.

### Claim 7

A data processing method, implemented by first and second processors and first and second memories,
wherein:
the first memory stores offline models and corresponding input data of a plurality of original networks, and a runtime system configured to run on the first processor;
the second memory stores an operating system configured to run on the first processor or the second processor;
the runtime system is a secure runtime system built based on a trusted operating environment; and
the first memory is a secure storage medium,
the data processing method comprising:
obtaining, by the runtime system running on the first processor, an offline model and corresponding input data of an original network from the first memory, wherein the offline model of the original network comprises model parameters, instructions, and interface data of respective computation nodes of the original network;
controlling, by the runtime system, the second processor to turn on;
controlling, by the runtime system, the second processor to run the original network based on the offline model and the corresponding input data of the original network to obtain output data of the original network;
calling, by a secure application running on the runtime system, an offline model Application Programming Interface (API) to obtain the offline model of the original network;
calling, by the secure application, an input data API to obtain the input data corresponding to the offline model of the original network;
calling, by the secure application, a driving API to turn on the second processor;
calling, by the secure application, an operation API to control the second processor to obtain the output data of the original network; and
calling, by the secure application, the driving API to turn off the second processor.

### Claim 8 (depends on 7)

The data processing method of claim 7, further comprising:
storing the output data of the original network in the first memory.

### Claim 9 (depends on 7)

The data processing method of claim 7, comprising:
preprocessing the input data corresponding to the offline model of the original network to allow the second processor to process the input data.

### Claim 10

A non-transitory computer-readable storage medium storing a computer program, wherein the computer program, when executed by first and second processors, causes the first and second processors to perform a data processing method with first and second memories,
wherein:
the first memory stores offline models and corresponding input data of a plurality of original networks, and a runtime system configured to run on the first processor;
the second memory stores an operating system configured to run on the first processor or the second processor;
the runtime system is a secure runtime system built based on a trusted operating environment; and
the first memory is a secure storage medium,
the data processing method comprising:
obtaining, by the runtime system running on the first processor, an offline model and corresponding input data of an original network from the first memory, wherein the offline model of the original network comprises model parameters, instructions, and interface data of respective computation nodes of the original network;
controlling, by the runtime system, a second processor to turn on;
controlling, by the runtime system, the second processor to run the original network based on the offline model and the corresponding input data of the original network to obtain output data of the original network;
calling, by a secure application running on the runtime system, an offline model Application Programming Interface (API) to obtain the offline model of the original network;
calling, by the secure application, an input data API to obtain the input data corresponding to the offline model of the original network;
calling, by the secure application, a driving API to turn on the second processor;
calling, by the secure application, an operation API to control the second processor to obtain the output data of the original network; and
calling, by the secure application, the driving API to turn off the second processor.

### Claim 11 (depends on 10)

The computer-readable storage medium of claim 10, wherein the operations comprise:
storing the output data of the original network in the first memory.
