[go: up one dir, main page]

KR20210094629A - Information processing method, apparatus, electronic device and recording medium - Google Patents

Information processing method, apparatus, electronic device and recording medium Download PDF

Info

Publication number
KR20210094629A
KR20210094629A KR1020217019945A KR20217019945A KR20210094629A KR 20210094629 A KR20210094629 A KR 20210094629A KR 1020217019945 A KR1020217019945 A KR 1020217019945A KR 20217019945 A KR20217019945 A KR 20217019945A KR 20210094629 A KR20210094629 A KR 20210094629A
Authority
KR
South Korea
Prior art keywords
data
storage space
processing
information
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
KR1020217019945A
Other languages
Korean (ko)
Inventor
카이량 천
즈겅 쉬
Original Assignee
상하이 센스타임 인텔리전트 테크놀로지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 상하이 센스타임 인텔리전트 테크놀로지 컴퍼니 리미티드 filed Critical 상하이 센스타임 인텔리전트 테크놀로지 컴퍼니 리미티드
Publication of KR20210094629A publication Critical patent/KR20210094629A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Advance Control (AREA)
  • Multi Processors (AREA)

Abstract

본 발명의 실시예는 정보 처리 방법, 장치, 전자 디바이스 및 기록 매체를 제공하는바, 상기 방법은 CPU가 처리 대기 데이터를 취득하는 것; 처리 대기 데이터에 대해 가상 기억 공간을 할당하는 것; 처리 대기 데이터를 가상 기억 공간에 기억하는 것; 및 가상 기억 공간의 정보가 부가된 데이터 처리 명령을 DSP에 송신하는 것을 포함하되, 데이터 처리 명령은 DSP가 당해 정보에 대응하는 가상 기억 공간으로부터 처리 대기 데이터를 취득하고, 처리 대기 데이터에 대해 처리를 실행하도록 하기 위하여 사용된다.An embodiment of the present invention provides an information processing method, an apparatus, an electronic device and a recording medium, the method comprising: a CPU acquiring data to be processed; allocating virtual storage space for data waiting to be processed; storing data waiting to be processed in a virtual storage space; and sending, to the DSP, a data processing instruction to which information of the virtual storage space is added, wherein the data processing instruction causes the DSP to obtain processing-to-be-processed data from the virtual storage space corresponding to the information, and to perform processing on the processing-to-be-processed data. used to make it work.

Description

정보 처리 방법, 장치, 전자 디바이스 및 기록 매체Information processing method, apparatus, electronic device and recording medium

본 발명은 컴퓨터 기술의 분야에 관한 것인바, 구체적으로는 정보 처리 방법, 장치, 전자 디바이스 및 기록 매체에 관한 것이다.The present invention relates to the field of computer technology, and more particularly, to an information processing method, an apparatus, an electronic device, and a recording medium.

컴퓨터 기술의 지속적인 발전에 따라 처리할 필요가 있는 데이터가 점점 많아지고 있다. 데이터를 처리할 때에, 일반적으로 중앙 처리 장치(central processing unit, CPU)과 디지털 신호 프로세서(디지털 신호 프로세서, DSP)가 제휴하여 완료할 필요가 있다. 그렇지만, DSP는 CPU의 메모리 공간을 직접 액세스할 수 없고, CPU는 마찬가지로 DSP에 의해 열린 공간을 직접 액세스할 수 없다. 현재, 신경망 모델을 이용하여 데이터 처리를 실행하는 과정에서, CPU는 매 조작마다 한번씩 DSP를 호출하기 때문에 DSP의 스케줄링 오버헤드가 상대적으로 커진다.With the continuous development of computer technology, more and more data needs to be processed. When processing data, it is usually necessary for a central processing unit (CPU) and a digital signal processor (Digital Signal Processor, DSP) to work together to complete. However, the DSP cannot directly access the memory space of the CPU, and the CPU likewise cannot directly access the space opened by the DSP. Currently, in the process of executing data processing using a neural network model, the CPU calls the DSP once for every operation, so the scheduling overhead of the DSP becomes relatively large.

본 발명의 실시예는 정보 처리 방법, 장치, 전자 디바이스 및 기록 매체를 제공한다.Embodiments of the present invention provide an information processing method, an apparatus, an electronic device, and a recording medium.

제1 양태는 정보 처리 방법을 제공하는바, 당해 방법은, CPU가 처리 대기 데이터를 취득하는 것; 상기 처리 대기 데이터에 대해 가상 기억 공간을 할당하는 것; 상기 처리 대기 데이터를 상기 가상 기억 공간에 기억하는 것; 및 상기 가상 기억 공간의 정보가 부가된 데이터 처리 명령을 DSP에 송신하는 것을 포함하되, 상기 데이터 처리 명령은, 상기 DSP가 상기 정보에 대응하는 가상 기억 공간으로부터 상기 처리 대기 데이터를 취득하고, 상기 처리 대기 데이터에 대해 처리를 실행하도록 하기 위하여 사용된다.A first aspect provides an information processing method, the method comprising: a CPU acquiring processing standby data; allocating a virtual storage space for the data to be processed; storing the processing standby data in the virtual storage space; and transmitting a data processing instruction to which the information of the virtual storage space is added to the DSP, wherein the data processing instruction is configured such that the DSP acquires the processing standby data from the virtual storage space corresponding to the information, and the processing is performed. It is used to cause processing to be performed on the standby data.

가능한 일 실시 형태에 있어서, 상기 가상 기억 공간은 전자 디바이스의 버퍼 중의 제1 버퍼 공간에 대응하고, 상기 처리 대기 데이터를 상기 가상 기억 공간에 기억하는 것은, CPU가 상기 처리 대기 데이터를 상기 제1 버퍼 공간에 기억하는 것을 포함하고, 상기 DSP가 상기 정보에 대응하는 가상 기억 공간으로부터 상기 처리 대기 데이터를 취득하는 것은, 상기 DSP상기 정보에 대응하는 제1 버퍼 공간으로부터 상기 처리 대기 데이터를 취득하는 것을 포함한다.In one possible embodiment, the virtual storage space corresponds to a first buffer space in a buffer of the electronic device, and the storing of the processing standby data in the virtual storage space means that the CPU stores the processing standby data in the first buffer storing in a space, wherein the DSP acquiring the processing waiting data from the virtual storage space corresponding to the information includes acquiring the processing waiting data from the DSP first buffer space corresponding to the information do.

가능한 일 실시 형태에 있어서, 상기 처리 대기 데이터에 대해 가상 기억 공간을 할당하는 것은, 상기 처리 대기 데이터에 필요한 기억 공간 크기에 기반하여 상기 전자 디바이스의 버퍼에 버퍼 공간을 신청하는 것; 및 상기 전자 디바이스의 버퍼가 반환한 제1 버퍼 공간의 위치 지시 정보에 기반하여 상기 가상 기억 공간의 물리적 기억 위치를 확정하는 것을 포함한다.In one possible embodiment, allocating a virtual storage space for the data waiting to be processed includes: requesting a buffer space in a buffer of the electronic device based on a storage space size required for the data waiting to be processed; and determining a physical storage location of the virtual storage space based on the location indication information of the first buffer space returned by the buffer of the electronic device.

가능한 일 실시 형태에 있어서, 상기 처리 대기 데이터는 적어도 하나의 어레이를 포함하고, 각 어레이는 같은 타입의 데이터를 포함하며, 상기 방법은, 상기 적어도 하나의 어레이 중의 각 어레이에 필요한 기억 공간 크기를 확정하는 것; 및 상기 적어도 하나의 어레이 중의 각 어레이에 필요한 기억 공간 크기에 기반하여 상기 처리 대기 데이터에 필요한 기억 공간 크기를 확정하는 것을 더 포함한다.In one possible embodiment, the data waiting to be processed comprises at least one array, each array comprising data of the same type, the method comprising: determining the amount of storage space required for each one of the at least one array to do; and determining a storage space size required for the data to be processed based on a storage space size required for each of the at least one array.

가능한 일 실시 형태에 있어서, 상기 방법은 상기 적어도 하나의 어레이 중의 각 어레이에 필요한 기억 공간 크기에 기반하여 상기 적어도 하나의 어레이 중의 각 어레이의 상기 가상 기억 공간 중의 오프셋량을 확정하는 것을 더 포함한다.In one possible embodiment, the method further comprises determining an offset amount in the virtual storage space of each array of the at least one array based on a storage space size required for each array of the at least one array.

가능한 일 실시 형태에 있어서, 상기 방법은 상기 처리 대기 데이터의 데이터량 및 상기 처리 대기 데이터에 대응하는 결과 데이터량에 기반하여, 상기 처리 대기 데이터에 필요한 기억 공간 크기를 확정하는 것을 더 포함한다.In one possible embodiment, the method further comprises determining a storage space size required for the data waiting to be processed, based on a data amount of the data waiting to be processed and an amount of result data corresponding to the data waiting to be processed.

가능한 일 실시 형태에 있어서, 상기 처리 대기 데이터에 필요한 기억 공간 크기에 기반하여 상기 전자 디바이스의 버퍼에 버퍼 공간을 신청하는 것은, 상기 처리 대기 데이터에 필요한 기억 공간 크기의 정보가 부가되어 있는, 버퍼 공간을 신청하기 위한 요구를 상기 전자 디바이스의 버퍼에 송신하는 것; 및 상기 제1 버퍼 공간의 기본 주소를 지시하기 위한 상기 버퍼로부터의 위치 지시 정보를 수신하는 것을 포함한다.In one possible embodiment, the request for a buffer space in the buffer of the electronic device based on the storage space size required for the processing waiting data includes information of the storage space size required for the processing waiting data is added. sending a request to subscribe to a buffer of the electronic device; and receiving location indication information from the buffer for indicating the base address of the first buffer space.

가능한 일 실시 형태에 있어서, 상기 처리 대기 데이터는 신경망 중의 네트워크 계층의 네트워크 파라미터 및 입력 데이터이다.In one possible embodiment, the data to be processed are network parameters and input data of a network layer in the neural network.

제2 양태는 다른 일 정보 처리 방법을 제공하는바, 당해 방법은 DSP가 가상 기억 공간의 정보가 부가된 CPU로부터의 데이터 처리 명령을 수신하는 것; 상기 정보에 대응하는 가상 기억 공간으로부터 처리 대기 데이터를 취득하는 것; 및 상기 처리 대기 데이터에 대해 처리를 실행하는 것을 포함한다.The second aspect provides another information processing method, the method comprising: receiving, by the DSP, a data processing instruction from a CPU to which information of a virtual storage space is added; acquiring data to be processed from the virtual storage space corresponding to the information; and executing processing on the processing waiting data.

가능한 일 실시 형태에 있어서, 상기 정보에 대응하는 가상 기억 공간은 전자 디바이스의 버퍼 중의 제1 버퍼 공간에 대응하고, 상기 정보에 대응하는 가상 기억 공간으로부터 처리 대기 데이터를 취득하는 것은, 상기 정보에 대응하는 제1 버퍼 공간으로부터 처리 대기 데이터를 취득하는 것을 포함한다.In one possible embodiment, the virtual storage space corresponding to the information corresponds to a first buffer space in a buffer of the electronic device, and acquiring data to be processed from the virtual storage space corresponding to the information corresponds to the information and acquiring processing waiting data from the first buffer space.

가능한 일 실시 형태에 있어서, 상기 방법은, 상기 처리 대기 데이터의 처리 결과를 상기 정보에 대응하는 제1 버퍼 공간에 기억하는 것을 더 포함한다.In one possible embodiment, the method further comprises storing a processing result of the processing waiting data in a first buffer space corresponding to the information.

가능한 일 실시 형태에 있어서, 상기 처리 대기 데이터는 신경망 중의 네트워크 계층의 네트워크 파라미터 및 입력 데이터이다.In one possible embodiment, the data to be processed are network parameters and input data of a network layer in the neural network.

제3 양태는 정보 처리 장치를 제공하는바, 당해 장치는 처리 대기 데이터를 취득하기 위한 취득 유닛; 상기 처리 대기 데이터에 대해 가상 기억 공간을 할당하기 위한 할당 유닛; 상기 처리 대기 데이터를 상기 가상 기억 공간에 기억하기 위한 기억 유닛; 및 상기 가상 기억 공간의 정보가 부가된 데이터 처리 명령을 DSP에 송신하기 위한 송신 유닛을 구비하되, 상기 데이터 처리 명령은, 상기 DSP가 상기 정보에 대응하는 가상 기억 공간으로부터 상기 처리 대기 데이터를 취득하고, 상기 처리 대기 데이터에 대해 처리를 실행하도록 하기 위하여 사용된다.A third aspect provides an information processing apparatus, comprising: an acquisition unit for acquiring processing standby data; an allocation unit for allocating a virtual storage space for the data to be processed; a storage unit for storing the processing standby data in the virtual storage space; and a sending unit for sending a data processing instruction to which the information of the virtual storage space is added to the DSP, wherein the data processing instruction is such that the DSP acquires the processing waiting data from the virtual storage space corresponding to the information, and , is used to execute processing on the processing waiting data.

제4 양태는 다른 일 정보 처리 장치를 제공하는바, 당해 장치는 가상 기억 공간의 정보가 부가된, CPU로부터의 데이터 처리 명령을, 수신하기 위한 수신 유닛; 상기 정보에 대응하는 가상 기억 공간으로부터 처리 대기 데이터를 취득하기 위한 취득 유닛; 및 상기 처리 대기 데이터에 대해 처리를 실행하기 위한 처리 유닛을 구비한다.A fourth aspect provides another information processing apparatus, comprising: a receiving unit for receiving a data processing instruction from a CPU to which information of a virtual storage space is added; an acquisition unit for acquiring processing standby data from the virtual storage space corresponding to the information; and a processing unit for executing processing on the processing standby data.

제5 양태는 정보 처리 장치를 제공하는바, 당해 장치는 프로세서와 메모리를 구비하며, 상기 메모리는 컴퓨터 판독 가능 명령을 기억하고, 프로세서는 상기 메모리에 기억된 상기 컴퓨터 판독 가능 명령을 호출하여 제1 양태 또는 제1 양태 중 임의의 가능한 일 실시 형태에 의해 제공되는 정보 처리 방법을 실행한다.A fifth aspect provides an information processing apparatus, the apparatus comprising a processor and a memory, the memory storing computer readable instructions, and the processor calling the computer readable instructions stored in the memory to provide a first Implementing the information processing method provided by the aspect or any one possible embodiment of the first aspect.

제6 양태는 정보 처리 장치를 제공하는바, 당해 장치는 프로세서와 메모리를 구비하며, 상기 메모리는 컴퓨터 판독 가능 명령을 기억하고, 프로세서는 상기 메모리에 기억된 상기 컴퓨터 판독 가능 명령을 호출하여 제2 양태 또는 제2 양태 중 임의의 가능한 일 실시 형태에 의해 제공되는 정보 처리 방법을 실행한다.A sixth aspect provides an information processing apparatus, the apparatus comprising a processor and a memory, the memory storing computer readable instructions, and the processor calling the computer readable instructions stored in the memory to obtain a second Implementing the information processing method provided by any possible embodiment of the aspect or the second aspect.

제7 양태는 전자 디바이스를 제공하는바, 당해 전자 디바이스는 제5 양태에 의해 제공되는 정보 처리 장치와 제6 양태에 의해 제공되는 정보 처리 장치를 구비하거나, 또는 제3 양태에 의해 제공되는 정보 처리 장치와 제4 양태에 의해 제공되는 정보 처리 장치를 구비한다.A seventh aspect provides an electronic device, wherein the electronic device includes the information processing apparatus provided by the fifth aspect and the information processing apparatus provided by the sixth aspect, or the information processing provided by the third aspect an apparatus and an information processing apparatus provided by the fourth aspect.

제8 양태는 판독 가능 기록 매체를 제공하는바, 당해 판독 가능 기록 매체에는 컴퓨터 프로그램이 기억되어 있으며, 당해 컴퓨터 프로그램은 프로그램 코드를 포함하고, 당해 프로그램 코드가 프로세서에 의해 실행될 때에, 당해 프로세서가 제1 양태 또는 제1 양태 중 임의의 가능한 일 실시 형태에 의해 제공되는 정보 처리 방법 또는 제2 양태 또는 제2 양태 중 임의의 가능한 일 실시 형태에 의해 제공되는 정보 처리 방법을 실행하도록 한다.An eighth aspect provides a readable recording medium, wherein a computer program is stored in the readable recording medium, the computer program including the program code, and when the program code is executed by a processor, the processor to execute the information processing method provided by the first aspect or any one possible embodiment of the first aspect or the information processing method provided by the second aspect or any one possible embodiment of the second aspect.

제9양태는 컴퓨터 프로그램 제품을 제공하는바, 당해 컴퓨터 프로그램 제품은 운행될 때에, 제1 양태 또는 제1 양태 중 임의의 가능한 일 실시 형태에 의해 제공되는 정보 처리 방법 또는 제2 양태 또는 제2 양태 중 임의의 가능한 일 실시 형태에 의해 제공되는 정보 처리 방법을 실행한다.A ninth aspect provides a computer program product, wherein the computer program product, when run, is an information processing method or second or second aspect provided by the first aspect or any possible one of the first aspects. The information processing method provided by any one possible embodiment of

본 발명의 실시예에 있어서, CPU가 처리 대기 데이터를 취득하고, 처리 대기 데이터에 대해 가상 기억 공간을 할당하며, 처리 대기 데이터를 가상 기억 공간에 기억하고, 가상 기억 공간의 정보가 부가된 데이터 처리 명령을 DSP에 송신하되, 여기서 데이터 처리 명령은 DSP가 당해 정보에 대응하는 가상 기억 공간으로부터 처리 대기 데이터를 취득하고, 처리 대기 데이터에 대해 처리를 실행하도록 하기 위하여 사용된다. 이렇게 함으로써, CPU가 가상 기억 공간을 통해 복수의 조작에 대응하는 데이터를 한번에 DSP에 송신할 수 있으며, DSP의 스케줄링 오버헤드를 줄이고, 정보 처리 효율을 향상시킬 수 있다.In the embodiment of the present invention, the CPU acquires the processing standby data, allocates a virtual storage space for the processing standby data, stores the processing standby data in the virtual storage space, and processes the data to which the information of the virtual storage space is added. send an instruction to the DSP, wherein the data processing instruction is used to cause the DSP to obtain data to be processed from the virtual storage space corresponding to the information and to execute processing on the data to be processed. By doing so, the CPU can transmit data corresponding to a plurality of operations to the DSP at once through the virtual storage space, thereby reducing the scheduling overhead of the DSP and improving the information processing efficiency.

도 1은 본 발명의 실시예에 의해 제공되는 하나의 전자 디바이스를 나타내는 모식도이다.
도 2는 본 발명의 실시예에 의해 제공되는 하나의 정보 처리 방법의 플로우를 나타내는 모식도이다.
도 3은 본 발명의 실시예에 의해 제공되는 또 다른 하나의 정보 처리 방법의 플로우를 나타내는 모식도이다.
도 4는 본 발명의 실시예에 의해 제공되는 다른 하나의 정보 처리 방법의 플로우를 나타내는 모식도이다.
도 5는 본 발명의 실시예에 의해 제공되는 다른 하나의 정보 처리 방법의 플로우를 나타내는 모식도이다.
도 6은 본 발명의 실시예에 의해 제공되는 하나의 정보 처리 장치의 구성을 나타내는 모식도이다.
도 7은 본 발명의 실시예에 의해 제공되는 또 다른 하나의 정보 처리 장치의 구성을 나타내는 모식도이다.
도 8은 본 발명의 실시예에 의해 제공되는 다른 하나의 정보 처리 장치의 구성을 나타내는 모식도이다.
1 is a schematic diagram showing one electronic device provided by an embodiment of the present invention.
Fig. 2 is a schematic diagram showing the flow of one information processing method provided by the embodiment of the present invention.
3 is a schematic diagram showing a flow of another information processing method provided by an embodiment of the present invention.
4 is a schematic diagram showing the flow of another information processing method provided by the embodiment of the present invention.
5 is a schematic diagram showing the flow of another information processing method provided by the embodiment of the present invention.
6 is a schematic diagram showing the configuration of one information processing apparatus provided by the embodiment of the present invention.
Fig. 7 is a schematic diagram showing the configuration of another information processing apparatus provided by the embodiment of the present invention.
Fig. 8 is a schematic diagram showing the configuration of another information processing apparatus provided by the embodiment of the present invention.

본 발명의 실시예는 데이터 처리 효율을 향상시키기 위한 정보 처리 방법, 장치, 전자 디바이스 및 기록 매체를 제공한다. 이하, 각각 상세하게 설명한다.Embodiments of the present invention provide an information processing method, apparatus, electronic device and recording medium for improving data processing efficiency. Hereinafter, each will be described in detail.

현재, 신경망 모델의 데이터 처리에서는 DSP(예를 들면, hexagon)이 상대적으로 널리 사용되고 있는바, 높은 계산 성능과 저소비 전력이라는 이점이 있다. 그렇지만, DSP의 사용에는 별도로 고려할 필요가 있는 문제가 많이 있다.Currently, DSP (eg, hexagon) is relatively widely used in data processing of neural network models, and has advantages of high computational performance and low power consumption. However, there are many issues that need to be considered separately in the use of DSP.

예를 들면, DSP는 CPU의 메모리 공간을 직접 액세스할 수 없다. 마찬가지로, CPU도 DSP에 의해 열린 공간을 직접 액세스할 수 없다. DSP와 CPU가 데이터를 교환할 필요가 있을 경우, ION 버퍼(ION Buffer)을 통해 어드레스 공간을 할당할 필요가 있다. 예를 들면, CPU가 DSP를 호출할 필요가 있을 경우, 빠른 원격 프로시저 호출(Fast Remote Procedure Call, FastRPC) 메커니즘을 통해, 이번 호출하는 CPU가 DSP에 전송하려고 하는 데이터만을 ION Buffer에 의해 분배된 어드레스 공간에 매핑한다. 그렇지만, 일 회의 DSP의 호출로 매핑 생기는 어드레스 공간의 수량에는 한계가 있으며, 또한 이번 호출로 특정 어드레스 공간이 매핑되지 않고 있을 경우, 이전에 당해 어드레스 공간이 매핑한 적이 있어도, DSP는 당해 어드레스 공간의 데이터를 정확하게 액세스할 수 없다.For example, the DSP cannot directly access the CPU's memory space. Likewise, the CPU cannot directly access the space opened by the DSP. When the DSP and CPU need to exchange data, it is necessary to allocate an address space through the ION buffer. For example, when the CPU needs to call the DSP, through the Fast Remote Procedure Call (FastRPC) mechanism, only the data that the calling CPU wants to send to the DSP is distributed by the ION Buffer. map to the address space. However, there is a limit to the number of address spaces that can be mapped in one DSP call, and if a specific address space is not mapped in this call, even if the address space has been mapped before, the DSP will Data cannot be accessed correctly.

DSP와 CPU가 모두 신경망 모델의 데이터 처리에 적용될 경우, 신경망 모델 중의 각 조작은 DSP를 일 회 호출할 필요가 있다. 따라서, 신경망 모델의 심층이 상대적으로 깊을 경우, CPU는 DSP에 대한 일 회의 호출로 데이터 처리에 필요한 모든 데이터를 전송할 수 없으며, DSP에 대해 복수 회의 호출을 실행할 필요가 있다. 그렇지만, DSP를 반복적으로 호출하면, 매우 큰 오버헤드가 발생한다. 또한, DSP를 매회 호출할 때마다, ION Buffer에 매핑된 어드레스 공간이 서로 다를 가능성이 있기에, DSP가 전회의 호출에 의해 매핑된 어드레스 공간의 데이터를 정확하게 액세스할 수 없다.When both DSP and CPU are applied to data processing of a neural network model, each operation in the neural network model needs to call the DSP once. Therefore, when the depth of the neural network model is relatively deep, the CPU cannot transmit all the data necessary for data processing in one call to the DSP, and it is necessary to execute multiple calls to the DSP. However, if the DSP is called repeatedly, a very large overhead occurs. Also, each time the DSP is called, there is a possibility that the address space mapped to the ION Buffer is different, so that the DSP cannot correctly access the data in the address space mapped by the previous call.

이를 감안하여, 본 발명은 신경망 모델에 적용할 수 있는 정보 처리 방법을 제안한다. 당해 방법에 따르면, CPU에 의해 하나의 가상 기억 공간을 유지할 수 있고, 당해 가상 기억 공간에는 DSP가 신경망 모델의 데이터 처리를 실행하기 위하여 필요한 정보 (예를 들면, 가중치 파라미터 및 입력 데이터)이 기억되어 있으며, 또한 당해 가상 기억 공간은 DSP에 의해 공유할 수 있다. 이러한 방법을 통해, CPU는 일 회 또는 한정된 회수의 호출을 통해, DSP가 신경망 모델의 데이터 처리의 전체를 실행하는 데에 필요한 모든 데이터를 DSP에 전송할 수 있으며, DSP 호출에 의한 오버헤드를 최소한으로 억제했다.In view of this, the present invention proposes an information processing method applicable to a neural network model. According to the method, one virtual storage space can be maintained by the CPU, and information (eg, weight parameters and input data) necessary for the DSP to execute data processing of the neural network model is stored in the virtual storage space. Also, the virtual storage space can be shared by DSPs. In this way, the CPU can send all the data necessary for the DSP to execute the entire data processing of the neural network model to the DSP, in one or a limited number of calls, and the overhead of the DSP calls is minimized. restrained

도 1을 참조하면, 도 1은 본 발명의 실시예가 적용되는 하나의 전자 디바이스를 나타내는 모식도이다. 도 1에 나타낸 바와 같이, 전자 디바이스는 CPU(101); DSP(102); 및 버퍼(103)를 구비할 수 있다. CPU(101)는 데이터가 부가된 운행 명령을 수신하고, 수신된 운행 명령에 기반하여 DSP(102)를 스케줄링한다. DSP(102)는 CPU(101)의 스케줄링에 응답하여, 데이터에 대해 처리를 실행한다. 버퍼(103)는 데이터를 버퍼링한다. 옵션으로서, 당해 버퍼(103)는 ION 버퍼 또는 CPU와 DSP에 의해 액세스될 수 있는 기타 버퍼 또는 기억 모듈일 수 있다.Referring to FIG. 1 , FIG. 1 is a schematic diagram illustrating one electronic device to which an embodiment of the present invention is applied. As shown in Fig. 1, the electronic device includes: a CPU 101; DSP 102; and a buffer 103 . The CPU 101 receives a driving command to which data is added, and schedules the DSP 102 based on the received driving command. The DSP 102 executes processing on the data in response to the scheduling of the CPU 101 . The buffer 103 buffers data. Optionally, the buffer 103 may be an ION buffer or other buffer or storage module that can be accessed by the CPU and DSP.

도 2를 참조하면, 도 2는 본 발명의 실시예에 의해 제공되는 하나의 정보 처리 방법의 플로우를 나타내는 모식도이다. 당해 방법은 도 1에 나타낸 전자 디바이스에 적용될 수 있다. 여기서, 당해 정보 처리 방법은 CPU의 관점으로부터 설명된다. 도 2에 나타낸 바와 같이, 당해 정보 처리 방법은 이하의 단계를 포함할 수 있다.Referring to Fig. 2, Fig. 2 is a schematic diagram showing a flow of one information processing method provided by an embodiment of the present invention. The method can be applied to the electronic device shown in FIG. 1 . Here, the information processing method is described from the CPU point of view. As shown in FIG. 2 , the information processing method may include the following steps.

201에 있어서, 처리 대기 데이터를 취득한다.In 201, processing standby data is acquired.

CPU는 처리 대기 데이터가 부가된 운행 명령을 취득하고, 당해 운행 명령에 기반하여 DSP에 대해 스케줄링을 실행할 수 있다. 당해 운행 명령은 사용자에 의해 입력된 것일 수도 있고, CPU가 속하는 전자 디바이스에 의해 생성된 것일 수도 있으며, 기타 전자 디바이스 또는 서버에 의해 송신된 것일 수도 있다. 처리 대기 데이터는 신경망 중의 네트워크 계층의 네트워크 파라미터 및 입력 데이터일 수 있고, 당해 네트워크 계층의 층의 수는 1보다 크다. 처리 대기 데이터는 DSP만이 처리하는 기타 데이터 또는 CPU와 DSP가 같이 처리할 필요가 있는 데이터일 수 있다.The CPU may acquire a driving command to which processing standby data is added, and perform scheduling to the DSP based on the driving command. The driving command may be input by a user, generated by an electronic device to which the CPU belongs, or transmitted by other electronic devices or servers. The data to be processed may be input data and network parameters of a network layer in the neural network, and the number of layers in the network layer is greater than one. The data waiting to be processed may be other data that only the DSP processes or data that the CPU and DSP need to process together.

202에 있어서, 처리 대기 데이터에 대해 가상 기억 공간을 할당한다.In step 202, a virtual storage space is allocated for data to be processed.

CPU는 처리 대기 데이터를 취득한 후, 처리 대기 데이터에 대해 가상 기억 공간을 할당한다. 처리 대기 데이터에 필요한 기억 공간 크기에 기반하여 전자 디바이스의 버퍼에 버퍼 공간을 신청한 후, 전자 디바이스의 버퍼가 반환한 제1 버퍼 공간의 위치 지시 정보에 기반하여 가상 기억 공간에 대응하는 물리적 기억 위치를 확정할 수 있다. 여기서, 전자 디바이스의 버퍼는 CPU가 속하는 전자 디바이스 중의 버퍼이며, 당해 버퍼는 CPU와 DSP에 의해 액세스할 수 있다. 당해 버퍼는 ION 버퍼 또는 CPU와 DSP에 의해 액세스할 수 있는 기타 버퍼일 수 있다.After the CPU acquires the processing standby data, the CPU allocates a virtual storage space for the processing standby data. After applying for a buffer space to the buffer of the electronic device based on the size of the storage space required for the data to be processed, the physical storage location corresponding to the virtual storage space based on the location indication information of the first buffer space returned by the buffer of the electronic device can be confirmed. Here, the buffer of the electronic device is a buffer in the electronic device to which the CPU belongs, and the buffer can be accessed by the CPU and the DSP. The buffer may be an ION buffer or other buffer accessible by the CPU and DSP.

CPU는 먼저 버퍼 공간을 신청하기 위한 요구(신청 명령 등)을 전자 디바이스 중의 버퍼에 송신할 수 있고, 당해 요구에는 처리 대기 데이터에 필요한 기억 공간 크기의 정보가 부가될 수 있다. 버퍼는 CPU로부터의 요구를 수신한 후, 버퍼의 여유 버퍼 공간에서 제1 버퍼 공간을 선택할 수 있고, 제1 버퍼 공간의 크기는 처리 대기 데이터에 필요한 기억 공간 크기와 마찬가지이다. 또한, 버퍼는 제1 버퍼 공간에 대해, 제1 버퍼 공간을 나타낸 포인터 등의 위치 지시 정보를 할당한 후, CPU에 당해 위치 지시 정보를 반환한다. CPU는 버퍼로부터의 제1 버퍼 공간의 위치 지시 정보를 수신한 후, 처리 대기 데이터에 필요한 기억 공간 크기에 기반하여 가상 기억 공간을 생성하고, 가상 기억 공간에 대해 기본 주소를 할당하며, 가상 기억 공간의 기본 주소와 당해 위치 지시 정보 사이의 대응 관계를 구축할 수 있다. 여기서, 처리 대기 데이터에 필요한 기억 공간 크기에 기반하여 가상 기억 공간을 생성하고, 가상 기억 공간에 대해 기본 주소를 할당하는 하는 것은, 버퍼 공간을 신청하기 위한 요구를 전자 디바이스 중의 버퍼에 송신하기 전에 실행할 수도 있다. 버퍼 공간을 신청하기 위한 요구를 전자 디바이스 중의 버퍼에 송신하기 전에, 사전에 처리 대기 데이터에 필요한 기억 공간 크기에 기반하여 가상 기억 공간을 생성하고, 또한 가상 기억 공간에 대해 기본 주소를 할당했을 경우, 당해 요구에 가상 기억 공간의 기본 주소가 부가될 수도 있다. 이 경우, 버퍼는 당해 위치 지시 정보와 가상 기억 공간의 기본 주소 사이의 대응 관계를 구축할 수 있다. CPU는 버퍼로부터의 제1 버퍼 공간을 지시하는 위치 지시 정보를 수신한 후, 가상 기억 공간의 기본 주소와 당해 위치 지시 정보 사이의 대응 관계를 구축하지 않을 수도 있다. 여기서, 제1 버퍼 공간의 위치 지시 정보는 제1 버퍼 공간의 기본 주소를 지시하기 위하여 사용된다. 이로부터 알 수 있듯이, 가상 기억 공간을 이용하여, 복수의 조작을 포함하는 처리 대기 데이터가, 버퍼 중의 포인터 등의 하나의 위치 지시 정보에 대응하도록 할 수 있다. 이렇게 함으로써, 가상 기억 공간을 이용하여, 복수의 조작을 포함하는 데이터를 DSP에 한번에 모두 공유할 수 있는바, 정보 처리 효율을 향상시킬 수 있다. 한편, 제1 버퍼 공간이 처리 대기 데이터에 필요한 기억 공간 크기에 기반하여 신청한 것이기 때문에, 적당한 버퍼 공간을 신청할 수 있으며, 너무 많은 버퍼 공간이 신청되어 버퍼 공간이 낭비되는 것을 피면할 수 있으며, 또한 너무 적은 버퍼 공간이 신청되어 처리 대기 데이터에 대해 버퍼 처리를 실행할 수 없게 되는 것을 피면할 수 있다.The CPU may first transmit a request (application instruction, etc.) for requesting a buffer space to the buffer in the electronic device, and information on the storage space size required for the data to be processed may be added to the request. After receiving the request from the CPU, the buffer may select the first buffer space from the free buffer space of the buffer, and the size of the first buffer space is the same as the size of the storage space required for data to be processed. Further, the buffer allocates position indication information such as a pointer indicating the first buffer space to the first buffer space, and then returns the position indication information to the CPU. After receiving the location indication information of the first buffer space from the buffer, the CPU creates a virtual storage space based on the storage space size required for the data to be processed, allocates a base address for the virtual storage space, and It is possible to establish a correspondence relationship between the base address of , and the corresponding location indication information. Here, creating the virtual storage space based on the storage space size required for the data to be processed and allocating a base address for the virtual storage space is performed before sending a request for requesting the buffer space to the buffer in the electronic device. may be When, before sending a request for requesting a buffer space to the buffer in the electronic device, a virtual storage space is created in advance based on the storage space size required for data to be processed, and a base address is allocated for the virtual storage space; The base address of the virtual storage space may be appended to the request. In this case, the buffer can establish a correspondence relationship between the position indication information and the base address of the virtual storage space. After receiving the location indication information indicating the first buffer space from the buffer, the CPU may not establish a correspondence between the base address of the virtual storage space and the location indication information. Here, the location indication information of the first buffer space is used to indicate the base address of the first buffer space. As can be seen from this, by using the virtual storage space, it is possible to make the processing standby data including a plurality of operations correspond to one piece of position indication information such as a pointer in the buffer. In this way, data including a plurality of operations can be shared all at once with the DSP using the virtual storage space, so that the information processing efficiency can be improved. On the other hand, since the first buffer space is requested based on the size of the storage space required for the data to be processed, it is possible to apply for an appropriate buffer space, avoiding wasted buffer space due to too much buffer space being requested, and also It can be avoided that too little buffer space is claimed, making it impossible to execute buffer processing for data waiting to be processed.

203에 있어서, 처리 대기 데이터를 가상 기억 공간에 기억한다.In step 203, the processing standby data is stored in the virtual storage space.

CPU는 처리 대기 데이터에 대해 가상 기억 공간을 할당한 후, 처리 대기 데이터를 가상 기억 공간에 기억할 수 있는바, 즉, 처리 대기 데이터를 가상 기억 공간에 대응하는 제1 버퍼 공간에 기억할 수 있다.After allocating the virtual storage space to the processing standby data, the CPU may store the processing standby data in the virtual storage space, that is, the processing standby data may be stored in the first buffer space corresponding to the virtual storage space.

204에 있어서, 가상 기억 공간의 정보가 부가된 데이터 처리 명령을 DSP에 송신한다.In step 204, a data processing instruction to which information of the virtual storage space is added is transmitted to the DSP.

CPU처리 대기 데이터를 가상 기억 공간에 기억한 후, 가상 기억 공간의 정보가 부가된 데이터 처리 명령을 DSP에 송신함으로써, DSP가 가상 기억 공간의 정보에 대응하는 가상 기억 공간으로부터 처리 대기 데이터를 취득하고, 처리 대기 데이터에 대해 처리를 실행하도록 할 수 있다. CPU는 미리 설정된 함수 라이브러리를 호출하고, 가상 기억 공간의 정보가 부가된 데이터 처리 명령을 DSP에 송신할 수 있다. 미리 설정된 함수 라이브러리는 FastRPC등과 같은 DSP를 호출하기 위하여 사용되는 함수 라이브러리이다. 가상 기억 공간의 정보는 가상 기억 공간의 기본 주소를 포함할 수 있다.After storing the CPU processing standby data in the virtual storage space, by sending a data processing instruction to which the information of the virtual storage space is added to the DSP, the DSP acquires the processing standby data from the virtual storage space corresponding to the information in the virtual storage space, , it is possible to execute processing on data waiting to be processed. The CPU may call a preset function library and send a data processing instruction to which information of the virtual storage space is added to the DSP. The preset function library is a function library used to call DSP such as FastRPC. The information of the virtual memory space may include a base address of the virtual memory space.

도 2에서 설명한 정보 처리 방법에 있어서, CPU는 가상 기억 공간을 이용하여 복수의 조작 데이터를 한번에 DSP에 공유할 수 있고, 이 과정에서 일 회의 DSP 스케줄링만이 필요하기 때문에, DSP의 스케줄링 오버헤드를 줄이고, 정보 처리 효율을 향상시킬 수 있다.In the information processing method described in FIG. 2, the CPU can share a plurality of manipulation data to the DSP at a time by using the virtual memory space, and in this process, only one DSP scheduling is required, so the scheduling overhead of the DSP is reduced. and improve information processing efficiency.

도 3을 참조하면, 도 3은 본 발명의 실시예에 의해 제공되는 또 다른 하나의 정보 처리 방법의 플로우를 나타내는 모식도이다. 여기서, 당해 정보 처리 방법은 CPU의 관점으로부터 설명된다. 도 3에 나타낸 바와 같이, 당해 정보 처리 방법은 이하의 단계를 포함할 수 있다.Referring to FIG. 3, FIG. 3 is a schematic diagram showing a flow of another information processing method provided by an embodiment of the present invention. Here, the information processing method is described from the CPU point of view. As shown in FIG. 3 , the information processing method may include the following steps.

301에 있어서, 처리 대기 데이터를 취득한다.In 301, processing standby data is acquired.

여기서, 단계 301은 단계 201과 같으므로, 상세한 설명은 단계 201을 참고할 수 있는바, 여기에서는 반복적으로 설명하지 않는다.Here, since step 301 is the same as step 201, reference may be made to step 201 for a detailed description, which will not be repeated herein.

302에 있어서, 처리 대기 데이터에 필요한 기억 공간 크기를 확정한다.In 302, a size of a storage space required for data to be processed is determined.

CPU는 처리 대기 데이터를 취득한 후, 처리 대기 데이터에 필요한 기억 공간 크기를 확정할 수 있다. 몇몇의 실시예에 있어서, 먼저, 처리 대기 데이터에 포함되어 있는 적어도 하나의 어레이 중의 각 어레이에 필요한 기억 공간 크기를 확정한 후, 적어도 하나의 어레이 중의 각 어레이에 필요한 기억 공간 크기에 기반하여 처리 대기 데이터에 필요한 기억 공간 크기를 확정할 수 있는바, 즉, 적어도 하나의 어레이 중의 각 어레이에 필요한 기억 공간 크기의 합계를 처리 대기 데이터에 대해 필요한 기억 공간 크기로 확정할 수 있다. 여기서, 각 어레이는 같은 타입의 데이터를 포함한다.After acquiring the processing standby data, the CPU may determine the storage space size required for the processing standby data. In some embodiments, first, a size of a storage space required for each of the at least one array included in the data to be processed is determined, and then the amount of storage space required for each of the at least one array is determined based on the size of the storage space required for each of the at least one array. The size of the storage space required for data can be determined, that is, the sum of the storage space sizes required for each of the at least one array can be determined as the storage space size required for the data to be processed. Here, each array contains the same type of data.

몇몇의 실시예에 있어서, 처리 대기 데이터의 데이터량 및 처리 대기 데이터에 대응하는 결과 데이터량 (즉, 처리 대기 데이터에 대응하는 결과 데이터의 데이터량임)에 기반하여 처리 대기 데이터에 필요한 기억 공간 크기를 확정할 수 있는바, 즉, 처리 대기 데이터의 데이터량과 처리 대기 데이터에 대응하는 결과 데이터량의 합계를 처리 대기 데이터에 필요한 기억 공간 크기로 확정할 수 있다. 당해 결과 데이터량은 처리 대기 데이터에 관계되는 처리 파라미터에 기반하여 미리 확정할 수 있다.In some embodiments, the amount of storage space required for the data waiting to be processed is determined based on the data amount of the data waiting to be processed and the amount of result data corresponding to the data waiting to be processed (that is, the data amount of the result data corresponding to the data waiting to be processed). It can be determined, that is, the sum of the data amount of the data to be processed and the amount of result data corresponding to the data to be processed can be determined as the storage space size required for the data to be processed. The result data amount can be determined in advance based on a processing parameter related to the processing waiting data.

몇몇의 실시예에 있어서, 또한 먼저 처리 대기 데이터에 포함되어 있는 적어도 하나의 어레이 중의 각 어레이의 데이터량 및 각 어레이에 대응하는 결과 데이터량을 확정한 후, 적어도 하나의 어레이 중의 각 어레이의 데이터량 및 각 어레이에 대응하는 결과 데이터량에 기반하여, 적어도 하나의 어레이 중의 각 어레이에 필요한 기억 공간 크기를 확정할 수 있다. 즉, 먼저 각 어레이에 포함되어 있는 데이터에 필요한 기억 공간 크기 및 당해 어레이에 포함되어 있는 데이터에 대응하는 결과에 필요한 기억 공간 크기를 계산한 후, 각 어레이에 포함되어 있는 데이터에 필요한 기억 공간 크기 및 당해 어레이에 포함되어 있는 데이터에 대응하는 결과에 필요한 기억 공간 크기의 합계에 기반하여 각 어레이에 필요한 기억 공간 크기를 얻을 수 있다.In some embodiments, further, after first determining the data amount of each array in the at least one array and the result data amount corresponding to each array included in the data waiting to be processed, the data amount of each array in the at least one array and a size of a storage space required for each of the at least one array may be determined based on the amount of result data corresponding to each array. That is, first, the amount of storage space required for data included in each array and the amount of storage space required for a result corresponding to the data included in the array are calculated, and then the size of storage space required for data included in each array and The storage space size required for each array can be obtained based on the sum of the storage space sizes required for results corresponding to data included in the array.

303에 있어서, 처리 대기 데이터에 필요한 기억 공간 크기에 기반하여 처리 대기 데이터에 대해 가상 기억 공간을 할당한다.In step 303, a virtual storage space is allocated for the data to be processed based on the size of the storage space required for the data to be processed.

여기서, 단계 303은 단계 202와 같으므로, 상세한 설명은 단계 202를 참고할 수 있는바, 여기에서는 반복적으로 설명하지 않는다. 한편, CPU는 또한 적어도 하나의 어레이 중의 각 어레이에 필요한 기억 공간 크기에 기반하여 적어도 하나의 어레이 중의 각 어레이의 가상 기억 공간 중의 오프셋량을 확정할 수 있다. 그 후에, 기본 주소 및 오프셋량에 기반하여 가상 기억 공간에 데이터를 기입할 수 있다.Here, since step 303 is the same as step 202, reference may be made to step 202 for a detailed description, which will not be repeated herein. Meanwhile, the CPU may also determine the offset amount in the virtual storage space of each array in the at least one array based on the size of the storage space required for each array in the at least one array. After that, data can be written into the virtual storage space based on the base address and the offset amount.

304에 있어서, 처리 대기 데이터를 가상 기억 공간에 기억한다.In step 304, the processing standby data is stored in the virtual storage space.

여기서, 단계 304는 단계 203과 같으므로, 상세한 설명은 단계 203을 참고할 수 있는바, 여기에서는 반복적으로 설명하지 않는다.Here, since step 304 is the same as step 203, reference may be made to step 203 for a detailed description, which will not be repeated herein.

305에 있어서, 가상 기억 공간의 정보가 부가된 데이터 처리 명령을 DSP에 송신한다.In step 305, a data processing instruction to which information of the virtual storage space is added is transmitted to the DSP.

여기서, 단계 305는 단계 204와 같으므로, 상세한 설명은 단계 204를 참고할 수 있는바, 여기에서는 반복적으로 설명하지 않는다.Here, since step 305 is the same as step 204, reference may be made to step 204 for a detailed description, which will not be repeated herein.

도 3에서 설명한 정보 처리 방법에 있어서, CPU는 가상 기억 공간을 이용하여 복수의 조작을 포함하는 데이터를 DSP에 한번에 송신할 수 있기에, DSP의 스케줄링 오버헤드를 줄이고, 정보 처리 효율을 향상시킬 수 있다.In the information processing method described in FIG. 3 , the CPU can transmit data including a plurality of operations to the DSP at once by using the virtual memory space, thereby reducing the scheduling overhead of the DSP and improving the information processing efficiency. .

도 4를 참조하면, 도 4는 본 발명의 실시예에 의해 제공되는 다른 하나의 정보 처리 방법의 플로우를 나타내는 모식도이다. 여기서, 당해 정보 처리 방법은 DSP의 관점으로부터 설명된다. 도 4에 나타낸 바와 같이, 당해 정보 처리 방법은 이하의 단계를 포함할 수 있다.Referring to FIG. 4, FIG. 4 is a schematic diagram showing a flow of another information processing method provided by an embodiment of the present invention. Here, the information processing method is explained from the viewpoint of DSP. As shown in FIG. 4 , the information processing method may include the following steps.

401에 있어서, CPU로부터의 데이터 처리 명령을 수신한다.In 401, a data processing instruction from the CPU is received.

CPU가 가상 기억 공간의 정보가 부가된 데이터 처리 명령을 DSP에 송신한 후, DSP는 CPU로부터의 당해 데이터 처리 명령을 수신한다. CPU와 DSP는 모두 가상 기억 공간의 정보에 대응하는 가상 기억 공간을 액세스할 수 있는 권한을 가진다.After the CPU sends the data processing instruction to which the information of the virtual storage space is added to the DSP, the DSP receives the data processing instruction from the CPU. Both the CPU and DSP have the right to access the virtual storage space corresponding to the information in the virtual storage space.

402에 있어서, 가상 기억 공간의 정보에 대응하는 가상 기억 공간으로부터 처리 대기 데이터를 취득한다.In 402, processing standby data is acquired from the virtual storage space corresponding to the information in the virtual storage space.

DSP는 CPU로부터의 데이터 처리 명령을 수신한 후, 가상 기억 공간의 정보에 대응하는 가상 기억 공간으로부터 처리 대기 데이터를 취득한다. 가상 기억 공간의 정보에 대응하는 가상 기억 공간은 전자 디바이스의 버퍼 중의 제1 버퍼 공간에 대응하고, CPU와 DSP는 모두 전자 디바이스의 버퍼를 액세스하기 위한 권한을 가진다. 따라서, DSP는 가상 기억 공간의 정보에 대응하는 제1 버퍼 공간으로부터 처리 대기 데이터를 취득할 수 있다. 제1 버퍼 공간의 위치 지시 정보와 가상 기억 공간의 기본 주소 사이의 대응 관계가 CPU에 의해 구축될 경우, DSP는 먼저 가상 기억 공간의 정보에 대응하는 위치 지시 정보를 취득한 후, 위치 지시 정보에 대응하는 제1 버퍼 공간으로부터 처리 대기 데이터를 취득한다. 제1 버퍼 공간의 위치 지시 정보와 가상 기억 공간의 기본 주소 사이의 대응 관계가 버퍼에 의해 구축될 경우, DSP는 가상 기억 공간의 정보가 부가된 데이터 취득 요구를 직접 버퍼에 송신할 수 있으며, 버퍼는 DSP로부터의 데이터 취득 요구를 수신한 후, 가상 기억 공간의 정보 및 위치 지시 정보와 가상 기억 공간의 정보 사이의 대응 관계에 기반하여, 가상 기억 공간의 정보에 대응하는 위치 지시 정보를 취득하고, 위치 지시 정보에 대응하는 제1 버퍼 공간으로부터 처리 대기 데이터를 취득한 후, 처리 대기 데이터를 DSP에 반환할 수 있다.After receiving the data processing instruction from the CPU, the DSP acquires processing waiting data from the virtual storage space corresponding to the information in the virtual storage space. The virtual storage space corresponding to the information in the virtual storage space corresponds to a first buffer space in the buffer of the electronic device, and both the CPU and the DSP have authority to access the buffer of the electronic device. Accordingly, the DSP can acquire the processing waiting data from the first buffer space corresponding to the information in the virtual storage space. When the corresponding relationship between the position indication information of the first buffer space and the base address of the virtual storage space is established by the CPU, the DSP first acquires the position indication information corresponding to the information in the virtual storage space, and then corresponds to the position indication information data to be processed is acquired from the first buffer space. When the corresponding relationship between the position indication information of the first buffer space and the base address of the virtual storage space is established by the buffer, the DSP may directly send a data acquisition request to which the information of the virtual storage space is added to the buffer, after receiving the data acquisition request from the DSP, based on the information in the virtual storage space and the correspondence relationship between the position indicating information and the information in the virtual storage space, acquire position indicating information corresponding to the information in the virtual storage space, After acquiring the processing waiting data from the first buffer space corresponding to the position indication information, the processing waiting data may be returned to the DSP.

403에 있어서, 처리 대기 데이터에 대해 처리를 실행한다.In 403, processing is executed on the processing waiting data.

DSP는 가상 기억 공간의 정보에 대응하는 가상 기억 공간으로부터 처리 대기 데이터를 취득한 후, 처리 대기 데이터에 대해 처리를 실행한다. 처리 대기 데이터에 대한 처리는 합성곱 처리를 포함할 수 있고, 또한 완전 접속 처리 등 기타 처리도 포함할 수 있다.The DSP acquires the processing standby data from the virtual storage space corresponding to the information in the virtual storage space, and then executes processing on the processing standby data. The processing for the data waiting to be processed may include convolution processing, and may also include other processing such as full connection processing.

404에 있어서, 처리 대기 데이터의 처리 결과를 가상 기억 공간의 정보에 대응하는 제1 버퍼 공간에 기억한다.In 404, the processing result of the processing waiting data is stored in the first buffer space corresponding to the information in the virtual storage space.

DSP는 처리 대기 데이터에 대해 처리를 실행한 후, 처리 대기 데이터의 처리 결과를 가상 기억 공간의 정보에 대응하는 제1 버퍼 공간에 기억할 수 있다. 버퍼에 기억 명령을 송신할 수 있고, 당해 기억 명령에는 처리 결과 및 가상 기억 공간의 정보가 부가되어 있다. 버퍼는 DSP로부터의 기억 명령을 수신한 후, 처리 결과를 제1 버퍼 공간에 기억한다.After the DSP executes the processing on the processing waiting data, the DSP may store the processing result of the processing waiting data in the first buffer space corresponding to the information in the virtual storage space. A storage command can be sent to the buffer, and the processing result and information on the virtual storage space are added to the storage command. The buffer stores the processing result in the first buffer space after receiving the storage command from the DSP.

DSP는 처리 대기 데이터의 처리 결과를 가상 기억 공간의 정보에 대응하는 제1 버퍼 공간에 기억한 후, 처리 완료 응답 소식을 CPU에 송신함으로써, CPU가 버퍼로부터 처리 결과를 취득하도록 하고, 버퍼의 버퍼 공간을 적시에 정리할 수 있다.After storing the processing result of the processing waiting data in the first buffer space corresponding to the information in the virtual storage space, the DSP sends a processing completion response message to the CPU, so that the CPU acquires the processing result from the buffer, and the buffer of the buffer Space can be organized in a timely manner.

도 4에서 설명한 정보 처리 방법에 있어서, DSP는 가상 기억 공간의 정보를 이용하여, 가상 기억 공간에서 데이터를 한번에 취득하여 처리할 수 있기에, 데이터 처리 효율을 향상시킬 수 있다.In the information processing method described with reference to FIG. 4 , the DSP can acquire and process data from the virtual storage space at once by using the information in the virtual storage space, so that data processing efficiency can be improved.

도 5를 참조하면, 도 5는 본 발명의 실시예에 의해 제공되는 다른 하나의 정보 처리 방법의 플로우를 나타내는 모식도이다. 여기서, 당해 정보 처리 방법은 CPU와 DSP의 관점으로부터 설명된다. 도 5에 나타낸 바와 같이, 당해 정보 처리 방법은 이하의 단계를 포함할 수 있다.Referring to FIG. 5, FIG. 5 is a schematic diagram showing a flow of another information processing method provided by an embodiment of the present invention. Here, the information processing method is explained from the viewpoints of the CPU and DSP. 5 , the information processing method may include the following steps.

501에 있어서, CPU가 처리 대기 데이터를 취득한다.In step 501, the CPU acquires processing standby data.

여기서, 단계 501은 단계 201과 같으므로, 상세한 설명은 단계 201을 참고할 수 있는바, 여기에서는 반복적으로 설명하지 않는다.Here, since step 501 is the same as step 201, reference may be made to step 201 for a detailed description, which will not be repeated herein.

502에 있어서, CPU가 처리 대기 데이터에 필요한 기억 공간 크기를 확정한다.In 502, the CPU determines the storage space size required for the data to be processed.

여기서, 단계 502는 단계 302와 같으므로, 상세한 설명은 단계 302를 참고할 수 있는바, 여기에서는 반복적으로 설명하지 않는다.Here, since step 502 is the same as step 302, reference may be made to step 302 for a detailed description, which will not be repeated herein.

503에 있어서, CPU가 버퍼 공간을 신청하기 위한 요구를 버퍼에 송신한다.In 503, the CPU sends a request for requesting a buffer space to the buffer.

CPU는 처리 대기 데이터에 필요한 기억 공간 크기를 확정한 후, 버퍼 공간을 신청하기 위한 요구를 버퍼에 송신할 수 있으며, 당해 요구에는 처리 대기 데이터에 필요한 기억 공간 크기의 정보가 부가되어 있다.After determining the size of the storage space required for the data to be processed, the CPU may send a request for requesting the buffer space to the buffer, and information on the size of the storage space required for the data to be processed is added to the request.

504에 있어서, 버퍼가 제1 버퍼 공간의 위치 지시 정보를 CPU에 송신한다.In 504, the buffer transmits the location indication information of the first buffer space to the CPU.

버퍼는 CPU로부터의 요구를 수신한 후, 당해 정보에 대응하는 기억 공간 크기에 기반하여 여유 버퍼 공간에서 제1 버퍼 공간을 선택하고, 제1 버퍼 공간의 위치 지시 정보를 CPU에 송신한다. 예를 들면, CPU에 포인터를 송신함으로써 제1 버퍼 공간의 기본 주소를 지시한다.After receiving the request from the CPU, the buffer selects the first buffer space from the free buffer space based on the storage space size corresponding to the information, and transmits the location indication information of the first buffer space to the CPU. For example, by sending a pointer to the CPU, it indicates the base address of the first buffer space.

505에 있어서, CPU가 위치 지시 정보에 기반하여 가상 기억 공간에 대응하는 물리적 기억 어드레스를 확정한다.In 505, the CPU determines a physical storage address corresponding to the virtual storage space based on the location indication information.

CPU는 처리 대기 데이터에 필요한 기억 공간 크기를 확정한 후, 처리 대기 데이터에 필요한 기억 공간 크기에 기반하여 처리 대기 데이터에 대해 가상 기억 공간을 할당할 수 있는바, 예를 들면 데이터의 가상 기억 공간 중의 오프셋량을 할당할 수 있다. 여기서, 당해 오프셋량은 각 어레이의 데이터 가상 기억 공간 중의 오프셋량일 수 있고, 각 어레이의 데이터 및 대응하는 결과 데이터의 오프셋량일 수 있다. 당해 오프셋량은 가상 기억 공간의 기본 주소에 기반하여 확정된다. 기타 관련된 설명은 상술한 실시예를 참고할 수 있다.After determining the size of the storage space required for the data to be processed, the CPU may allocate a virtual storage space for the data to be processed based on the size of the storage space required for the data to be processed, for example, in the virtual storage space of the data. An offset amount can be assigned. Here, the offset amount may be an offset amount in the data virtual storage space of each array, or may be an offset amount of data in each array and corresponding result data. The offset amount is determined based on the base address of the virtual storage space. For other related descriptions, reference may be made to the above-described embodiments.

버퍼로부터의 위치 지시 정보가 수신된 후, 위치 지시 정보에 기반하여 가상 기억 공간에 대응하는 물리적 기억 어드레스를 확정할 수 있는바, 즉, 가상 기억 공간의 기본 주소를 확정할 수 있으며, 처리 대기 데이터의 실제 기억 위치를 확정할 수 있다.After the location indication information from the buffer is received, a physical storage address corresponding to the virtual storage space can be determined based on the location indication information, that is, the base address of the virtual storage space can be determined, and data to be processed can determine the actual memory location of

506에 있어서, CPU가 처리 대기 데이터를 가상 기억 공간에 기억하는바, 즉, 위치 지시 정보에 의해 지시된 제1 버퍼 공간에 기억한다.In step 506, the CPU stores the processing standby data in the virtual storage space, that is, in the first buffer space indicated by the position indication information.

여기서, 단계 506은 단계 203과 유사하며, 상세한 설명은 단계 203을 참조할 수 있는바, 여기에서는 반복적으로 설명하지 않는다.Here, step 506 is similar to step 203, and detailed description may refer to step 203, which will not be repeated herein.

507에 있어서, CPU가 가상 기억 공간의 정보가 부가된 데이터 처리 명령을 DSP에 송신한다.In 507, the CPU transmits a data processing instruction to which information of the virtual storage space is added to the DSP.

이에 따라 DSP는 CPU로부터의 데이터 처리 명령을 수신한다.Accordingly, the DSP receives data processing instructions from the CPU.

여기서, 단계 507은 단계 204와 같으므로, 상세한 설명은 단계 204를 참조할 수 있는바, 여기에서는 반복적으로 설명하지 않는다.Here, since step 507 is the same as step 204, detailed description may refer to step 204, which will not be repeated herein.

여기서, DSP가 CPU로부터의 데이터 처리 명령을 수신하는 것은 단계 401과 같으므로, 상세한 설명은 단계 401을 참조할 수 있는바, 여기에서는 반복적으로 설명하지 않는다.Here, it is the same as step 401 for the DSP to receive the data processing instruction from the CPU, so for a detailed description, reference may be made to step 401, which will not be repeatedly described herein.

508에 있어서, DSP가 가상 기억 공간의 정보에 대응하는 제1 버퍼 공간으로부터 처리 대기 데이터를 취득한다.In 508, the DSP acquires the processing waiting data from the first buffer space corresponding to the information in the virtual storage space.

여기서, 단계 508은 단계 402와 유사하며, 상세한 설명은 단계 402를 참조할 수 있는바, 여기에서는 반복적으로 설명하지 않는다.Here, step 508 is similar to step 402, and detailed description may refer to step 402, which will not be repeated herein.

509에 있어서, DSP에 의해, 처리 대기 데이터에 대해 처리를 실행한다.In step 509, the DSP executes processing on the data to be processed.

여기서, 단계 509는 단계 403과 같으므로, 상세한 설명은 단계 403을 참조할 수 있는바, 여기에서는 반복적으로 설명하지 않는다.Here, step 509 is the same as step 403, so for a detailed description, reference may be made to step 403, which will not be repeated herein.

510에 있어서, DSP가 처리 대기 데이터의 처리 결과를 가상 기억 공간의 정보에 대응하는 제1 버퍼 공간에 기억한다.In 510, the DSP stores the processing result of the processing waiting data in the first buffer space corresponding to the information in the virtual storage space.

여기서, 단계 510은 단계 404와 같으므로, 상세한 설명은 단계 404를 참조할 수 있는바, 여기에서는 반복적으로 설명하지 않는다.Here, since step 510 is the same as step 404, reference may be made to step 404 for a detailed description, which will not be repeated herein.

본 발명의 몇몇의 실시예에 있어서, CPU는 신경망 모델을 해석하고, 신경망 모델의 데이터 처리에 관련된 각 어레이에 필요한 공간 크기를 계산하는 것을 담당한다. CPU는 산출된 공간 크기에 기반하여 하나의 가상 힙에 공간(즉, 가상 기억 공간임)을 신청한다. 여기서 공간을 신청한 후에 반환된 결과는 통상의 포인터가 아니라, 당해 힙의 기본 주소에 대한 오프셋량이다. 공간의 신청이 완료된 후, CPU는 필요한 공간의 합계를 통계하고, ION Buffer에서 당해 합계에 대응하는 크기의 공간을 할당하며, 실제의 기본 주소를 얻는다. 그 후, CPU는 신경망 모델의 운행에 필요한 관련 파라미터 및 데이터를 신청한 가상 기억 공간에 기입하는바, 즉, 실제로는 ION Buffer에서 분배한 당해 가상 공간에 대응하는 공간에 기입하며, 구체적인 기입 어드레스는 기본 주소와 오프셋량에 의해 계산될 수 있다. 그 후에, CPU는 FastRPC 호출을 시작하여, FastRPC를 통해 당해 블록의 가상 기억 공간을 DSP에 전송한다. 이렇게 함으로써, CPU와 DSP는 모두 당해 가상 기억 공간을 공유할 수 있다. 그 후, DSP는 당해 가상 기억 공간의 어드레스 정보에 기반하여 ION Buffer 중의 데이터를 해석하고, 또한 계산하기 시작하며, 계산 결과를 당해 공간의 해당하는 위치에 기억하고, CPU에 반환한다.In some embodiments of the present invention, the CPU is responsible for interpreting the neural network model and calculating the amount of space required for each array involved in data processing of the neural network model. Based on the calculated space size, the CPU applies for space (that is, virtual storage space) in one virtual heap. Here, the result returned after requesting space is not an ordinary pointer, but an offset to the base address of the heap. After the space request is completed, the CPU stats the sum of the required space, allocates a space corresponding to the sum in the ION Buffer, and obtains the actual base address. After that, the CPU writes the relevant parameters and data necessary for the operation of the neural network model in the requested virtual memory space, that is, actually writes it in the space corresponding to the virtual space distributed by the ION Buffer, and the specific write address is It can be calculated by base address and offset amount. After that, the CPU initiates a FastRPC call, which sends the virtual memory space of the block to the DSP through FastRPC. In this way, both the CPU and DSP can share the virtual storage space. After that, the DSP interprets the data in the ION Buffer based on the address information of the virtual storage space and starts to calculate it, stores the calculation result in the corresponding position in the space, and returns it to the CPU.

이러한 방법을 통해, 데이터 처리 과정의 전체는 일 회의 FastRPC 호출만을 실행하며, 이번의 호출로 당해 가상 기억 공간에 관련되는 하나의 어레이만을 전송하기 때문에, FastRPC 호출의 요건을 충족시키는 전제 하에서, 별도의 오버헤드를 최소한으로 억제할 수 있었다.Through this method, the entire data processing process executes only one FastRPC call, and since this call transfers only one array related to the virtual memory space, under the premise that the requirements of the FastRPC call are satisfied, separate The overhead could be kept to a minimum.

도 6을 참조하면, 도 6은 본 발명의 실시예에 의해 제공되는 하나의 정보 처리 장치의 구성을 나타내는 모식도이다. 도 6에 나타낸 바와 같이, 당해 정보 처리 장치는 처리 대기 데이터를 취득하기 위한 취득 유닛(601); 처리 대기 데이터에 대해 가상 기억 공간을 할당하기 위한 할당 유닛(602); 처리 대기 데이터를 가상 기억 공간에 기억하기 위한 기억 유닛(603); 및 가상 기억 공간의 정보가 부가된 데이터 처리 명령을 DSP에 송신하기 위한 송신 유닛(604)을 구비하되, 데이터 처리 명령은 DSP가 가상 기억 공간의 정보에 대응하는 가상 기억 공간으로부터 처리 대기 데이터를 취득하고, 처리 대기 데이터에 대해 처리를 실행하도록 하기 위하여 사용된다.Referring to Fig. 6, Fig. 6 is a schematic diagram showing the configuration of one information processing apparatus provided by the embodiment of the present invention. As shown in Fig. 6, the information processing apparatus includes: an acquisition unit 601 for acquiring processing standby data; an allocation unit 602 for allocating a virtual storage space for data to be processed; a storage unit 603 for storing the processing standby data in the virtual storage space; and a sending unit (604) for sending, to the DSP, a data processing instruction to which information in the virtual storage space is added, wherein the data processing instruction causes the DSP to acquire processing standby data from the virtual storage space corresponding to the information in the virtual storage space. and is used to execute processing on data waiting to be processed.

몇몇의 실시예에 있어서, 가상 기억 공간은 전자 디바이스의 버퍼 중의 제1 버퍼 공간에 대응하고, 기억 유닛(603)은 구체적으로, 처리 대기 데이터를 제1 버퍼 공간에 기억하고, DSP가 가상 기억 공간의 정보에 대응하는 가상 기억 공간으로부터 처리 대기 데이터를 취득하는 것은, DSP가 가상 기억 공간의 정보에 대응하는 제1 버퍼 공간으로부터 처리 대기 데이터를 취득하는 것을 포함한다.In some embodiments, the virtual storage space corresponds to a first buffer space in a buffer of the electronic device, and the storage unit 603 specifically stores the processing-to-be-processed data in the first buffer space, and the DSP executes the virtual storage space. Acquiring the processing waiting data from the virtual storage space corresponding to the information of , includes, by the DSP, acquiring the processing waiting data from the first buffer space corresponding to the information in the virtual storage space.

몇몇의 실시예에 있어서, 할당 유닛(602)은 구체적으로, 처리 대기 데이터에 필요한 기억 공간 크기에 기반하여 전자 디바이스의 버퍼에 버퍼 공간을 신청하고, 전자 디바이스의 버퍼가 반환한 제1 버퍼 공간의 위치 지시 정보에 기반하여, 가상 기억 공간의 물리적 기억 위치를 확정한다.In some embodiments, the allocation unit 602 is specifically configured to apply for a buffer space to the buffer of the electronic device based on the storage space size required for the data to be processed, and to allocate the amount of the first buffer space returned by the buffer of the electronic device. A physical storage location of the virtual storage space is determined based on the location indication information.

몇몇의 실시예에 있어서, 상기 처리 대기 데이터는 적어도 하나의 어레이를 포함하고, 각 어레이는 같은 타입의 데이터를 포함하며, 당해 정보 처리 장치는 상기 적어도 하나의 어레이 중의 각 어레이에 필요한 기억 공간 크기를 확정하고, 상기 적어도 하나의 어레이 중의 각 어레이에 필요한 기억 공간 크기에 기반하여 처리 대기 데이터에 필요한 기억 공간 크기를 확정하기 위한 확정 유닛(605)을 더 구비할 수 있다.In some embodiments, the data to be processed includes at least one array, each array includes data of the same type, and the information processing apparatus determines the amount of storage space required for each of the at least one array. and a determining unit 605 for determining, and determining a storage space size required for data to be processed based on a storage space size required for each of the at least one array.

몇몇의 실시예에 있어서, 확정 유닛(605)은 또한 상기 적어도 하나의 어레이 중의 각 어레이에 필요한 기억 공간 크기에 기반하여 상기 적어도 하나의 어레이 중의 각 어레이의 가상 기억 공간 중의 오프셋량을 확정한다.In some embodiments, the determining unit 605 also determines an offset amount in the virtual storage space of each of the at least one array based on a storage space size required for each of the at least one array.

몇몇의 실시예에 있어서, 확정 유닛(605)은 처리 대기 데이터의 데이터량 및 처리 대기 데이터에 대응하는 결과 데이터량에 기반하여, 처리 대기 데이터에 필요한 기억 공간 크기를 확정한다.In some embodiments, the determining unit 605 determines the storage space size required for the processing waiting data, based on the data amount of the processing waiting data and the result data amount corresponding to the processing waiting data.

몇몇의 실시예에 있어서, 할당 유닛(602)이 처리 대기 데이터에 필요한 기억 공간 크기에 기반하여 전자 디바이스의 버퍼에 버퍼 공간을 신청하는 것은, 처리 대기 데이터에 필요한 기억 공간 크기의 정보가 부가된, 버퍼 공간을 신청하기 위한 요구를, 전자 디바이스의 버퍼에 송신하는 것; 제1 버퍼 공간의 기본 주소를 지시하기 위한, 버퍼로부터의 위치 지시 정보를, 수신하는 것을 포함한다.In some embodiments, when the allocation unit 602 applies the buffer space to the buffer of the electronic device based on the storage space size required for the processing waiting data, information of the storage space size required for the processing waiting data is added; sending a request to claim buffer space to a buffer of the electronic device; and receiving location indication information from the buffer for indicating the base address of the first buffer space.

몇몇의 실시예에 있어서, 처리 대기 데이터는 신경망 중의 네트워크 계층의 네트워크 파라미터 및 입력 데이터이다.In some embodiments, the data waiting to be processed is input data and network parameters of a network layer in the neural network.

본 실시예는 본 발명의 실시예 내의 방법 실시예의 설명에 대응하며, 각각의 유닛의 상술한 조작과 기타 조작 및/또는 기능은 각각 도 2 및 도 3 중의 각 방법의 해당하는 플로우를 구현하기 위하여 사용되는바, 간소화를 위하여 여기에서는 반복적으로 설명하지 않는다.This embodiment corresponds to the description of the method embodiment in the embodiment of the present invention, wherein the above-described operation and other operations and/or functions of each unit are configured to implement the corresponding flow of each method in FIGS. 2 and 3, respectively. As used herein, for the sake of simplification, the description is not repeated here.

도 7을 참조하면, 도 7은 본 발명의 실시예에 의해 제공되는 또 다른 하나의 정보 처리 장치의 구성을 나타내는 모식도이다. 도 7에 나타낸 바와 같이, 당해 정보 처리 장치는 가상 기억 공간의 정보가 부가된, CPU로부터의 데이터 처리 명령을, 수신하기 위한 수신 유닛(701); 가상 기억 공간의 정보에 대응하는 가상 기억 공간으로부터 처리 대기 데이터를 취득하기 위한 취득 유닛(702); 및 처리 대기 데이터에 대해 처리를 실행하기 위한 처리 유닛(703)을 구비할 수 있다.Referring to Fig. 7, Fig. 7 is a schematic diagram showing the configuration of another information processing apparatus provided by the embodiment of the present invention. As shown in Fig. 7, the information processing apparatus includes: a receiving unit 701 for receiving a data processing instruction from the CPU to which information of the virtual storage space is added; an acquiring unit 702 for acquiring processing standby data from the virtual storage space corresponding to the information in the virtual storage space; and a processing unit 703 for executing processing on the processing standby data.

몇몇의 실시예에 있어서, 가상 기억 공간의 정보에 대응하는 가상 기억 공간은 전자 디바이스의 버퍼 중의 제1 버퍼 공간에 대응하고, 취득 유닛(702)은 구체적으로, 가상 기억 공간의 정보에 대응하는 제1 버퍼 공간으로부터 처리 대기 데이터를 취득한다.In some embodiments, the virtual storage space corresponding to the information in the virtual storage space corresponds to a first buffer space in a buffer of the electronic device, and the acquiring unit 702 is specifically configured to: 1 Acquire the processing waiting data from the buffer space.

몇몇의 실시예에 있어서, 당해 정보 처리 장치는 처리 대기 데이터의 처리 결과를 가상 기억 공간의 정보에 대응하는 제1 버퍼 공간에 기억하기 위한 기억 유닛(704)을 더 구비할 수 있다.In some embodiments, the information processing apparatus may further include a storage unit 704 for storing the processing result of the processing waiting data in the first buffer space corresponding to the information in the virtual storage space.

몇몇의 실시예에 있어서, 처리 대기 데이터는 신경망 중의 네트워크 계층의 네트워크 파라미터 및 입력 데이터이다.In some embodiments, the data waiting to be processed is input data and network parameters of a network layer in the neural network.

본 실시예는 본 발명의 실시예 내의 방법 실시예의 설명에 대응하며, 각각의 유닛의 상술한 조작과 다른 조작 및/또는 기능은 각각 도 4 중의 각 방법의 해당하는 플로우를 구현하기 위하여 사용되는바, 간소화를 위하여 여기에서는 반복적으로 설명하지 않는다.This embodiment corresponds to the description of the method embodiment in the embodiment of the present invention, and the operation and/or function different from the above operation of each unit is used to implement the corresponding flow of each method in Fig. 4, respectively. , it is not repeated here for the sake of simplification.

도 8을 참조하면, 도 8은 본 발명의 실시예에 의해 제공되는 다른 하나의 정보 처리 장치의 구성을 나타내는 모식도이다. 당해 정보 처리 장치는 도 1에 나타낸 전자 디바이스 중의 CPU의 각 기능을 실현할 수 있다. 도 8에 나타낸 바와 같이, 당해 정보 처리 장치는 CPU등과 같은 적어도 하나의 프로세서(801); 트랜시버(802) 및 적어도 하나의 버스(803)를 구비할 수 있다. 버스(803)는 이러한 컴포넌트 사이의 접속 통신을 실현하기 위하여 사용된다.Referring to Fig. 8, Fig. 8 is a schematic diagram showing the configuration of another information processing apparatus provided by the embodiment of the present invention. The information processing apparatus can realize each function of the CPU in the electronic device shown in FIG. 1 . As shown in Fig. 8, the information processing apparatus includes at least one processor 801 such as a CPU; It may have a transceiver 802 and at least one bus 803 . The bus 803 is used to realize connection communication between these components.

몇몇의 실시예에 있어서, 프로세서(801)는 처리 대기 데이터를 취득하고, 처리 대기 데이터에 대해 가상 기억 공간을 할당하며, 처리 대기 데이터를 가상 기억 공간에 기억하며, 트랜시버(802)는 가상 기억 공간의 정보가 부가된 데이터 처리 명령을 DSP에 송신하되, 데이터 처리 명령은, DSP가 가상 기억 공간의 정보에 대응하는 가상 기억 공간으로부터 처리 대기 데이터를 취득하고, 처리 대기 데이터에 대해 처리를 실행하도록 하기 위하여 사용된다.In some embodiments, the processor 801 acquires the processing standby data, allocates a virtual storage space for the processing standby data, and stores the processing standby data in the virtual storage space, and the transceiver 802 is configured to the virtual storage space. send a data processing instruction to which information of is added to the DSP, wherein the data processing instruction causes the DSP to obtain processing standby data from the virtual storage space corresponding to the information in the virtual storage space and execute processing on the processing standby data is used for

몇몇의 실시예에 있어서, 가상 기억 공간은 전자 디바이스의 버퍼 중의 제1 버퍼 공간에 대응하고, 프로세서(801)가 처리 대기 데이터를 가상 기억 공간에 기억하는 것은, 처리 대기 데이터를 제1 버퍼 공간에 기억하는 것을 포함하고, DSP가 가상 기억 공간의 정보에 대응하는 가상 기억 공간으로부터 처리 대기 데이터를 취득하는 것은, DSP가 가상 기억 공간의 정보에 대응하는 제1 버퍼 공간으로부터 처리 대기 데이터를 취득하는 것을 포함한다.In some embodiments, the virtual storage space corresponds to a first buffer space in a buffer of the electronic device, and the processor 801 storing the processing standby data in the virtual storage space causes the processing standby data to be stored in the first buffer space. and storing, wherein the DSP acquiring the processing standby data from the virtual storage space corresponding to the information in the virtual storage space means that the DSP acquires the processing standby data from the first buffer space corresponding to the information in the virtual storage space. include

몇몇의 실시예에 있어서, 프로세서(801)가 처리 대기 데이터에 대해 가상 기억 공간을 할당하는 것은, 처리 대기 데이터에 필요한 기억 공간 크기에 기반하여 전자 디바이스의 버퍼에 버퍼 공간을 신청하는 것; 및 전자 디바이스의 버퍼가 반환한 제1 버퍼 공간의 위치 지시 정보에 기반하여, 가상 기억 공간의 물리적 기억 위치를 확정하는 것을 포함한다.In some embodiments, the processor 801 allocating the virtual storage space for the data waiting to be processed may include: requesting a buffer space in a buffer of the electronic device based on a storage space size required for the data waiting to be processed; and determining a physical storage location of the virtual storage space based on the location indication information of the first buffer space returned by the buffer of the electronic device.

몇몇의 실시예에 있어서, 처리 대기 데이터는 적어도 하나의 어레이를 포함하고, 각 어레이는 같은 타입의 데이터를 포함하며, 프로세서(801)는 또한 상기 적어도 하나의 어레이 중의 각 어레이에 필요한 기억 공간 크기를 확정하는 것; 및 상기 적어도 하나의 어레이 중의 각 어레이에 필요한 기억 공간 크기에 기반하여 처리 대기 데이터에 필요한 기억 공간 크기를 확정하는 것을 실행한다.In some embodiments, the data awaiting processing includes at least one array, each array containing the same type of data, and the processor 801 also determines the amount of storage space required for each of the at least one array. to confirm; and determining a storage space size required for data to be processed based on a storage space size required for each of the at least one array.

몇몇의 실시예에 있어서, 프로세서(801)는 또한 상기 적어도 하나의 어레이 중의 각 어레이에 필요한 기억 공간 크기에 기반하여 상기 적어도 하나의 어레이 중의 각 어레이의 가상 기억 공간 중의 오프셋량을 확정하는 것을 실행한다.In some embodiments, the processor 801 is further configured to determine an offset amount in the virtual storage space of each array of the at least one array based on the amount of storage space required for each array of the at least one array. .

몇몇의 실시예에 있어서, 프로세서(801)는 또한 처리 대기 데이터의 데이터량 및 처리 대기 데이터에 대응하는 결과 데이터량에 기반하여, 처리 대기 데이터에 필요한 기억 공간 크기를 확정하는 것을 실행한다.In some embodiments, the processor 801 also executes determining, based on the amount of data of the data to be processed and the amount of result data corresponding to the data to be processed, a storage space size required for the data to be processed.

몇몇의 실시예에 있어서, 프로세서(801)가 처리 대기 데이터에 필요한 기억 공간 크기에 기반하여 전자 디바이스의 버퍼에 버퍼 공간을 신청하는 것은, 처리 대기 데이터에 필요한 기억 공간 크기의 정보가 부가된, 버퍼 공간을 신청하기 위한 요구를, 전자 디바이스 중의 버퍼에 송신하는 것; 및 제1 버퍼 공간의 기본 주소를 지시하기 위한, 버퍼로부터의 위치 지시 정보를, 수신하는 것을 포함한다.In some embodiments, when the processor 801 requests a buffer space in the buffer of the electronic device based on the storage space size required for the data waiting to be processed, information of the size of the storage space required for the data waiting to be processed is added. sending a request to claim space to a buffer in the electronic device; and receiving location indication information from the buffer for indicating the base address of the first buffer space.

몇몇의 실시예에 있어서, 처리 대기 데이터는 신경망 중의 네트워크 계층의 네트워크 파라미터 및 입력 데이터이다.In some embodiments, the data waiting to be processed is input data and network parameters of a network layer in the neural network.

여기서, 단계 201 내지 단계 203, 단계 301 내지 단계 304 및 단계 501 내지 단계 504는, CPU 중의 프로세서(801)에 의해 실행될 수 있고, 단계 204, 단계 305 및 단계 505는 CPU 중의 트랜시버(802)에 의해 실행될 수 있다.Here, step 201 to step 203, step 301 to step 304 and step 501 to step 504 may be executed by a processor 801 in the CPU, and step 204, step 305 and step 505 are performed by the transceiver 802 in the CPU. can be executed

여기서, 취득 유닛(601), 할당 유닛(602), 기억 유닛(603) 및, 확정 유닛(605)은 CPU 중의 프로세서(801)에 의해 실현될 수 있고, 송신 유닛(604)은 CPU 중의 트랜시버(802)에 의해 실현될 수 있다.Here, the acquiring unit 601 , the allocating unit 602 , the storage unit 603 , and the determining unit 605 may be realized by the processor 801 in the CPU, and the transmitting unit 604 is the transceiver ( 802) can be realized.

상술한 정보 처리 장치는 또한 전술한 방법의 실시예에서 실행되는 각 방법을 실행할 수 있고, 여기에서는 반복적으로 설명하지 않는다.The above-described information processing apparatus can also execute each method executed in the embodiments of the above-described method, which will not be repeatedly described herein.

기타 몇몇의 실시예에 있어서, 당해 정보 처리 장치는 도 1에 나타낸 전자 디바이스 중의 DSP의 각 기능을 구현할 수 있다. 여기서, 트랜시버(802)는 가상 기억 공간의 정보가 부가된, CPU로부터의 데이터 처리 명령을, 수신하고, 프로세서(801)는 가상 기억 공간의 정보에 대응하는 가상 기억 공간으로부터 처리 대기 데이터를 취득하고, 처리 대기 데이터에 대해 처리를 실행하는 것을 실행한다.In some other embodiments, the information processing apparatus may implement each function of the DSP in the electronic device shown in FIG. 1 . Here, the transceiver 802 receives a data processing instruction from the CPU to which the information of the virtual storage space is added, and the processor 801 acquires the processing standby data from the virtual storage space corresponding to the information of the virtual storage space, , the process is executed on the data to be processed.

몇몇의 실시예에 있어서, 가상 기억 공간의 정보에 대응하는 가상 기억 공간은, 전자 디바이스의 버퍼 중의 제1 버퍼 공간에 대응하고, 프로세서(801)가 가상 기억 공간의 정보에 대응하는 가상 기억 공간으로부터 처리 대기 데이터를 취득하는 것은, 가상 기억 공간의 정보에 대응하는 제1 버퍼 공간으로부터 처리 대기 데이터를 취득하는 것을 포함한다.In some embodiments, the virtual storage space corresponding to the information in the virtual storage space corresponds to a first buffer space in a buffer of the electronic device, and the processor 801 retrieves the information from the virtual storage space corresponding to the information in the virtual storage space. Acquiring the processing waiting data includes acquiring processing waiting data from the first buffer space corresponding to the information in the virtual storage space.

몇몇의 실시예에 있어서, 프로세서(801)는 또한 처리 대기 데이터의 처리 결과를 가상 기억 공간의 정보에 대응하는 제1 버퍼 공간에 기억하는 것을 실행한다.In some embodiments, the processor 801 also executes storing the processing result of the processing waiting data in the first buffer space corresponding to the information in the virtual storage space.

몇몇의 실시예에 있어서, 처리 대기 데이터는 신경망 중의 네트워크 계층의 네트워크 파라미터 및 입력 데이터이다.In some embodiments, the data waiting to be processed is input data and network parameters of a network layer in the neural network.

여기서, 단계 402 내지 단계 404 및, 단계 506 내지 단계 508은 프로세서(801)에 의해 실행될 수 있고, 단계 204, 단계 305 및, 단계 505 내의 데이터 처리 명령을 수신하는 단계 및 단계 401은 트랜시버(802)에 의해 실행될 수 있다.Here, steps 402 to 404 and steps 506 to 508 may be executed by the processor 801 , and receiving the data processing instruction in steps 204 , 305 and 505 and step 401 is performed by the transceiver 802 . can be executed by

여기서, 취득 유닛(702), 처리 유닛(703) 및 기억 유닛(704)은 프로세서(801)에 의해 실현될 수 있으며, 수신 유닛(701)은 트랜시버(802)에 의해 실현될 수 있다.Here, the acquisition unit 702 , the processing unit 703 , and the storage unit 704 may be realized by the processor 801 , and the receiving unit 701 may be realized by the transceiver 802 .

상술한 정보 처리 장치는 또한 전술한 방법의 실시예로 실행하는 각 방법을 실행할 수 있으며, 여기에서 반복적으로 설명하지 않는다.The above-described information processing apparatus can also execute each method executing as an embodiment of the above-described method, which will not be repeatedly described herein.

몇몇의 실시예에 있어서, 기록 매체를 제공하는바, 당해 기록 매체는 애플리케이션 프로그램을 기억하고, 애플리케이션 프로그램은 운행될 때에, 도 2 내지 도 4의 정보 처리 방법을 실행한다.In some embodiments, a recording medium is provided, wherein the recording medium stores an application program, and when the application program is running, the information processing method of FIGS. 2 to 4 is executed.

몇몇의 실시예에 있어서, 애플리케이션 프로그램을 제공하는바, 당해 애플리케이션 프로그램은 운행될 때에, 도 2 내지 도 4의 정보 처리 방법을 실행한다.In some embodiments, an application program is provided, and when the application program is running, the information processing method of FIGS. 2 to 4 is executed.

당업자는 상술한 실시예의 각 방법 중의 모두 또는 일부의 단계가 프로그램 명령에 관련되는 하드웨어에 의해 완료될 수 있음을 이해할 수 있다. 당해 프로그램은 컴퓨터 판독 가능 메모리에 기억되며, 메모리는 플래시 디스크, ROM, RAM, 자기 디스크 또는 CD 등을 포함할 수 있다.A person skilled in the art can understand that all or some steps of each method of the above-described embodiments may be completed by hardware related to program instructions. The program is stored in a computer-readable memory, and the memory may include a flash disk, ROM, RAM, magnetic disk or CD, and the like.

Claims (27)

정보 처리 방법으로서,
중앙 처리 장치(CPU)가 처리 대기 데이터를 취득하는 것;
상기 처리 대기 데이터에 대해 가상 기억 공간을 할당하는 것;
상기 처리 대기 데이터를 상기 가상 기억 공간에 기억하는 것; 및
상기 가상 기억 공간의 정보가 부가된 데이터 처리 명령을 디지털 신호 프로세서(DSP)에 송신하는 것을 포함하고,
상기 데이터 처리 명령은, 상기 DSP가 상기 정보에 대응하는 가상 기억 공간으로부터 상기 처리 대기 데이터를 취득하고, 상기 처리 대기 데이터에 대해 처리를 실행하도록 하기 위하여 사용되는
것을 특징으로 하는, 정보 처리 방법.
An information processing method comprising:
a central processing unit (CPU) acquiring processing standby data;
allocating a virtual storage space for the data to be processed;
storing the processing standby data in the virtual storage space; and
and transmitting a data processing command to which the information of the virtual storage space is added to a digital signal processor (DSP),
the data processing instruction is used to cause the DSP to obtain the processing waiting data from the virtual storage space corresponding to the information, and to execute processing on the processing waiting data
An information processing method, characterized in that.
제1항에 있어서,
상기 가상 기억 공간은 상기CPU가 속하는 전자 디바이스의 버퍼 중의 제1 버퍼 공간에 대응하고,
상기 처리 대기 데이터를 상기 가상 기억 공간에 기억하는 것은,
상기CPU가 상기 처리 대기 데이터를 상기 제1 버퍼 공간에 기억하는 것을 포함하고,
상기 DSP가 상기 정보에 대응하는 가상 기억 공간으로부터 상기 처리 대기 데이터를 취득하는 것은,
상기 DSP가 상기 정보에 대응하는 상기 제1 버퍼 공간으로부터 상기 처리 대기 데이터를 취득하는 것을 포함하는
것을 특징으로 하는, 정보 처리 방법.
According to claim 1,
The virtual storage space corresponds to a first buffer space in a buffer of the electronic device to which the CPU belongs;
Storing the processing standby data in the virtual storage space,
and the CPU stores the processing standby data in the first buffer space,
The DSP acquires the processing standby data from the virtual storage space corresponding to the information,
the DSP acquiring the processing waiting data from the first buffer space corresponding to the information
An information processing method, characterized in that.
제2항에 있어서,
상기 처리 대기 데이터에 대해 가상 기억 공간을 할당하는 것은,
상기 처리 대기 데이터에 필요한 기억 공간 크기에 기반하여 상기 전자 디바이스의 버퍼에 버퍼 공간을 신청하는 것; 및
상기 전자 디바이스의 버퍼가 반환한 상기 제1 버퍼 공간의 위치 지시 정보에 기반하여, 상기 가상 기억 공간의 물리적 기억 위치를 확정하는 것을 포함하는
것을 특징으로 하는, 정보 처리 방법.
3. The method of claim 2,
Allocating a virtual storage space for the data waiting to be processed includes:
requesting a buffer space in the buffer of the electronic device based on the amount of storage space required for the data to be processed; and
based on the location indication information of the first buffer space returned by the buffer of the electronic device, determining a physical storage location of the virtual storage space
An information processing method, characterized in that.
제3항에 있어서,
상기 처리 대기 데이터에 필요한 기억 공간 크기에 기반하여 상기 전자 디바이스의 버퍼에 버퍼 공간을 신청하는 것은,
상기 처리 대기 데이터에 필요한 기억 공간 크기의 정보가 부가되어 있는, 버퍼 공간을 신청하기 위한 요구를 상기 전자 디바이스의 버퍼에 송신하는 것;
상기 제1 버퍼 공간의 기본 주소를 지시하기 위한 상기 버퍼로부터의 위치 지시 정보를 수신하는 것을 포함하는
것을 특징으로 하는, 정보 처리 방법.
4. The method of claim 3,
Applying for a buffer space to the buffer of the electronic device based on the amount of storage space required for the data to be processed includes:
transmitting, to a buffer of the electronic device, a request for requesting a buffer space, to which information of a storage space size required for the data to be processed is added;
Receiving location indication information from the buffer for indicating the base address of the first buffer space
An information processing method, characterized in that.
제1항 내지 제3항 중 어느 한 항에 있어서,
상기 처리 대기 데이터는 적어도 하나의 어레이를 포함하고, 각 어레이는 같은 타입의 데이터를 포함하며,
상기 정보 처리 방법은,
상기 적어도 하나의 어레이 중의 각 어레이에 필요한 기억 공간 크기를 확정하는 것; 및
상기 적어도 하나의 어레이 중의 각 어레이에 필요한 기억 공간 크기에 기반하여 상기 처리 대기 데이터에 필요한 기억 공간 크기를 확정하는 것을 더 포함하는
것을 특징으로 하는, 정보 처리 방법.
4. The method according to any one of claims 1 to 3,
The data to be processed includes at least one array, each array including data of the same type;
The information processing method comprises:
determining a required amount of storage space for each of the at least one array; and
Further comprising determining a storage space size required for the data to be processed based on a storage space size required for each of the at least one array
An information processing method, characterized in that.
제5항에 있어서,
상기 적어도 하나의 어레이 중의 각 어레이에 필요한 기억 공간 크기에 기반하여 상기 적어도 하나의 어레이 중의 각 어레이의 상기 가상 기억 공간 중의 오프셋량을 확정하는 것을 더 포함하는
것을 특징으로 하는, 정보 처리 방법.
6. The method of claim 5,
determining an offset amount in the virtual storage space of each array in the at least one array based on a storage space size required for each array in the at least one array
An information processing method, characterized in that.
제1항 내지 제3항 중 어느 한 항에 있어서,
상기 처리 대기 데이터의 데이터량 및 상기 처리 대기 데이터에 대응하는 결과 데이터량에 기반하여, 상기 처리 대기 데이터에 필요한 기억 공간 크기를 확정하는 것을 더 포함하는
것을 특징으로 하는, 정보 처리 방법.
4. The method according to any one of claims 1 to 3,
Based on the amount of data of the data to be processed and the amount of result data corresponding to the data to be processed, further comprising determining a storage space size required for the data to be processed
An information processing method, characterized in that.
제1항 내지 제7항 중 어느 한 항에 있어서,
상기 처리 대기 데이터는 신경망 모델 중의 목표 네트워크 계층의 네트워크 파라미터 및 입력 데이터를 포함하는
것을 특징으로 하는, 정보 처리 방법.
8. The method according to any one of claims 1 to 7,
The processing waiting data includes network parameters and input data of the target network layer in the neural network model.
An information processing method, characterized in that.
정보 처리 방법으로서,
디지털 신호 프로세서(DSP)가 가상 기억 공간의 정보가 부가된 중앙 처리 장치(CPU)로부터의 데이터 처리 명령을 수신하는 것;
상기 정보에 대응하는 가상 기억 공간으로부터 처리 대기 데이터를 취득하는 것; 및
상기 처리 대기 데이터에 대해 상기 데이터 처리 명령에 의해 지시된 처리 조작을 실행하는 것을 포함하는
것을 특징으로 하는, 정보 처리 방법.
An information processing method comprising:
a digital signal processor (DSP) receiving a data processing instruction from a central processing unit (CPU) to which information of a virtual storage space is added;
acquiring data to be processed from the virtual storage space corresponding to the information; and
and executing a processing operation indicated by the data processing instruction on the processing waiting data.
An information processing method, characterized in that.
제9항에 있어서,
상기 정보에 대응하는 가상 기억 공간은 상기CPU가 속하는 전자 디바이스의 버퍼 중의 제1 버퍼 공간에 대응하고,
상기 정보에 대응하는 가상 기억 공간으로부터 처리 대기 데이터를 취득하는 것은,
상기 정보에 대응하는 제1 버퍼 공간으로부터 처리 대기 데이터를 취득하는 것을 포함하는
것을 특징으로 하는, 정보 처리 방법.
10. The method of claim 9,
The virtual storage space corresponding to the information corresponds to a first buffer space in the buffer of the electronic device to which the CPU belongs,
Acquiring processing standby data from the virtual storage space corresponding to the information includes:
acquiring data to be processed from a first buffer space corresponding to the information
An information processing method, characterized in that.
제9항 또는 제10항에 있어서,
상기 처리 대기 데이터의 처리 결과를 상기 정보에 대응하는 제1 버퍼 공간에 기억하는 것을 더 포함하는
것을 특징으로 하는, 정보 처리 방법.
11. The method of claim 9 or 10,
Further comprising storing the processing result of the processing waiting data in a first buffer space corresponding to the information
An information processing method, characterized in that.
제9항 내지 제11항 중 어느 한 항에 있어서,
상기 처리 대기 데이터는 신경망 모델 중의 목표 네트워크 계층의 네트워크 파라미터 및 입력 데이터인
것을 특징으로 하는, 정보 처리 방법.
12. The method according to any one of claims 9 to 11,
The processing waiting data are network parameters and input data of a target network layer in the neural network model.
An information processing method, characterized in that.
정보 처리 장치로서,
처리 대기 데이터를 취득하기 위한 취득 유닛;
상기 처리 대기 데이터에 대해 가상 기억 공간을 할당하기 위한 할당 유닛;
상기 처리 대기 데이터를 상기 가상 기억 공간에 기억하기 위한 기억 유닛; 및
상기 가상 기억 공간의 정보가 부가된 데이터 처리 명령을 디지털 신호 프로세서(DSP)에 송신하기 위한 송신 유닛을 구비하며,
상기 데이터 처리 명령은, 상기 DSP가 상기 정보에 대응하는 가상 기억 공간으로부터 상기 처리 대기 데이터를 취득하고, 상기 처리 대기 데이터에 대해 처리를 실행하도록 하기 위하여 사용되는
것을 특징으로 하는, 정보 처리 장치.
An information processing device comprising:
an acquisition unit for acquiring processing standby data;
an allocation unit for allocating a virtual storage space for the data to be processed;
a storage unit for storing the processing standby data in the virtual storage space; and
a transmitting unit for transmitting a data processing instruction to which information of the virtual storage space is added to a digital signal processor (DSP);
the data processing instruction is used to cause the DSP to obtain the processing waiting data from the virtual storage space corresponding to the information, and to execute processing on the processing waiting data
An information processing device, characterized in that.
제13항에 있어서,
상기 가상 기억 공간은 전자 디바이스의 버퍼 중의 제1 버퍼 공간에 대응하고,
상기 기억 유닛은 구체적으로, 상기 처리 대기 데이터를 상기 제1 버퍼 공간에 기억하고,
상기 DSP가 상기 정보에 대응하는 가상 기억 공간으로부터 상기 처리 대기 데이터를 취득하는 것은,
상기 DSP가 상기 정보에 대응하는 상기 제1 버퍼 공간으로부터 상기 처리 대기 데이터를 취득하는 것을 포함하는
것을 특징으로 하는, 정보 처리 장치.
14. The method of claim 13,
the virtual storage space corresponds to a first buffer space in a buffer of the electronic device;
the storage unit specifically stores the processing standby data in the first buffer space;
The DSP acquires the processing standby data from the virtual storage space corresponding to the information,
the DSP acquiring the processing waiting data from the first buffer space corresponding to the information
An information processing device, characterized in that.
제14항에 있어서,
상기 할당 유닛은 구체적으로,
상기 처리 대기 데이터에 필요한 기억 공간 크기에 기반하여 상기 전자 디바이스의 버퍼에 버퍼 공간을 신청하고,
상기 전자 디바이스의 버퍼가 반환한 상기 제1 버퍼 공간의 위치 지시 정보에 기반하여, 상기 가상 기억 공간의 물리적 기억 위치를 확정하는
것을 특징으로 하는, 정보 처리 장치.
15. The method of claim 14,
The allocation unit is specifically,
Applying for a buffer space to the buffer of the electronic device based on the size of the storage space required for the data to be processed;
determining a physical storage location of the virtual storage space based on the location indication information of the first buffer space returned by the buffer of the electronic device
An information processing device, characterized in that.
제15항에 있어서,
상기 할당 유닛이 상기 처리 대기 데이터에 필요한 기억 공간 크기에 기반하여 상기 전자 디바이스의 버퍼에 버퍼 공간을 신청하는 것은,
상기 처리 대기 데이터에 필요한 기억 공간 크기의 정보가 부가되어 있는, 버퍼 공간을 신청하기 위한 요구를 상기 전자 디바이스의 버퍼에 송신하는 것; 및
상기 제1 버퍼 공간의 기본 주소를 지시하기 위한 상기 버퍼로부터의 위치 지시 정보를 수신하는 것을 포함하는
것을 특징으로 하는, 정보 처리 장치.
16. The method of claim 15,
requesting, by the allocation unit, a buffer space in the buffer of the electronic device based on the storage space size required for the data to be processed,
transmitting, to a buffer of the electronic device, a request for requesting a buffer space, to which information of a storage space size required for the data to be processed is added; and
Receiving location indication information from the buffer for indicating the base address of the first buffer space
An information processing device, characterized in that.
제13항 내지 제15항 중 어느 한 항에 있어서,
상기 처리 대기 데이터는 적어도 하나의 어레이를 포함하고, 각 어레이는 같은 타입의 데이터를 포함하며,
상기 정보 처리 장치는,
상기 적어도 하나의 어레이 중의 각 어레이에 필요한 기억 공간 크기를 확정하기 위한 제1 확정 유닛을 더 구비하며,
상기 제1 확정 유닛은 또한 상기 적어도 하나의 어레이 중의 각 어레이에 필요한 기억 공간 크기에 기반하여 상기 처리 대기 데이터에 필요한 기억 공간 크기를 확정하는
것을 특징으로 하는, 정보 처리 장치.
16. The method according to any one of claims 13 to 15,
The data to be processed includes at least one array, each array including data of the same type;
The information processing device,
a first determining unit for determining a storage space size required for each of the at least one array;
The first determining unit is further configured to determine a storage space size required for the data to be processed based on a storage space size required for each array in the at least one array.
An information processing device, characterized in that.
제16항에 있어서,
상기 제1 확정 유닛은 또한 상기 적어도 하나의 어레이 중의 각 어레이에 필요한 기억 공간 크기에 기반하여 상기 적어도 하나의 어레이 중의 각 어레이의 상기 가상 기억 공간 중의 오프셋량을 확정하는
것을 특징으로 하는, 정보 처리 장치.
17. The method of claim 16,
The first determining unit is further configured to determine an offset amount in the virtual storage space of each array in the at least one array based on a storage space size required for each array in the at least one array.
An information processing device, characterized in that.
제13항 내지 제15항 중 어느 한 항에 있어서,
상기 처리 대기 데이터의 데이터량 및 상기 처리 대기 데이터에 대응하는 결과 데이터량에 기반하여, 상기 처리 대기 데이터에 필요한 기억 공간 크기를 확정하기 위한 제2 확정 유닛을 더 구비하는
것을 특징으로 하는, 정보 처리 장치.
16. The method according to any one of claims 13 to 15,
a second determining unit for determining a storage space size required for the data waiting to be processed, based on the data amount of the data waiting to be processed and the amount of result data corresponding to the data waiting to be processed
An information processing device, characterized in that.
제13항 내지 제19항 중 어느 한 항에 있어서,
상기 처리 대기 데이터는 신경망 모델 중의 목표 네트워크 계층의 네트워크 파라미터 및 입력 데이터를 포함하는
것을 특징으로 하는, 정보 처리 장치.
20. The method according to any one of claims 13 to 19,
The processing waiting data includes network parameters and input data of the target network layer in the neural network model.
An information processing device, characterized in that.
정보 처리 장치로서,
가상 기억 공간의 정보가 부가된 중앙 처리 장치(CPU)로부터의 데이터 처리 명령을 수신하기 위한 수신 유닛;
상기 정보에 대응하는 가상 기억 공간으로부터 처리 대기 데이터를 취득하기 위한 취득 유닛; 및
상기 처리 대기 데이터에 대해 처리를 실행하기 위한 처리 유닛을 구비하는
것을 특징으로 하는, 정보 처리 장치.
An information processing device comprising:
a receiving unit for receiving a data processing instruction from a central processing unit (CPU) to which information of the virtual storage space has been added;
an acquisition unit for acquiring processing standby data from the virtual storage space corresponding to the information; and
a processing unit for executing processing on the processing standby data;
An information processing device, characterized in that.
제21항에 있어서,
상기 정보에 대응하는 가상 기억 공간은 전자 디바이스의 버퍼 중의 제1 버퍼 공간에 대응하고,
상기 취득 유닛은 구체적으로, 상기 정보에 대응하는 제1 버퍼 공간으로부터 처리 대기 데이터를 취득하는
것을 특징으로 하는, 정보 처리 장치.
22. The method of claim 21,
the virtual storage space corresponding to the information corresponds to a first buffer space in a buffer of the electronic device;
The acquiring unit is specifically configured to acquire processing standby data from the first buffer space corresponding to the information.
An information processing device, characterized in that.
제21항 또는 제22항에 있어서,
상기 처리 대기 데이터의 처리 결과를 상기 정보에 대응하는 제1 버퍼 공간에 기억하기 위한 기억 유닛을 더 구비하는
것을 특징으로 하는 정보 처리 장치.
23. The method of claim 21 or 22,
and a storage unit for storing a processing result of the processing waiting data in a first buffer space corresponding to the information.
An information processing device, characterized in that.
제21항 내지 제23항 중 어느 한 항에 있어서,
상기 처리 대기 데이터는 신경망 모델 중의 목표 네트워크 계층의 네트워크 파라미터 및 입력 데이터인
것을 특징으로 하는, 정보 처리 장치.
24. The method according to any one of claims 21 to 23,
The processing waiting data are network parameters and input data of a target network layer in the neural network model.
An information processing device, characterized in that.
정보 처리 장치로서,
프로세서와 메모리를 구비하며,
상기 메모리는 컴퓨터 명령을 기억하고,
상기 프로세서는 상기 메모리에 기억된 컴퓨터 명령을 호출하여 제1항 내지 제12항 중 어느 한 항에 기재된 정보 처리 방법을 실행하는
것을 특징으로 하는, 정보 처리 장치.
An information processing device comprising:
having a processor and memory;
the memory stores computer instructions;
The processor executes the information processing method according to any one of claims 1 to 12 by calling a computer instruction stored in the memory.
An information processing device, characterized in that.
전자 디바이스로서,
제13항 내지 제20항 중 어느 한 항에 기재된 정보 처리 장치; 및
제21항 내지 제24항 중 어느 한 항에 기재된 정보 처리 장치를 구비하는
것을 특징으로 하는, 전자 디바이스.
An electronic device comprising:
The information processing apparatus according to any one of claims 13 to 20; and
25. A device comprising the information processing device according to any one of claims 21 to 24.
An electronic device, characterized in that.
판독 가능 기록 매체로서,
상기 판독 가능 기록 매체에는 컴퓨터 프로그램이 기억되어 있으며,
상기 컴퓨터 프로그램이 프로세서에 의해 실행될 때에, 제1항 내지 제12항 중 어느 한 항에 기재된 정보 처리 방법이 실현되는
것을 특징으로 하는, 판독 가능 기록 매체.
A readable recording medium comprising:
A computer program is stored in the readable recording medium,
When the computer program is executed by a processor, the information processing method according to any one of claims 1 to 12 is realized
A readable recording medium, characterized in that.
KR1020217019945A 2019-08-06 2020-07-20 Information processing method, apparatus, electronic device and recording medium Withdrawn KR20210094629A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201910733625.1 2019-08-06
CN201910733625.1A CN110489356B (en) 2019-08-06 2019-08-06 Information processing method, information processing device, electronic equipment and storage medium
PCT/CN2020/103047 WO2021023000A1 (en) 2019-08-06 2020-07-20 Information processing method and apparatus, electronic device and storage medium

Publications (1)

Publication Number Publication Date
KR20210094629A true KR20210094629A (en) 2021-07-29

Family

ID=68549633

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217019945A Withdrawn KR20210094629A (en) 2019-08-06 2020-07-20 Information processing method, apparatus, electronic device and recording medium

Country Status (5)

Country Link
JP (1) JP2022514382A (en)
KR (1) KR20210094629A (en)
CN (1) CN110489356B (en)
TW (1) TWI782304B (en)
WO (1) WO2021023000A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116243845A (en) * 2021-12-07 2023-06-09 深圳晶泰科技有限公司 CUDA-based data processing method, computing device and storage medium

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110489356B (en) * 2019-08-06 2022-02-22 上海商汤智能科技有限公司 Information processing method, information processing device, electronic equipment and storage medium
CN114968506A (en) * 2021-02-26 2022-08-30 上海阵量智能科技有限公司 A data processing device, method, computer equipment and storage medium
CN113342553A (en) * 2021-07-06 2021-09-03 阳光保险集团股份有限公司 Data acquisition method and device, electronic equipment and storage medium

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004078396A (en) * 2002-08-13 2004-03-11 Renesas Technology Corp Memory device
US7873810B2 (en) * 2004-10-01 2011-01-18 Mips Technologies, Inc. Microprocessor instruction using address index values to enable access of a virtual buffer in circular fashion
US20060179273A1 (en) * 2005-02-09 2006-08-10 Advanced Micro Devices, Inc. Data processor adapted for efficient digital signal processing and method therefor
CN101000596A (en) * 2007-01-22 2007-07-18 北京中星微电子有限公司 Chip and communication method of implementing communicating between multi-kernel in chip and communication method
US8359453B2 (en) * 2010-09-13 2013-01-22 International Business Machines Corporation Real address accessing in a coprocessor executing on behalf of an unprivileged process
US9164804B2 (en) * 2012-06-20 2015-10-20 Memory Technologies Llc Virtual memory module
US9218289B2 (en) * 2012-08-06 2015-12-22 Qualcomm Incorporated Multi-core compute cache coherency with a release consistency memory ordering model
CN105589829A (en) * 2014-09-15 2016-05-18 华为技术有限公司 Data processing method based on multi-core processor chip, device and system
CN104317768B (en) * 2014-10-15 2017-02-15 中国人民解放军国防科学技术大学 Matrix multiplication accelerating method for CPU+DSP (Central Processing Unit + Digital Signal Processor) heterogeneous system
US10049327B2 (en) * 2014-12-12 2018-08-14 Qualcomm Incorporated Application characterization for machine learning on heterogeneous core devices
CN104601711A (en) * 2015-01-27 2015-05-06 曙光云计算技术有限公司 FPGA-based data storage method and system used for cloud server
CN105045763B (en) * 2015-07-14 2018-07-13 北京航空航天大学 A kind of PD Radar Signal Processing Systems and its Parallel Implementation method based on FPGA+ multi-core DSPs
US9626295B2 (en) * 2015-07-23 2017-04-18 Qualcomm Incorporated Systems and methods for scheduling tasks in a heterogeneous processor cluster architecture using cache demand monitoring
CN106339258B (en) * 2016-08-10 2019-10-18 西安诺瓦星云科技股份有限公司 The management method and device of programmable logic device and microprocessor shared drive
US20190004878A1 (en) * 2017-07-01 2019-01-03 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with security, power reduction, and performace features
CN107463510B (en) * 2017-08-21 2020-05-08 北京工业大学 High-performance heterogeneous multi-core shared cache buffer management method
CN107992486A (en) * 2017-10-30 2018-05-04 上海寒武纪信息科技有限公司 A kind of information processing method and Related product
CN108920413B (en) * 2018-06-28 2019-08-09 中国人民解放军国防科技大学 Convolutional neural network multi-core parallel computing method facing GPDSP
CN108959103A (en) * 2018-07-31 2018-12-07 西安电子科技大学 Software Testing Method Based on BWDSP Library Function
CN109947680A (en) * 2019-01-16 2019-06-28 佛山市顺德区中山大学研究院 A DSP-based software running speed optimization method
CN110489356B (en) * 2019-08-06 2022-02-22 上海商汤智能科技有限公司 Information processing method, information processing device, electronic equipment and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116243845A (en) * 2021-12-07 2023-06-09 深圳晶泰科技有限公司 CUDA-based data processing method, computing device and storage medium

Also Published As

Publication number Publication date
CN110489356B (en) 2022-02-22
JP2022514382A (en) 2022-02-10
WO2021023000A1 (en) 2021-02-11
TW202107288A (en) 2021-02-16
CN110489356A (en) 2019-11-22
TWI782304B (en) 2022-11-01

Similar Documents

Publication Publication Date Title
KR20210094629A (en) Information processing method, apparatus, electronic device and recording medium
US7818503B2 (en) Method and apparatus for memory utilization
US8332866B2 (en) Methods, systems, and apparatus for object invocation across protection domain boundaries
CN111309649B (en) Data transmission and task processing method, device and equipment
US10235047B2 (en) Memory management method, apparatus, and system
US9639459B2 (en) I/O latency and IOPs performance in thin provisioned volumes
US11048447B2 (en) Providing direct data access between accelerators and storage in a computing environment, wherein the direct data access is independent of host CPU and the host CPU transfers object map identifying object of the data
CN113641457A (en) Container creation method, apparatus, apparatus, medium and program product
US7765363B2 (en) Mask usable for snoop requests
CN115576716A (en) A Method of Memory Management Based on Multi-Process
CN113760560A (en) An inter-process communication method and inter-process communication device
CN104572483B (en) Dynamic memory management device and method
CN118519768A (en) Method, device, equipment and storage medium for overflowing data to shared buffer memory
CN111381946A (en) Task processing method and device and related product
CN115629882A (en) How to manage memory in multiple processes
WO2023142091A1 (en) Computing task scheduling apparatus, computing apparatus, computing task scheduling method and computing method
CN110515872A (en) Direct memory access method, apparatus, dedicated computing chip and heterogeneous computing system
JP2016076108A (en) Information processing device, memory controller, and control method of information processing device
CN111858418B (en) Memory communication method and device based on remote direct memory access RDMA
CN107209738A (en) Store direct memory access (DMA)
TW202119215A (en) A system operative to share code and a method for code sharing
US11972110B2 (en) Storage device and storage system
CN115599549A (en) Multi-process-based exception handling method
EP1557755A1 (en) Method for transferring data in a multiprocessor system, multiprocessor system and processor carrying out this method.
CN114356834A (en) A method and system for lock-free interprocessor communication

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

Patent event date: 20210625

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20210625

Comment text: Request for Examination of Application

PG1501 Laying open of application
PC1202 Submission of document of withdrawal before decision of registration

Comment text: [Withdrawal of Procedure relating to Patent, etc.] Withdrawal (Abandonment)

Patent event code: PC12021R01D

Patent event date: 20221219

WITB Written withdrawal of application