WO2021049828A1 - 복수 개의 코어를 갖는 연산 장치 - Google Patents

복수 개의 코어를 갖는 연산 장치 Download PDF

Info

Publication number
WO2021049828A1
WO2021049828A1 PCT/KR2020/012023 KR2020012023W WO2021049828A1 WO 2021049828 A1 WO2021049828 A1 WO 2021049828A1 KR 2020012023 W KR2020012023 W KR 2020012023W WO 2021049828 A1 WO2021049828 A1 WO 2021049828A1
Authority
WO
WIPO (PCT)
Prior art keywords
cores
core
present
computing device
neural network
Prior art date
Application number
PCT/KR2020/012023
Other languages
English (en)
French (fr)
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 WO2021049828A1 publication Critical patent/WO2021049828A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology

Definitions

  • the present invention relates to a computing device having a plurality of cores.
  • Artificial Neural Network is a generic term for a computing system implemented by focusing on a neural network of a human or animal brain, and corresponds to one of the detailed methodologies of machine learning. Artificial neural networks have the same form as a network in which multiple neurons, which are nerve cells, are connected in the brain. Artificial neural networks are classified into several types according to their structure and function, and the most common artificial neural network is a multilayer perceptron with multiple hidden layers between one input layer and an output layer. The artificial neural network has a form in which several neurons, which are basic computing units, are connected by weighted links, and the weights of the weighted links can be adjusted to adapt to a given environment.
  • the inventor(s) now, through this specification, propose a computing device including a plurality of cores, which is arranged to increase the scalability of the computing device, and is particularly optimized for calculation required for the execution of the artificial neural network algorithm described above. It is a bar.
  • An object of the present invention is to provide a computing device including a plurality of cores arranged to increase the expandability of the computing device.
  • an object of the present invention is to provide a computing device capable of minimizing a bottleneck caused by movement of a large number of data accompanying artificial neural network processing.
  • a typical configuration of the present invention for achieving the above object is as follows.
  • the computing device includes n cores, the n cores are arranged in a rotational structure in which first to nth cores are cyclically connected in one direction,
  • Each of the n cores includes an independent memory unit, an operation unit, and an accumulation register unit, and outputs of the accumulation register units of the first to n-1th cores are respectively connected to inputs of the accumulation register units of the second to nth cores.
  • the output of the accumulation register unit of the n-th core is provided with an operation device connected to the input of the accumulation register unit of the first core.
  • a computing device including a plurality of cores arranged to increase the scalability of the computing device can be provided.
  • a computing device capable of minimizing a bottleneck caused by movement of numerous data accompanying artificial neural network processing may be provided.
  • FIG. 1 is a diagram showing a plurality of cores having an arrangement structure contrasting with the present invention.
  • FIG. 2 is a view showing a plurality of cores arranged in a rotating structure according to an embodiment of the present invention.
  • FIG 3 is a view showing a plurality of cores arranged in a rotating structure according to another embodiment of the present invention.
  • the core arrangement structure peculiar to the present invention can be referred to as a rotating structure. That this rotational structure is advantageous for the expansion of the number of cores can be understood through the contrast with the core arrangement structure, not the rotational structure as shown in FIG. 1.
  • 1 is a diagram showing a plurality of cores having an arrangement structure contrasting with the present invention. As shown in FIG. 1, for example, it is assumed that eight cores are provided as a computing device mobilized for artificial neural network-related calculations. In this computing unit, eight cores can be arranged in a total of four rows in two columns. Suppose that the number of cores needs to be expanded while performing calculations with such a computing device. If the ninth core is installed as the first row of the third column, the core disposed in this third column is farther away from the existing core, resulting in poor connectivity, and is an important flexibility in artificial neural network-related calculations. ) Will fall.
  • the division of functions is determined by logically or physically connecting a portion serving as a computer and a portion serving as a memory (ie, a register) in a computing device.
  • some calculators share memory with other calculators, and some calculators use multiple memories to calculate, load (read from memory), and store (stored in memory) in a predetermined manner.
  • the match between the calculator and the memory may be changed during the execution of the algorithm. For example, the A core may need to access other memory even if it is not only writing memory 1 and 2, but also mainly writing memory 1 and 2.
  • a flexible match between core and memory is implemented by software.
  • the collision problem caused by the above-described flexible match (for example, while the B core is writing the calculation result stored in the first memory, the other core must not store the calculation result in the first memory) can be controlled by software.
  • the ninth core is installed in the first row of the third column while the existing cores are arranged in a total of four rows in the arrangement illustrated in FIG. 1, that is, in two columns, the ninth cores are different cores. Since the number of cores disposed far from and close to each other is small, flexibility that is advantageous for artificial neural network computation is degraded.
  • FIG. 2 is a view showing a plurality of cores arranged in a rotating structure according to an embodiment of the present invention.
  • FIG. 2 shows a case in which a ninth core is added in a state in which eight cores arranged while rotating clockwise from the first core are already installed on the board.
  • the ninth new core is disposed very close to the first, second, and eighth cores.
  • FIG. 1 when comparing the positional relationship of the ninth new core with the existing cores, it will be understood that the characteristics of the arrangement of the rotating structure according to FIG. 2 are shown.
  • the rotational structure is arranged in this way, a flexible connection between the added core and the existing cores can be advantageously implemented, thereby increasing the expandability of the core.
  • FIG. 3 is a view showing a plurality of cores arranged in a rotating structure according to another embodiment of the present invention.
  • the rotational structure shown in FIG. 3 is a more specific form of the rotational structure shown in FIG. 2, and the connection of the core starts from the outer edge, and the connection is continued in such a way that it is rolled in, and then it is rolled out again. The connection is continued, and the connection is made back to the core from which the connection was started. According to this structure, in particular, it is possible to minimize a bottleneck that occurs in data movement.
  • each core includes an independent memory unit and an operation unit, and in general, unlike the conventional artificial neural network operation devices are largely divided into an input memory unit, an operation unit, and an output memory unit and are independently configured, the memory unit and the The calculation unit is distributed and arranged over the entire area.
  • the rotation structure according to the present embodiment In the structure of the existing computing device, it is necessary to move the data accumulated in the output memory unit to the input memory unit, whereas in the rotation structure according to the present embodiment, data is transmitted to each core through a rotation path at the time when the operation is completed. As it is completed, this process can be omitted. Through this, it is possible to minimize a bottleneck occurring in data movement compared to a conventional structure in which data movement and operations are concentrated in a certain area. Even if the number of cores increases in the future, the rotational structure can be applied in the same manner, and since the memory unit and the operation unit are distributed over all areas, it is advantageous to increase the scalability of the artificial neural network operation device.
  • the computing device according to the present invention is not necessarily limited to being used for calculations related to an artificial neural network, but is particularly suitable for application to a vast number of calculations related to an artificial neural network.
  • the embodiments according to the present invention described above may be implemented in the form of program instructions that can be executed through various computer components and recorded in a computer-readable recording medium.
  • the computer-readable recording medium may include program instructions, data files, data structures, and the like alone or in combination.
  • the program instructions recorded in the computer-readable recording medium may be specially designed and constructed for the present invention or may be known and usable to those skilled in the computer software field.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magnetic-optical media such as floptical disks. medium), and a hardware device specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • Examples of program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.
  • the hardware device can be changed to one or more software modules to perform the processing according to the present invention, and vice versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Neurology (AREA)
  • Image Analysis (AREA)

Abstract

본 발명의 일 태양에 따르면, 복수 개의 코어를 갖는 연산 장치로서, 상기 연산 장치는 n개의 코어를 포함하고, 상기 n개의 코어는 제1 내지 제n 코어가 일방향으로 순환 연결되는 회전 구조로 배치되며, 상기 n개의 코어 각각은 독립적인 메모리부, 연산부 및 누적 레지스터부를 포함하고, 상기 제1 내지 제n-1 코어의 누적 레지스터부의 출력은 상기 제2 내지 제n 코어의 누적 레지스터부의 입력과 각각 연결되고, 상기 제n 코어의 누적 레지스터부의 출력은 상기 제1 코어의 누적 레지스터부의 입력과 연결되는 연산 장치가 제공된다.

Description

복수 개의 코어를 갖는 연산 장치
본 발명은 복수 개의 코어를 갖는 연산 장치에 관한 것이다.
인공 신경망(Artificial Neural Network)은 사람 또는 동물 두뇌의 신경망에 착안하여 구현된 컴퓨팅 시스템을 총칭하는 것으로서, 기계 학습(machine learning)의 세부 방법론 중 하나에 해당한다. 인공 신경망은 두뇌에서 신경 세포인 뉴런(neuron)이 여러 개 연결된 것과 같은 망의 형태를 갖는다. 인공 신경망은 그 구조 및 기능에 따라 여러 종류로 구분되며, 가장 일반적인 인공 신경망으로는 한 개의 입력층과 출력층 사이에 다수의 은닉층(hidden layer)이 있는 다층 퍼셉트론(multilayer perceptron)이 있다. 인공 신경망은 기초 컴퓨팅 단위인 뉴런 여러 개가 가중 링크(weighted link)로 연결된 형태를 가지며, 이때 가중 링크는 주어진 환경에 적응할 수 있도록 그 가중치가 조정될 수 있다. 인공 신경망은 자기 조직화 지도(SOM; Self-Organizing Map), 순환 연결망(RNN; Recurrent Neural Network), 콘볼루션 신경망(CNN; Convolutional Neural Network) 등과 같은 다양한 모델을 망라할 수 있으며, 그 종류는 수십 가지에 이른다. 최근에는 컴퓨터 하드웨어 및 학습 알고리즘의 발달로 수십 개의 은닉층이 있는 심층 신경망(DNN: Deep Neural Network)이 널리 사용되게 되었다. 이는 바둑 대국을 비롯해 이미지 및 자연어 처리, 음성 인식 등의 분야에서 기존의 기계 학습 방법의 성능을 뛰어 넘는 결과를 보이고 있다.
인공 신경망 알고리즘은 연산 장치에서 계산을 수행하는 코어를 다수 필요로 한다. 그 이유는 병렬 연산이 인공 신경망 알고리즘의 수행에 있어서 필수적이기 때문이다. 예컨대, A 코어는 계산을 수행한 후 그 결과를 1번 저장기에 저장한다. 그러면, B 코어가 1번 저장기에 저장된 결과를 바탕으로 계산을 하는 동안 A 코어는 또 다른 계산을 수행한다. B 코어가 계산한 결과가 2번 저장기에 저장될 때, A 코어가 수행한 또 다른 계산의 결과는 1번 저장기에 저장된다. 이런 식으로 복수 개의 코어가 분업을 하여 계산을 수행하는 것이 병렬 연산이다. 위에서는 A 코어가 수행한 계산의 결과가 1번 저장기에, B 코어가 수행한 계산의 결과가 2번 저장기에 저장되는 것으로 예시하였는데, 실제 인공 신경망 알고리즘의 수행에 있어서는 특정 코어의 계산 결과가 특정 저장기에 저장되도록 정해져 있지 않고, 상황에 따라 유연하게 코어와 저장기가 연결될 수 있다.
인공 신경망 알고리즘에 적용하여 상술한 바와 같은 병렬 계산을 수행하는 프로세서의 코어의 수는 많으면 많을수록 좋지만, 무작정 많은 수의 코어를 처음부터 제공하려면 비용의 제약이 있을 수 있다. 한정된 수의 코어를 가지는 연산 장치로 인공 신경망 어플리케이션의 구현을 시작하고, 처음에 제공하였던 코어의 수가 모자라게 되었을 때 추가적인 코어를 제공하는 방식으로 연산 장치의 확장성을 높이는 것이 유리하다.
본 발명자(들)는 이제, 본 명세서를 통하여, 연산 장치의 확장성을 높이도록 배치되고, 특히 상술한 인공 신경망 알고리즘의 수행에 필요한 계산에 최적화된, 복수 개의 코어를 포함하는 연산 장치를 제안하는 바이다.
본 발명은 연산 장치의 확장성을 높이도록 배치된 복수 개의 코어를 포함하는 연산 장치를 제공하는 것을 목적으로 한다.
또한, 본 발명은 인공 신경망 처리에 동반되는 수많은 데이터 이동에 따른 병목 현상을 최소화할 수 있는 연산 장치를 제공하는 것을 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
본 발명의 일 태양에 따르면, 복수 개의 코어를 갖는 연산 장치로서, 상기 연산 장치는 n개의 코어를 포함하고, 상기 n개의 코어는 제1 내지 제n 코어가 일방향으로 순환 연결되는 회전 구조로 배치되며, 상기 n개의 코어 각각은 독립적인 메모리부, 연산부 및 누적 레지스터부를 포함하고, 상기 제1 내지 제n-1 코어의 누적 레지스터부의 출력은 상기 제2 내지 제n 코어의 누적 레지스터부의 입력과 각각 연결되고, 상기 제n 코어의 누적 레지스터부의 출력은 상기 제1 코어의 누적 레지스터부의 입력과 연결되는 연산 장치가 제공된다.
이 외에도, 본 발명의 기술적 사상에 따라 다른 구성이 더 제공될 수도 있다.
본 발명에 따르면, 연산 장치의 확장성을 높이도록 배치된 복수 개의 코어를 포함하는 연산 장치가 제공될 수 있다.
또한, 본 발명에 따르면, 인공 신경망 처리에 동반되는 수많은 데이터 이동에 따른 병목 현상을 최소화할 수 있는 연산 장치가 제공될 수 있다.
도 1은 본 발명과 대비되는 배치 구조를 갖는 복수 개의 코어를 도시하는 도면이다.
도 2는 본 발명의 일 실시예에 따라 회전 구조로 배치된 복수 개의 코어를 도시하는 도면이다.
도 3은 본 발명의 다른 실시예에 따라 회전 구조로 배치된 복수 개의 코어를 도시하는 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이러한 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 본 명세서에 기재되어 있는 특정 형상, 구조 및 특성은 본 발명의 정신 및 범위를 벗어나지 않으면서 일 실시예로부터 다른 실시예로 변경되어 구현될 수 있다. 또한, 각각의 실시예 내의 개별 구성요소의 위치 또는 배치도 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 행하여지는 것이 아니며, 본 발명의 범위는 특허청구범위의 청구항들이 청구하는 범위 및 그와 균등한 모든 범위를 포괄하는 것으로 받아들여져야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 구성요소를 나타낸다.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 여러 바람직한 실시예에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
본 발명 특유의 코어 배치 구조는 한마디로 회전 구조라 할 수 있다. 이러한 회전 구조가 코어 수의 확장에 유리하다는 점은, 도 1에 도시된 바와 같은 회전 구조가 아닌 코어 배치 구조와의 대비를 통하여 이해될 수 있다. 도 1은 본 발명과 대비되는 배치 구조를 갖는 복수 개의 코어를 도시하는 도면이다. 도 1에 도시된 바와 같이, 예컨대 인공 신경망 관련 계산에 동원되는 연산 장치로서 8개의 코어가 제공된 경우를 상정해 보자. 이 연산 장치에서는 8개의 코어가 2열 종대로 총 4개의 행으로 배열될 수 있다. 이러한 연산 장치로 연산을 수행하다가 코어 수의 확장이 필요하게 된 경우를 가정해 보자. 만일 세 번째 열의 첫 번째 행으로 9번째 코어가 설치되는 경우라면, 이 세 번째 열에 배치되는 코어는 기존 코어와의 거리가 멀어져서 연결성이 떨어지게 되고, 인공 신경망 관련 계산에 있어서 중요한 플랙서빌리티(flexibility)가 떨어지게 된다.
종래의 병렬 계산 방식에서는, 연산 장치 내에서 계산기 역할을 하는 부분과 메모리 역할을 하는 부분(즉, 레지스터)을 논리적으로 또는 물리적으로 연결함으로써 기능 분담이 정해졌다. 즉, 어떤 계산기는 다른 계산기와 메모리를 같이 쓰고, 어떤 계산기는 메모리를 여러 개 쓰는 것과 같이 미리 정해진 방식으로 계산, 로드(메모리로부터 읽어옴) 및 스토어(메모리에 저장함)가 진행되었다. 그런데, 인공지능 연산 장치에서는 계산기와 메모리 간의 매치(match)가 미리 정해진 상태로 알고리즘이 수행되는 대신에, 계산기와 메모리 간의 매치가 알고리즘 수행 중에 바뀔 수 있다. 예컨대, A 코어가 1번 및 2번 메모리만 쓰는 것이 아니라, 1번 및 2번 메모리를 주로 쓰다가도 다른 메모리에 액세스할 필요가 있을 수 있다. 인공지능 계산에서 코어와 메모리의 유연한(flexible) 매치는 소프트웨어에 의해서 구현된다.
이와 같이 소프트웨어적으로 유연한 매치, 즉 플랙서빌리티가 높은 매치를 구현하려면, 계산을 수행하는 특정 코어 주위에 가깝게 배치된 다른 코어들이 많을 확률이 높을수록 유리하다. 상술한 유연한 매치에 의해 발생하는 충돌 문제(예컨대 1번 메모리에 저장된 계산 결과를 B 코어가 쓰고 있는 동안에 1번 메모리에 다른 코어가 저장을 하면 안됨)는 소프트웨어적으로 제어될 수 있다. 그런데, 도 1을 통해 예시한 배치, 즉 2열 종대로 총 4개의 행으로 기존 코어가 배치되어 있는 상태에서 세 번째 열의 첫 번째 행으로 9번째 코어가 설치되는 경우, 9번째 코어가 다른 코어들로부터 멀리 떨어져 배치되어 그 주위에 가깝게 배치된 코어들의 수가 적으므로, 인공 신경망 계산에 유리한 플랙서빌리티가 떨어지게 되는 것이다.
이와 대비하여, 본 발명에서와 같이 회전 구조로 코어를 배치하는 경우를 살펴보자. 도 2는 본 발명의 일 실시예에 따라 회전 구조로 배치된 복수 개의 코어를 도시하는 도면이다. 도 2에는 1번 코어부터 시계 방향으로 회전하면서 배치된 8개의 코어가 이미 보드에 설치되어 있는 상태에서 9번째 코어가 추가되는 경우가 도시되어 있다. 도 2를 참조하면, 9번째 신규 코어는 1번, 2번 및 8번 코어와 매우 가깝게 배치됨을 알 수 있다. 도 1에 따른 배치에서 9번째 신규 코어가 기존의 코어들과 갖는 위치 관계와 대비하여 보면, 도 2에 따른 회전 구조의 배치가 나타내는 특징을 이해할 수 있을 것이다. 이와 같이 회전 구조의 배치를 수행하면, 추가되는 코어와 기존 코어들 간의 플랙서블한 연결이 유리하게 구현될 수 있고, 이에 따라 코어의 확장성이 높아진다.
도 3은 본 발명의 다른 실시예에 따라 회전 구조로 배치된 복수 개의 코어를 도시하는 도면이다. 도 3에 도시된 회전 구조는 도 2에 도시된 회전 구조를 보다 구체화한 형태로서, 바깥쪽 모서리부터 코어의 연결이 시작되어 안쪽으로 말려 들어가는 식으로 연결이 이어지다가, 다시 바깥쪽으로 말려 나가는 식으로 연결이 이어져 처음에 연결이 시작된 코어로 다시 연결되는 형태를 갖는다. 이러한 구조에 따르면, 특히 데이터 이동에서 발생하는 병목 현상을 최소화할 수 있게 된다. 본 실시예에 따라 회전 구조로 배치된 복수 개의 코어를 포함하는 연산 장치는, 인접한 코어들의 누적 레지스터부가 일방향 경로를 통해 연결되도록 함으로써 데이터 누적에 필요한 경로를 대체할 수 있다. 따라서, 데이터 누적을 위한 별도의 코어의 필요성이 사라지게 된다. 본 실시예에서, 각각의 코어는 독립적인 메모리부와 연산부를 포함하고 있으며, 대체로 기존의 인공 신경망 연산 장치들이 입력 메모리부, 연산부 및 출력 메모리부로 크게 구분되어 독립적으로 구성되는 것과는 달리, 메모리부와 연산부가 전 영역에 분배되어 배치된다. 기존 연산 장치의 구조에서는 출력 메모리부에 누적된 데이터들을 입력 메모리부로 이동시킬 필요가 있는데 비해, 본 실시예에 따른 회전 구조에서는 연산이 완료되는 시점에서 회전 경로를 통해 각 코어로 데이터의 전달이 함께 완료되므로, 이러한 과정이 생략될 수 있다. 이를 통해, 데이터의 이동과 연산이 일정 영역에 집중되어 이루어지는 기존의 구조에 비해 데이터 이동에서 발생하는 병목 현상을 최소화할 수 있다. 추후에 코어의 수가 증가하더라도 회전 구조는 동일하게 적용될 수 있으며, 메모리부와 연산부가 전 영역에 분배되어 있는 형태이므로 인공 신경망 연산 장치의 확장성을 높이는데도 유리하다. 한편, 본 발명에 따른 연산 장치는 반드시 인공 신경망과 관련된 연산에 사용되는 것으로 한정되지는 않지만, 인공 신경망과 관련된 방대한 연산에 적용하기에 특히 적합하다.
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항과 한정된 실시예 및 도면에 의하여 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위하여 제공된 것일 뿐, 본 발명이 상기 실시예에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정과 변경을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (1)

  1. 복수 개의 코어를 갖는 연산 장치로서,
    상기 연산 장치는 n개의 코어를 포함하고, 상기 n개의 코어는 제1 내지 제n 코어가 일방향으로 순환 연결되는 회전 구조로 배치되며,
    상기 n개의 코어 각각은 독립적인 메모리부, 연산부 및 누적 레지스터부를 포함하고,
    상기 제1 내지 제n-1 코어의 누적 레지스터부의 출력은 상기 제2 내지 제n 코어의 누적 레지스터부의 입력과 각각 연결되고, 상기 제n 코어의 누적 레지스터부의 출력은 상기 제1 코어의 누적 레지스터부의 입력과 연결되는 연산 장치.
PCT/KR2020/012023 2019-09-10 2020-09-07 복수 개의 코어를 갖는 연산 장치 WO2021049828A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2019-0112053 2019-09-10
KR1020190112053A KR20210030653A (ko) 2019-09-10 2019-09-10 복수 개의 코어를 갖는 연산 장치

Publications (1)

Publication Number Publication Date
WO2021049828A1 true WO2021049828A1 (ko) 2021-03-18

Family

ID=74866731

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/012023 WO2021049828A1 (ko) 2019-09-10 2020-09-07 복수 개의 코어를 갖는 연산 장치

Country Status (2)

Country Link
KR (1) KR20210030653A (ko)
WO (1) WO2021049828A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090027184A (ko) * 2007-09-11 2009-03-16 서울대학교산학협력단 부동 소수점 연산을 지원하는 부동 소수점 유닛-프로세싱 요소(fpu-pe) 구조 및 그 fpu-pe 구조를 포함한 재구성 어레이 프로세서(rap) 및 그 rap를 포함한 멀티미디어 플랫폼
US20170103317A1 (en) * 2015-05-21 2017-04-13 Google Inc. Batch processing in a neural network processor
KR20190048347A (ko) * 2017-10-31 2019-05-09 삼성전자주식회사 프로세서 및 그 제어 방법
KR20190063383A (ko) * 2017-11-29 2019-06-07 한국전자통신연구원 재조직 가능한 뉴럴 네트워크 컴퓨팅 장치
JP2019095861A (ja) * 2017-11-17 2019-06-20 株式会社東芝 ニューラルネットワーク装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090027184A (ko) * 2007-09-11 2009-03-16 서울대학교산학협력단 부동 소수점 연산을 지원하는 부동 소수점 유닛-프로세싱 요소(fpu-pe) 구조 및 그 fpu-pe 구조를 포함한 재구성 어레이 프로세서(rap) 및 그 rap를 포함한 멀티미디어 플랫폼
US20170103317A1 (en) * 2015-05-21 2017-04-13 Google Inc. Batch processing in a neural network processor
KR20190048347A (ko) * 2017-10-31 2019-05-09 삼성전자주식회사 프로세서 및 그 제어 방법
JP2019095861A (ja) * 2017-11-17 2019-06-20 株式会社東芝 ニューラルネットワーク装置
KR20190063383A (ko) * 2017-11-29 2019-06-07 한국전자통신연구원 재조직 가능한 뉴럴 네트워크 컴퓨팅 장치

Also Published As

Publication number Publication date
KR20210030653A (ko) 2021-03-18

Similar Documents

Publication Publication Date Title
US11461637B2 (en) Real-time resource usage reduction in artificial neural networks
EP3602280B1 (en) Accessing prologue and epilogue data
CN111587440B (zh) 用于更新精确突触权重值的神经形态芯片
US5517596A (en) Learning machine synapse processor system apparatus
US20120259804A1 (en) Reconfigurable and customizable general-purpose circuits for neural networks
JP2021506032A (ja) オンチップの計算ネットワーク
US11205097B2 (en) Training artificial neural networks using context-dependent gating with weight stabilization
US20200019847A1 (en) Processor array for processing sparse binary neural networks
US20210201120A1 (en) Inference apparatus, convolution operation execution method, and program
CN115803754A (zh) 用于在神经网络中处理数据的硬件架构
WO2019057552A1 (en) TIME REGROUP AND CORRELATION IN AN ARTIFICIAL NEURAL NETWORK
CN109165734B (zh) 一种矩阵局部响应归一化的向量化实现方法
WO2021049828A1 (ko) 복수 개의 코어를 갖는 연산 장치
Caswell et al. Loopy neural nets: Imitating feedback loops in the human brain
US20200117449A1 (en) Accelerated Access to Computations Results Generated from Data Stored in Memory Devices
CN112154415A (zh) 大型计算机系统中的高效事件管理
US20220164639A1 (en) A system for mapping a neural network architecture onto a computing core and a method of mapping a neural network architecture onto a computing core
CN113469354A (zh) 受存储器限制的神经网络训练
CN113283575A (zh) 用于重构人工神经网络的处理器及其操作方法、电气设备
De Camargo et al. A multi‐GPU algorithm for large‐scale neuronal networks
JP2022541144A (ja) ハードウェア・アクセラレータとインターフェースするための方法
EP3855443B1 (en) Memory calibration device, system and method
KR102358508B1 (ko) 업데이트 횟수에 기초한 프루닝 방법 및 장치
JP7251354B2 (ja) 情報処理装置、情報処理プログラム、及び情報処理方法
KR102211604B1 (ko) Gpu 기반의 채널 단위 딥뉴럴 네트워크 구조 검색을 사용하는 인공지능 시스템

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20863652

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20863652

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 08/09/2022)

122 Ep: pct application non-entry in european phase

Ref document number: 20863652

Country of ref document: EP

Kind code of ref document: A1