1 |
1
복수의 노드들을 포함하는 기계학습 모델을 입력받는 단계;상기 복수의 노드들이 출력하는 복수의 텐서들 각각을 수신하는 노드들의 개수를 이용하여 상기 복수의 텐서들 각각의 접근 빈도(Hotness)를 결정하는 단계;상기 복수의 텐서들 중에서 동일한 메모리 버퍼를 사용하는 하나 이상의 텐서를 결합하여 텐서 묶음을 생성하는 단계;상기 텐서 묶음의 접근 빈도, 상기 텐서 묶음의 크기 및 상기 텐서 묶음의 배치 정책에 기초하여, 상기 텐서 묶음의 텐서 값 및 텐서 용량을 결정하는 단계; 및상기 텐서 값 및 상기 텐서 용량에 기초하여, 상기 텐서 묶음을 복수의 메모리 노드들 중에서 어느 하나로 배치하는 단계를 포함하는텐서를 메모리에 배치하는 방법
|
2 |
2
제1 항에 있어서,상기 텐서 묶음을 복수의 메모리 노드들 중에서 어느 하나로 배치하는 단계는,상기 텐서 용량 대비 상기 텐서 값이 높은 순서대로 상기 텐서 묶음을 상기 복수의 메모리 노드들 중에서 고대역 메모리로 배치하는텐서를 메모리에 배치하는 방법
|
3 |
3
제1 항에 있어서,상기 텐서 묶음의 접근 빈도는 상기 텐서 묶음에 포함된 상기 하나 이상의 텐서의 접근 빈도를 더하여 결정되는텐서를 메모리에 배치하는 방법
|
4 |
4
제1 항에 있어서,상기 복수의 텐서들 각각의 실행 시간에 기초하여 상기 텐서 묶음의 수명(Lifetime)을 결정하는 단계를 더 포함하고,상기 텐서 묶음을 복수의 메모리 노드들 중에서 어느 하나로 배치하는 단계는,상기 텐서 묶음의 수명에 더 기초하여, 상기 텐서 묶음을 복수의 메모리 노드들 중에서 어느 하나로 배치하는텐서를 메모리에 배치하는 방법
|
5 |
5
제4 항에 있어서,상기 텐서 묶음의 수명은,상기 복수의 텐서들 각각을 출력하는 할당 시간(Allocation time)과 상기 복수의 텐서들 각각을 마지막으로 실행하는 할당해제 시간(Deallocation time)을 이용하여 결정되는텐서를 메모리에 배치하는 방법
|
6 |
6
제1 항에 있어서, 상기 텐서 묶음의 텐서 값 및 텐서 용량을 결정하는 단계는,상기 텐서 묶음의 배치 정책에 따라 결정된 상기 텐서 묶음의 대역폭을 이용하여, 상기 텐서 묶음의 텐서 값을 결정하는텐서를 메모리에 배치하는 방법
|
7 |
7
제1 항에 있어서, 상기 텐서 묶음의 텐서 값 및 텐서 용량을 결정하는 단계는,상기 텐서 묶음의 배치 정책에 따라 결정되는 상기 복수의 메모리 노드들 중에서 고대역 메모리에 배치되는 상기 텐서 묶음의 크기를 이용하여, 상기 텐서 묶음의 텐서 용량을 결정하는텐서를 메모리에 배치하는 방법
|
8 |
8
제1 항에 있어서,상기 텐서 묶음은 제1 슬라이스와 제2 슬라이스로 분할되고,상기 텐서 묶음을 복수의 메모리 노드들 중에서 어느 하나로 배치하는 단계는,상기 제1 슬라이스는 상기 복수의 메모리 노드들 중에서 고대역 메모리로 배치하고, 상기 제2 슬라이스는 상기 복수의 메모리 노드들 중에서 저대역 메모리로 배치하는텐서를 메모리에 배치하는 방법
|
9 |
9
제1 항에 있어서,상기 복수의 메모리 노드들 중에서 어느 하나로 기 배치된 텐서 묶음의 텐서 값을 재결정하는 단계; 및상기 재결정된 텐서 묶음의 텐서 값에 기초하여 상기 기 배치된 텐서 묶음을 상기 복수의 메모리 노드들 중에서 다른 하나로 이주시킬지 여부를 결정하는 단계를 더 포함하는텐서를 메모리에 배치하는 방법
|
10 |
10
제9 항에 있어서,상기 재결정된 텐서 묶음의 텐서 값 및 상기 기 배치된 텐서 묶음의 크기에 따라 텐서의 이주 비용과 이주 이득을 결정하는 단계; 및상기 텐서의 이주 비용과 이주 이득에 기초하여, 상기 기 배치된 텐서 묶음 전체를 상기 복수의 메모리 노드들 중에서 다른 하나로 이주시킬지 또는 상기 기 배치된 텐서 묶음에 포함된 슬라이스들 중에서 하나만 상기 복수의 메모리 노드들 중에서 다른 하나로 이주시킬지 여부를 결정하는 단계를 더 포함하는텐서를 메모리에 배치하는 방법
|
11 |
11
텐서를 메모리에 배치하는 텐서 배치 장치에 있어서,복수의 노드들을 포함하는 기계학습 모델을 입력받는 입출력기;복수의 메모리 노드들을 포함하는 메모리부; 및상기 입출력기 및 상기 메모리부를 제어하는 프로세서를 포함하고,상기 프로세서는,상기 복수의 노드들이 출력하는 복수의 텐서들을 수신하는 노드들의 개수를 이용하여 상기 복수의 텐서들 각각의 접근 빈도(Hotness)를 결정하고,상기 복수의 텐서들 중에서 동일한 메모리 버퍼를 사용하는 하나 이상의 텐서를 결합하여 텐서 묶음을 생성하고,상기 텐서 묶음의 접근 빈도, 상기 텐서 묶음의 크기 및 상기 텐서 묶음의 배치 정책에 기초하여, 상기 텐서 묶음의 텐서 값 및 텐서 용량을 결정하고,상기 텐서 값 및 상기 텐서 용량에 기초하여, 상기 텐서 묶음을 상기 복수의 메모리 노드들 중에서 어느 하나로 배치하는텐서 배치 장치
|
12 |
12
제11 항에 있어서,상기 프로세서는,상기 텐서 용량 대비 상기 텐서 값이 높은 순서대로 상기 텐서 묶음을 상기 복수의 메모리 노드들 중에서 고대역 메모리로 배치하는텐서 배치 장치
|
13 |
13
제11 항에 있어서, 상기 텐서 묶음의 접근 빈도는 상기 텐서 묶음에 포함된 상기 하나 이상의 텐서의 접근 빈도를 더하여 결정되는텐서 배치 장치
|
14 |
14
제11 항에 있어서,상기 프로세서는,상기 복수의 텐서들 각각의 실행 시간에 기초하여 상기 텐서 묶음의 수명(Lifetime)을 결정하고,상기 텐서 묶음의 수명에 더 기초하여, 상기 텐서 묶음을 복수의 메모리 노드들 중에서 어느 하나로 배치하는텐서 배치 장치
|
15 |
15
제14 항에 있어서,상기 텐서 묶음의 수명은,상기 복수의 텐서들 각각을 출력하는 할당 시간(Allocation time)과 상기 복수의 텐서들 각각을 마지막으로 실행하는 할당해제 시간(Deallocation time)을 이용하여 결정되는텐서 배치 장치
|
16 |
16
제11 항에 있어서,상기 프로세서는,상기 텐서 묶음의 배치 정책에 따라 결정된 상기 텐서 묶음의 대역폭을 이용하여, 상기 텐서 묶음의 텐서 값을 결정하는텐서 배치 장치
|
17 |
17
제11 항에 있어서,상기 프로세서는,상기 텐서 묶음의 배치 정책에 따라 결정되는 상기 복수의 메모리 노드들 중에서 고대역 메모리에 배치되는 상기 텐서 묶음의 크기를 이용하여, 상기 텐서 묶음의 텐서 용량을 결정하는텐서 배치 장치
|
18 |
18
제11 항에 있어서,상기 텐서 묶음은 제1 슬라이스와 제2 슬라이스로 분할되고,상기 프로세서는,상기 제1 슬라이스는 상기 복수의 메모리 노드들 중에서 고대역 메모리로 배치하고, 상기 제2 슬라이스는 상기 복수의 메모리 노드들 중에서 저대역 메모리로 배치하는텐서 배치 장치
|
19 |
19
제11 항에 있어서,상기 프로세서는,상기 텐서 묶음이 상기 복수의 메모리 노드들 중에서 어느 하나로 배치된 후 특정 시점에서의 상기 텐서 묶음의 텐서 값을 재결정하고,재결정된 상기 텐서 묶음의 텐서 값에 기초하여 상기 텐서 묶음을 상기 복수의 메모리 노드들 중에서 다른 하나로 이주시킬지 여부를 결정하는텐서 배치 장치
|
20 |
20
제19 항에 있어서,상기 프로세서는,재결정된 상기 텐서 묶음의 텐서 값 및 상기 텐서 묶음의 크기에 따라 텐서의 이주 비용과 이주 이득을 결정하고,상기 텐서의 이주 비용과 이주 이득에 기초하여, 상기 텐서 묶음 전체를 상기 복수의 메모리 노드들 중에서 다른 하나로 이주시킬지 또는 상기 텐서 묶음에 포함된 슬라이스들 중에서 하나만 상기 복수의 메모리 노드들 중에서 다른 하나로 이주시킬지 여부를 결정하는텐서 배치 장치
|
21 |
21
컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서,상기 컴퓨터 프로그램은,제1 항 내지 제10 항 중 어느 한 항에 따른 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함하는컴퓨터 판독 가능한 기록매체
|
22 |
22
컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램으로서,상기 컴퓨터 프로그램은,제1 항 내지 제10 항 중 어느 한 항에 따른 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함하는컴퓨터 프로그램
|