| 번호 | 청구항 |
|---|---|
| 11 | 각각 다수의 PIM을 포함하는 다수의 PIM 장치와 다수의 프로세서 및 다수의 메모리 컨트롤러를 포함하는 다중 PIM 컴퓨팅 장치의 동작 방법에 있어서, 상기 프로세서가 신경망 모델의 전체 연산이 분할된 다수의 PIM 커널 각각이 상기 다수의 PIM에서 연산되는 순서를 지정하는 커널 시퀀스를 생성하고, 상기 커널 시퀀스에 따라 상기 다수의 PIM 커널을 상기 다수의 PIM에 분배하는 단계; 상기 PIM 장치에 포함된 다수의 PIM 각각이 분배된 PIM 커널에 대한 연산을 수행하여 중간 연산 결과를 획득하는 단계; 및 상기 메모리 컨트롤러가 상기 커널 시퀀스에 따라 다수의 PIM의 상기 중간 연산 결과가 동일한 PIM 장치 내에 포함된 다른 PIM으로 전달되도록 다수의 PIM을 제어하여 로테이션을 수행하는 단계를 포함하는 다중 PIM 컴퓨팅 장치의 동작 방법. |
| 1 | 각각 다수의 PIM을 포함하는 다수의 PIM 장치; 신경망 모델의 전체 연산이 분할된 다수의 PIM 커널 각각이 상기 다수의 PIM에서 연산되는 순서를 지정하는 커널 시퀀스를 생성하고, 상기 커널 시퀀스에 따라 상기 다수의 PIM 커널을 상기 다수의 PIM에 분배하는 다수의 프로세서; 및 상기 PIM 장치에 포함된 다수의 PIM 각각이 분배된 PIM 커널에 대한 연산을 수행하여 중간 연산 결과를 획득하면, 상기 프로세서에서 인가된 상기 커널 시퀀스에 따라 다수의 PIM가 상기 중간 연산 결과가 동일한 PIM 장치 내에 포함된 다른 PIM으로 전달되도록 제어하여 로테이션을 수행하는 다수의 메모리 컨트롤러를 포함하는 다중 PIM 컴퓨팅 장치. |
| 2 | 제1항에 있어서, 상기 메모리 컨트롤러는 각 PIM 장치의 다수의 PIM에 분배된 PIM 커널이 PIM 장치에 포함된 모든 PIM에서 연산될 때까지, 각 PIM 장치 내의 다수의 PIM 사이에서 중간 연산 결과를 전달하는 로컬 로테이션을 반복 수행하는 다중 PIM 컴퓨팅 장치. |
| 3 | 제1항에 있어서, 상기 메모리 컨트롤러는 적어도 하나의 프로세서와 적어도 하나의 PIM 장치에 매칭되어 로컬 그룹을 구성하고, 로컬 그룹 내의 PIM 장치에 포함된 PIM 사이에서 중간 연산 결과가 전달되는 로컬 로테이션을 수행하는 다중 PIM 컴퓨팅 장치. |
| 4 | 제1항에 있어서, 상기 메모리 컨트롤러는 상기 다수의 PIM 장치 중 매칭된 적어도 하나의 PIM 장치에 분배된 PIM 커널이 PIM 장치 내의 모든 PIM에서 연산되면, 상기 커널 시퀀스를 기반으로 매칭되지 않은 다른 PIM 장치의 PIM에서 추가로 연산되어야 하는지 판별하고, 추가로 연산되어야 하는 것으로 판별되면, 상기 다수의 프로세서 중 매칭된 프로세서로 상기 중간 연산 결과가 포함하는 커널 컨텍스트를 전달하는 다중 PIM 컴퓨팅 장치. |
| 5 | 제4항에 있어서, 상기 프로세서는 매칭된 메모리 컨트롤러로부터 상기 커널 컨텍스트가 전달되면, 상기 커널 시퀀스에 따라 상기 PIM 커널에 대해 추가 연산을 수행해야 하는 PIM 장치를 확인하고, 확인된 PIM 장치에 매칭된 프로세서와 메모리 컨트롤러를 통해 상기 커널 컨텍스트를 전달하여 글로벌 로테이션을 수행하는 다중 PIM 컴퓨팅 장치. |
| 6 | 제4항에 있어서, 상기 메모리 컨트롤러는 상기 PIM 커널에 대해 다른 PIM 장치의 PIM에서 추가 연산이 필요하지 않으면, 매칭된 적어도 하나의 PIM 장치에서 마지막으로 획득된 중간 연산 결과를 상기 PIM 커널에 대한 최종 연산 결과로 획득하는 다중 PIM 컴퓨팅 장치. |
| 7 | 제1항에 있어서, 상기 다수의 PIM은 연산된 PIM 커널에 대한 상기 중간 연산 결과와 상기 커널 시퀀스를 포함하는 커널 컨텍스트를 다른 PIM으로 전달하는 다중 PIM 컴퓨팅 장치. |
| 8 | 제1항에 있어서, 상기 다수의 PIM은 저장된 데이터를 이용하여 상기 PIM 커널에 대한 연산을 수행하여 상기 중간 연산 결과를 획득하는 다중 PIM 컴퓨팅 장치. |
| 9 | 제1항에 있어서, 상기 다수의 PIM은 저장된 데이터를 이용하여 상기 PIM 커널에 대한 연산을 수행하고, 연산 수행 결과에 따라 전달된 상기 중간 연산 결과를 업데이트하는 다중 PIM 컴퓨팅 장치. |
| 10 | 제1항에 있어서, 상기 PIM은 데이터가 저장되는 메모리 모듈과 상기 데이터를 이용하여 상기 PIM 커널에 대한 연산을 수행하는 프로세싱 유닛, 상기 PIM 커널을 임시로 저장하는 커널 버퍼 및 상기 중간 연산 결과를 임시 저장하는 레지스터를 포함하는 다중 PIM 컴퓨팅 장치. |
| 12 | 제11항에 있어서, 상기 로테이션을 수행하는 단계는 각 PIM 장치의 다수의 PIM에 분배된 PIM 커널이 PIM 장치에 포함된 모든 PIM에서 연산될 때까지, 각 PIM 장치 내의 다수의 PIM 사이에서 중간 연산 결과를 전달하는 로컬 로테이션을 반복 수행하는 다중 PIM 컴퓨팅 장치의 동작 방법. |
| 13 | 제11항에 있어서, 상기 로테이션을 수행하는 단계는 상기 메모리 컨트롤러와 적어도 하나의 프로세서 및 적어도 하나의 PIM 장치가 매칭되어 로컬 그룹을 구성하고, 로컬 그룹 내의 PIM 장치에 포함된 PIM 사이에서 중간 연산 결과가 전달되는 로컬 로테이션을 수행하는 다중 PIM 컴퓨팅 장치의 동작 방법. |
| 14 | 제11항에 있어서, 상기 로테이션을 수행하는 단계는 상기 다수의 PIM 장치 중 매칭된 적어도 하나의 PIM 장치에 분배된 PIM 커널이 PIM 장치 내의 모든 PIM에서 연산되면, 상기 커널 시퀀스를 기반으로 매칭되지 않은 다른 PIM 장치의 PIM에서 추가로 연산되어야 하는지 판별하고, 추가로 연산되어야 하는 것으로 판별되면, 상기 다수의 프로세서 중 매칭된 프로세서로 상기 중간 연산 결과가 포함하는 커널 컨텍스트를 전달하는 다중 PIM 컴퓨팅 장치의 동작 방법. |
| 15 | 제14항에 있어서, 상기 로테이션을 수행하는 단계는 매칭된 메모리 컨트롤러로부터 상기 커널 컨텍스트가 전달되면, 상기 커널 시퀀스에 따라 상기 PIM 커널에 대해 추가 연산을 수행해야 하는 PIM 장치를 확인하고, 확인된 PIM 장치에 매칭된 프로세서와 메모리 컨트롤러를 통해 상기 커널 컨텍스트를 전달하여 글로벌 로테이션을 수행하는 다중 PIM 컴퓨팅 장치의 동작 방법. |
| 16 | 제14항에 있어서, 상기 로테이션을 수행하는 단계는 상기 PIM 커널에 대해 다른 PIM 장치의 PIM에서 추가 연산이 필요하지 않으면, 매칭된 적어도 하나의 PIM 장치에서 마지막으로 획득된 중간 연산 결과를 상기 PIM 커널에 대한 최종 연산 결과로 획득하는 다중 PIM 컴퓨팅 장치의 동작 방법. |
| 17 | 제11항에 있어서, 상기 로테이션을 수행하는 단계는 상기 다수의 PIM 각각이 상기 PIM 커널에 대한 상기 중간 연산 결과와 상기 커널 시퀀스를 포함하는 커널 컨텍스트를 다른 PIM으로 전달하는 다중 PIM 컴퓨팅 장치의 동작 방법. |
| 18 | 제11항에 있어서, 상기 중간 연산 결과를 획득하는 단계는 저장된 데이터를 이용하여 상기 PIM 커널에 대한 연산을 수행하여 상기 중간 연산 결과를 획득하는 다중 PIM 컴퓨팅 장치의 동작 방법. |
| 19 | 제11항에 있어서, 상기 중간 연산 결과를 획득하는 단계는 저장된 데이터를 이용하여 상기 PIM 커널에 대한 연산을 수행하고, 연산 수행 결과에 따라 전달된 상기 중간 연산 결과를 업데이트하는 다중 PIM 컴퓨팅 장치의 동작 방법. |