Methods for operating frameworks and systems

KR1020260133844APending Publication Date: 2026-09-04MERCEDES BENZ GROUP AG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
KR1020267023239
Authority / Receiving Office
KR · KR
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-09-11
Filing Date
2025-08-28
Publication Date
2026-09-04

Smart Images

  • Figure PCT00002_ABST
    Figure PCT00002_ABST
Patent Text Reader

Abstract

The present invention relates to a method for operating a framework for communicating with a heterogeneous processing unit and performing a scheduled task on the heterogeneous processing unit, wherein: - data is transmitted to and read from the heterogeneous processing unit; - heterogeneous tasks to be performed on the same data are chained without the need to re-copy the data to the target device; - a single contact is provided for initiation and synchronization with the target device; - a framework runnable is coupled with a parent runnable that provides data, assigns a heterogeneous task (kernel) to be performed, and requires output data as a task to ensure that the process deadline is met, and a buffer stream is generated through the parent runnable containing information on how the task is scheduled and what data will be published. Additionally, the present invention relates to a system, a computer program product, and a non-transient computer-readable storage medium.
Need to check novelty before this filing date? Find Prior Art

Description

Technology Field

[0001] The present invention relates to the automotive field. More specifically, the present invention relates to a method for operating a framework for communicating with a heterogeneous processing unit according to claim 1. Furthermore, the present invention relates to a system for operating such a method, a corresponding computer program product, and a corresponding non-transient computer-readable storage medium. Background Technology

[0002] It is known that sharing heterogeneous computational data between processes is not always efficient and safe. Additionally, it can lead to unnecessary copying. Allowing all executable units access to heterogeneous processing units (GPUs, FPGAs, TPUs, DSPs, AI accelerators, etc.) can result in inefficiency, make kernel scheduling more complex, overload resources, cause job deadlines to be missed, and overwrite or corrupt existing data on heterogeneous processing units.

[0003] CN114064551B discloses a high-performance sequence comparison operation acceleration method based on a combination of CPU and GPU utilizing both a task parallel processing mode and a data parallel processing mode. By tightly integrating the features of the BWA-MEM algorithm with the benefits of GPU acceleration, the method enables efficient and robust processing of sequence comparison operations.

[0004] A first aspect of the present invention relates to a method for operating a framework for communicating with a heterogeneous processing unit and performing a task scheduled on the heterogeneous processing unit. This involves the steps of transmitting data to the heterogeneous processing unit and reading data therefrom; chaining heterogeneous tasks (kernels) to be performed on the same data without the need to re-copy the data to the target device; providing a single point of contact for initiation and synchronization with the target device; and coupling a framework Runnable with a parent Runnable. The parent Runnable provides data, assigns a heterogeneous task (kernel) to be performed, and requires output data as a task to ensure that the process deadline is met. Through the parent Runnable, a buffer stream is created, and the buffer stream contains information about how the task is scheduled and what data will be published. Using the parent Runnable, information about which heterogeneous task (kernel) to launch for which data can be generated. Information about which kernel to launch for which data can be compressed into a buffer stream object. It is also possible that data from the buffer stream object can be serialized through the parent runnable, a pointer to the data in the buffer stream can be passed, or other mechanisms can be used to pass the data.

[0005] Further advantages, features, and details of the present invention are derived from the drawings as well as the following description of preferred embodiments. Features and combinations of features mentioned in the foregoing description, as well as features and / or combinations of features mentioned in the following description of the drawings or illustrated only in the drawings, may be used in any other combination as well as the combinations shown, or may be taken alone without departing from the scope of the present invention. Brief explanation of the drawing

[0006] Novel features and characteristics of the present invention are set forth in the appended claims. The accompanying drawings, which are incorporated into and constitute part of the present invention, serve to illustrate exemplary embodiments and explain the principles disclosed together with the description. In the drawings, the leftmost number(s) of a reference numeral identify the drawing in which the reference numeral first appears. The same numbering is used throughout the drawings to refer to similar features and components. Some embodiments of the system and / or method according to the embodiments of the subject matter are now described below merely as examples and with reference to the accompanying drawings. The drawing is shown below: FIG. 1 is a first block diagram illustrating a method for operating a framework to communicate with a heterogeneous processing unit. FIG. 2 is a second block diagram illustrating a method for operating a framework to communicate with a heterogeneous processing unit. FIG. 3 is a third block diagram illustrating a method for operating a framework to communicate with a heterogeneous processing unit. In drawings, identical elements or elements having the same function are indicated by the same drawing symbol. Specific details for implementing the invention

[0007] In this document, the word "exemplary" is used herein to mean "serving as an example, case, or illustration." Any embodiment or implementation of the subject matter described herein as "exemplary" must not be interpreted as being more desirable or advantageous than other embodiments.

[0008] Although various modifications and alternative forms of the invention are possible, specific embodiments thereof are illustrated in the drawings as examples and will be described in detail below. However, the invention is not intended to be limited to the specific forms disclosed, but rather should be understood as encompassing all modifications, equivalents, and substitutions that fall within the scope of the invention.

[0009] The terms “comprises,” “comprises,” or any other variation thereof are intended to encompass non-exclusive inclusions, so that a configuration, apparatus, or method comprising a list of components or steps does not include only said components or steps, but may include other components or steps not explicitly listed or not unique to such configuration, apparatus, or method. In other words, in a system or apparatus preceded by “comprises” (“comprises” or “comprise”), one or more elements do not exclude, without further restriction, the presence of other elements or additional elements in the system or method.

[0010] In the following detailed description of embodiments of the present invention, reference is made to the accompanying drawings, which are illustrated in a manner that forms part of the invention and exemplifies specific embodiments in which the invention can be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it should be understood that other embodiments may be used and modifications may be made without departing from the scope of the invention. The following description should therefore not be taken in a limiting sense.

[0011] FIG. 1 illustrates a first block diagram (B1) illustrating a method for operating a framework (10) to communicate with a heterogeneous processing unit (12).

[0012] In FIG. 1, a sequence of blocks is illustrated, each representing data (D0, D1, D2, Dn) on which a task is to be performed, copied, transmitted to a heterogeneous unit having a heterogeneous task or kernel (K1, K2, K3, Kn), and subsequently forwarded. Each block has an embedded runnable (R1, R2, R3, Rn) representing the processing and encapsulation of the data.

[0013] FIG. 2 is a second block diagram (B2) illustrating a method for operating a framework (10) to communicate with a heterogeneous processing unit (12).

[0014] An instance of the MB operation framework as a framework (10) called the MB_1 runnable will collect data from a buffer stream (14), read the data, perform a copy of the correct data from the CPU to a device (processing unit (12)), initiate a heterogeneous operation, synchronize the heterogeneous device, and read and publish output data from the heterogeneous device. When data is serialized by a parent runnable, the MB_1 runnable serves to deserialize the data. The parent runnable (P1) and the MB_1 runnable can be combined to form an entity called a task (T1) that may have strict time requirements for task execution. Additionally, it may be specified that the task (T1) needs to be completed within a time (t) or a time (t1) in milliseconds.

[0015] Accordingly, the parent runnable (P1) generates information regarding which heterogeneous operation to perform on which data and what needs to be read from the heterogeneous operation unit / processing unit (12). Runnable MB_1 reads information from the buffer stream (14), schedules the operation, reads the output (16) from the heterogeneous operation unit / processing unit (12), and publishes it.

[0016] FIG. 3 is a third block diagram (B3) illustrating a method for operating a framework (10) to communicate with a heterogeneous processing unit (12).

[0017] The buffer stream (14) holds identification IDs and data information necessary to perform computational operations. These IDs may be associated with operations such as reading data from the buffer, copying data to a device, scheduling a kernel on given data, and reading output from a heterogeneous computational unit. The runnable MB_1 chains kernels (K0, K1, ..., Kn) and publishes user request data such as D1, D2, ..., Dn.

[0018] List of drawing symbols

[0019] 10 framework

[0020] 12 Heterogeneous unit

[0021] 14 buffer stream

[0022] 16 output of power

[0023] D0~Dn data

[0024] K1~Kn kernel

[0025] R1~Rn Runnable

[0026] B1~B3 block

[0027] T1 work

[0028] t1 hour

[0029] P1 Parents Runnable

[0030] MB Computation framework

[0031] MB_1 Runnable

[0032] ID discrimination

Claims

Claim 1 A method for operating a framework for communicating with a heterogeneous processing unit and performing a task scheduled on said heterogeneous processing unit, wherein: - data is transmitted to said heterogeneous processing unit and read from therefrom; - heterogeneous tasks to be performed on said same data are chained without the need to re-copy said data to said target device; - a contact is provided for initiation and synchronization with said target device; - a framework Runnable is coupled with a parent Runnable that provides data, assigns a heterogeneous task (kernel) to be performed, and requires output data as a task to ensure that a process deadline is met; and a buffer stream is generated through said parent Runnable containing information on how the task is scheduled and what data will be posted. Claim 2 A method according to claim 1, characterized in that information regarding which heterogeneous task to launch for which data is generated through the parent runnable. Claim 3 A method according to paragraph 2, characterized in that the information regarding which kernel to launch for which data is compressed into a buffer stream object. Claim 4 A method according to any one of claims 1 to 3, characterized in that data in the buffer stream object can be serialized through the parent runnable, a pointer to the data in the buffer stream can be passed, or another mechanism can be used to pass the data. Claim 5 A system for communicating with a heterogeneous processing unit and for operating a framework for performing a task according to any one of claims 1 to 4. Claim 6 A computer program product comprising a program code means for performing a method according to any one of paragraphs 1 to 4. Claim 7 A non-transient computer-readable storage medium comprising the above-mentioned computer program product according to at least paragraph 6.