1 |
1
단일 머신 기반의 대용량 희소행렬 곱셈을 위한 메모리 할당 방법에 있어서, 상기 메모리의 전체 영역을 식별하는 단계;제1 희소행렬을 로드하기 위해 필요한 상기 메모리 내 제1 영역의 크기, 제2 희소행렬을 로드하기 위해 필요한 상기 메모리 내 제2 영역의 크기 및 상기 제1 희소행렬 및 제2 희소행렬에 대한 곱셈 결과 생성된 제3 결과행렬을 기록하기 위한 상기 메모리 내 제3 영역의 크기를 확인하는 단계; 및상기 식별된 메모리의 전체 영역의 크기가 상기 확인된 제1 영역의 크기, 제2 영역의 크기 및 제3 영역의 크기의 합보다 작은 경우, 상기 제1 희소행렬 및 제2 희소행렬의 곱셈 방식에 따라 상기 메모리의 영역을 다르게 할당하는 단계를 포함하되, 상기 할당하는 단계는, inner product, row-row product 및 outer product 중 적어도 하나를 포함하는 곱셈 방식에 따라, 상기 제1 희소행렬의 부분행렬을 로드하기 위한 메모리 내의 제1 영역, 제2 희소행렬의 부분행렬을 로드하기 위한 메모리 내의 제2 영역, 상기 제1 희소행렬의 부분 행렬 및 제2 희소행렬의 부분행렬에 대한 곱셈 결과 생성된 제3 결과 행렬을 기록하기 위한 메모리 내의 제3 영역을 다르게 할당하는 것을 특징으로 하는 메모리 할당 방법
|
2 |
2
제1항에 있어서,상기 할당하는 단계는,상기 제1 희소행렬 및 제2 희소행렬을 inner product 에 기초하여 곱셈을 하는 경우,상기 메모리의 제2 영역 및 제3 영역에 최소 영역을 할당하고, 할당하고 남은 영역을 제1 영역에 할당하는 메모리 할당 방법
|
3 |
3
제2항에 있어서,상기 제2 영역 및 제3 영역은 동일한 크기의 영역을 할당하는 메모리 할당 방법
|
4 |
4
제1항에 있어서,상기 할당하는 단계는,상기 제1 희소행렬 및 제2 희소행렬을 row-row product에 기초하여 곱셈을 하는 경우,상기 메모리의 제1 영역에 최소 영역을 할당하고, 할당하고 남은 영역을 제2 영역 및 제3 영역에 나누어 할당하는 메모리 할당 방법
|
5 |
5
제4항에 있어서,상기 제2 영역 및 제3 영역은 동일한 크기의 영역을 할당하는 메모리 할당 방법
|
6 |
6
제1항에 있어서,상기 할당하는 단계는,상기 제1 희소행렬 및 제2 희소행렬을 outer product에 기초하여 곱셈을 하는 경우,상기 메모리의 제3 영역에 상기 메모리의 절반 크기에 해당하는 영역을 할당하고, 할당하고 남은 영역을 제1 영역 및 제2 영역에 나누어 할당하는 메모리 할당 방법
|
7 |
7
제6항에 있어서,상기 제1 영역 및 제2 영역은 동일한 크기의 영역을 할당하는 메모리 할당 방법
|
8 |
8
제1항에 있어서,상기 할당된 제1 영역에 제1 희소행렬의 부분 행렬을 로드하고, 상기 할당된 제2 영역에 제2 희소행렬의 부분 행렬을 로드하는 단계;상기 로드된 제1 희소행렬의 부분 행렬 및 제2 희소행렬의 부분 행렬에 대한 곱셈을 수행하는 단계; 및상기 제1 희소행렬의 부분 행렬 및 제2 희소행렬의 부분 행렬에 대한 곱셈을 수행한 결과 생성된 제3 결과 행렬을 상기 할당된 제3 영역에 기록하여 처리하는 단계를 더 포함하는 메모리 할당 방법
|
9 |
9
제8항에 있어서,상기 로드하는 단계는,상기 제1 희소행렬의 부분 행렬 및 상기 제2 희소행렬의 부분 행렬 중 로드되지 않고 남아있는 부분 행렬을 확인하는 단계; 및상기 남아 있는 부분 행렬을 각각 제1 영역 및 제2 영역에 로드하는 단계를 더 포함하는 메모리 할당 방법
|
10 |
10
단일 머신 기반의 대용량 희소행렬 곱셈을 위한 메모리 할당 장치에 있어서, 제1 희소행렬 및 제2 희소행렬을 곱하기 위하여 상기 제1 희소행렬의 부분 행렬 및 상기 제2 희소행렬의 부분 행렬을 로드하기 위한 메모리;상기 메모리의 전체 영역을 식별하고, 상기 제1 희소행렬을 로드하기 위해 필요한 상기 메모리 내 제1 영역의 크기, 제2 희소행렬을 로드하기 위해 필요한 상기 메모리 내 제2 영역의 크기 및 상기 두 희소행렬에 대한 곱셈 결과 생성된 제3 결과행렬을 기록하기 위한 상기 메모리 내 제3 영역의 크기를 확인하며, 상기 식별된 메모리의 전체 영역의 크기가 상기 확인된 제1 영역의 크기, 제2 영역의 크기 및 제3 영역의 크기의 합보다 작은 경우, 상기 제1 희소행렬 및 제2 희소행렬의 곱셈 방식에 따라 상기 메모리의 영역을 다르게 할당하는 프로세서를 포함하되, 상기 프로세서는, inner product, row-row product 및 outer product 중 적어도 하나를 포함하는 곱셈 방식에 따라, 상기 제1 희소행렬의 부분행렬을 로드하기 위한 메모리 내의 제1 영역, 제2 희소행렬의 부분행렬을 로드하기 위한 메모리 내의 제2 영역, 상기 제1 희소행렬의 부분 행렬 및 제2 희소행렬의 부분행렬에 대한 곱셈 결과 생성된 제3 결과 행렬을 기록하기 위한 메모리 내의 제3 영역을 다르게 할당하는 것을 특징으로 하는 메모리 할당 장치
|
11 |
11
제10항에 있어서,상기 프로세서는,상기 제1 희소행렬 및 제2 희소행렬을 inner product 에 기초하여 곱셈을 하는 경우,상기 메모리의 제2 영역 및 제3 영역에 최소 영역을 할당하고, 할당하고 남은 영역을 제1 영역에 할당하는 메모리 할당 장치
|
12 |
12
제10항에 있어서,상기 프로세서는,상기 제1 희소행렬 및 제2 희소행렬을 row-row product에 기초하여 곱셈을 하는 경우,상기 메모리의 제1 영역에 최소 영역을 할당하고, 할당하고 남은 영역을 제2 영역 및 제3 영역에 나누어 할당하는 메모리 할당 장치
|
13 |
13
제10항에 있어서,상기 프로세서는,상기 제1 희소행렬 및 제2 희소행렬을 outer product에 기초하여 곱셈을 하는 경우,상기 메모리의 제3 영역에 상기 메모리의 절반 크기에 해당하는 영역을 할당하고, 할당하고 남은 영역을 제1 영역 및 제2 영역에 나누어 할당하는 메모리 할당 장치
|
14 |
14
제10항에 있어서,상기 프로세서는,상기 할당된 제1 영역에 제1 희소행렬의 부분 행렬을 로드하고, 상기 할당된 제2 영역에 제2 희소행렬의 부분 행렬을 로드하며, 상기 로드된 제1 희소행렬의 부분 행렬 및 제2 희소행렬의 부분 행렬에 대한 곱셈을 수행하여 생성된 제3 결과행렬을 상기 할당된 제3 영역에 기록하여 처리하는 메모리 할당 장치
|
15 |
15
제14항에 있어서,상기 프로세서는,상기 할당된 제3 영역이 가득찬 경우, 상기 제3 영역에 기록된 결과를 저장장치에 저장하고,상기 제3 영역에 기록된 결과가 row-row product 또는 outer product에 의해 생성된 경우, 상기 저장장치에 저장된 결과를 통합하는 메모리 할당 장치
|
16 |
16
단일 머신 기반의 대용량 희소행렬 곱셈을 위한 메모리 할당 방법에 있어서, 상기 메모리의 전체 영역을 식별하는 단계;두 희소 행렬 중 제1 희소 행렬을 로드하기 위해 필요한 상기 메모리 내 제1 영역의 크기, 제2 희소 행렬을 로드하기 위해 필요한 상기 메모리 내 제2 영역의 크기 및 상기 두 희소 행렬에 대한 곱셈 결과를 기록하기 위한 상기 메모리 내 제3 영역의 크기를 확인하는 단계;상기 식별된 메모리의 전체 영역의 크기가 상기 확인된 제1 영역의 크기, 제2 영역의 크기 및 제3 영역의 크기의 합보다 작은 경우, 상기 제1 희소행렬 및 제2 희소행렬의 곱셈 방식에 따라 상기 메모리의 영역을 다르게 할당하는 단계; 상기 할당된 제1 영역에 제1 희소 행렬의 부분 행렬을 로드하고, 상기 할당된 제2 영역에 제2 희소 행렬의 부분 행렬을 로드하는 단계;상기 로드된 두 희소 행렬의 부분 행렬에 대한 곱셈을 수행하는 단계; 및상기 두 희소 행렬의 부분 행렬에 대한 곱셈을 수행한 결과를 상기 할당된 제3 영역에 기록하는 단계;상기 할당된 제3 영역에 기록된 결과를 병합하는 단계;상기 할당된 제3 영역이 가득 찬 경우, 상기 제3 영역에 기록된 결과를 저장장치에 저장하는 단계; 및상기 저장장치에 저장된 결과를 통합하는 단계를 포함하되, 상기 할당하는 단계는, inner product, row-row product 및 outer product 중 적어도 하나를 포함하는 곱셈 방식에 따라, 상기 제1 희소행렬의 부분행렬을 로드하기 위한 메모리 내의 제1 영역, 제2 희소행렬의 부분행렬을 로드하기 위한 메모리 내의 제2 영역, 상기 제1 희소행렬의 부분 행렬 및 제2 희소행렬의 부분행렬에 대한 곱셈 결과 생성된 제3 결과 행렬을 기록하기 위한 메모리 내의 제3 영역을 다르게 할당하는 것을 특징으로 하는 메모리 할당 방법
|
17 |
17
제 16항에 있어서,상기 할당하는 단계는,상기 두 희소 행렬을 inner product 에 기초하여 곱셈을 하는 경우,상기 메모리의 제2 영역 및 제3 영역에 최소 영역을 할당하고, 할당하고 남은 영역을 제1 영역에 할당하고,상기 두 희소 행렬을 row-row product에 기초하여 곱셈을 하는 경우,상기 메모리의 제1 영역에 최소 영역을 할당하고, 할당하고 남은 영역을 제2 영역 및 제3 영역에 나누어 할당하며,상기 두 희소 행렬을 outer product에 기초하여 곱셈을 하는 경우,상기 메모리의 제3 영역에 상기 메모리의 절반에 해당하는 영역을 할당하고, 할당하고 남은 영역을 제1 영역 및 제2 영역에 나누어 할당하는 메모리 할당 방법
|