1 |
1
대규모 그래프 데이터의 효율적인 병렬 처리를 위한 그래프 신경망 가속 방법으로서,레이어별 서브그래프 및 임베딩 테이블을 획득하는 과정;특징 차원(feature dimension) 및 SM(스트리밍 멀티프로세서) 내 최대 쓰레드 수에 기초하여 하나의 목적지-버텍스(destination-vertex)의 임베딩 처리를 위해 할당할 상기 SM의 수를 결정하는 과정;상기 서브그래프에 포함된 모든 목적지-버텍스들 각각에 상기 결정된 수의 SM을 할당하는 과정; 상기 SM이 자신에게 할당된 목적지-버텍스의 임베딩을 획득하는 과정;상기 SM이 상기 서브그래프를 이용하여 상기 목적지-버텍스의 적어도 하나 이상의 이웃-버텍스(neighbor-vertex)의 임베딩을 획득하는 과정; 및상기 SM이 상기 목적지-버텍스 및 상기 이웃-버텍스의 임베딩들을 이용하여 사용자가 지정한 연산을 수행하는 과정을 포함하는 그래프 신경망 가속을 위한 방법
|
2 |
2
제1 항에 있어서,상기 서브그래프는,행 압축 희소행렬(CSR, Compressed Sparse Row)로 표현된 것인, 그래프 신경망 가속을 위한 방법
|
3 |
3
제1 항에 있어서,상기 사용자가 지정한 연산은,추론을 위한 순전파 연산 및 훈련을 위한 역전파 연산 중 적어도 하나를 포함하는, 그래프 신경망 가속을 위한 방법
|
4 |
4
제1 항에 있어서,상기 서브그래프 및 임베딩 테이블을 획득하는 과정 이전에,데이터플로우 그래프(DataFlow Graph)를 획득하는 과정; 및상기 데이터플로우 그래프의 임베딩누적 노드 및 뒤따르는 변환 노드를 새로운 하나의 노드로 바꾸는 과정을 더 포함하되,상기 새로운 하나의 노드는,런타임(run-time)에 비용모델(cost model)을 이용하여 레이어별 실행순서에 따른 이득을 산출하여, 이득이 더 큰 실행순서에 따라 임베딩누적 및 변환을 수행하는 노드인, 그래프 신경망 가속을 위한 방법
|
5 |
5
제4 항에 있어서,상기 비용모델은,입력 텐서의 차원크기 감소인자 및 커널실행인자에 기초하여, 이득을 근사하는 것인, 그래프 신경망 가속을 위한 방법
|
6 |
6
제4 항에 있어서,상기 데이터플로우 그래프에 역전파 연산이 존재하는 경우, 호스트에서 상기 서브그래프의 포맷변환을 미리 수행하도록 상기 데이터플로우 그래프를 수정하는 과정을 더 포함하는, 그래프 신경망 가속을 위한 방법
|
7 |
7
제1 항 또는 제4 항에 있어서,상기 서브그래프 및 임베딩 테이블을 획득하는 과정 이전에,호스트에서 그래프 샘플링, 그래프 리인덱싱, 임베딩룩업 및 GPU로의 데이터전송을 포함하는 전처리(preprocessing) 구성요소 각각을 상기 그래프 신경망의 레이어별로 적어도 하나 이상의 서브태스크들(subtasks)로 나누는 과정;상기 서브태스크들을 입출력 데이터의 종류 및 상호의존성에 기초하여 스케줄링하는 과정; 및상기 스케줄링에 따라 상기 서브태스크들을 복수의 쓰레드를 이용하여 병렬적으로 실행하는 과정을 더 포함하는, 그래프 신경망 가속을 위한 방법
|
8 |
8
대규모 그래프 데이터의 효율적인 병렬 처리를 위한 그래프 신경망 가속 장치로서,레이어별 서브그래프 및 임베딩 테이블을 획득하여, 특징 차원 및 SM(스트리밍 멀티프로세스) 내 최대 쓰레드 수에 기초하여 하나의 목적지-버텍스의 임베딩 처리를 위해 할당할 상기 SM의 수를 결정하고, 상기 서브그래프에 포함된 모든 목적지-버텍스들 각각에 상기 결정된 수의 SM을 할당하는 SM스케줄러; 및상기 SM이 자신에게 할당된 목적지-버텍스의 임베딩을 획득하고, 상기 SM이 상기 서브그래프를 이용하여 상기 목적지-버텍스의 적어도 하나 이상의 이웃-버텍스의 임베딩을 획득하여, 상기 SM이 상기 목적지-버텍스 및 상기 이웃-버텍스의 임베딩들을 이용하여 사용자 지정 연산을 수행하는 연산부를 포함하는 그래프 신경망 가속을 위한 장치
|
9 |
9
제8 항에 있어서,상기 서브그래프는,행 압축 희소행렬(CSR)로 표현된 것인, 그래프 신경망 가속을 위한 장치
|
10 |
10
제8 항에 있어서,상기 사용자 지정 연산은,추론을 위한 순전파 연산 및 훈련을 위한 역전파 연산 중 적어도 하나를 포함하는, 그래프 신경망 가속을 위한 장치
|
11 |
11
제8 항에 있어서,데이터플로우 그래프를 획득하고, 상기 데이터플로우 그래프의 임베딩누적 노드 및 뒤따르는 변환 노드를 새로운 하나의 노드로 바꾸는 동적커널배치부를 더 포함하되,상기 새로운 하나의 노드는,런타임(run-time)에 비용모델(cost model)을 이용하여 레이어별 실행순서에 따른 이득을 산출하여, 이득이 더 큰 실행순서에 따라 임베딩누적 및 변환을 수행하는 노드인, 그래프 신경망 가속을 위한 장치
|
12 |
12
제11 항에 있어서,상기 비용모델은,입력 텐서의 차원크기 감소인자 및 커널실행인자에 기초하여, 이득을 근사하는 것인, 그래프 신경망 가속을 위한 장치
|
13 |
13
제11 항에 있어서,상기 동적커널배치부는,상기 데이터플로우 그래프에 역전파 연산이 존재하는 경우, 호스트에서 상기 서브그래프의 포맷변환을 미리 수행하도록 상기 데이터플로우 그래프를 수정하는, 그래프 신경망 가속을 위한 장치
|
14 |
14
제8 항 또는 제11 항에 있어서,호스트에서 그래프 샘플링, 그래프 리인덱싱, 임베딩룩업 및 GPU로의 데이터전송을 포함하는 전처리 구성요소 각각을 상기 그래프 신경망의 레이어별로 적어도 하나 이상의 서브태스크들로 나누고, 상기 서브태스크들을 입출력 데이터의 종류 및 상호의존성에 기초하여 스케줄링하는 전처리스케줄러; 및상기 스케줄링에 따라 상기 서브태스크들을 복수의 쓰레드를 이용하여 병렬적으로 실행하는 전처리부를 더 포함하는, 그래프 신경망 가속을 위한 장치
|
15 |
15
명령어가 저장된, 컴퓨터로 읽을 수 있는 기록매체로서, 상기 명령어는 상기 컴퓨터에 의해 실행될 때 상기 컴퓨터로 하여금,레이어별 서브그래프 및 임베딩 테이블을 획득하는 과정;특징 차원 및 SM 내 최대 쓰레드 수에 기초하여 하나의 목적지-버텍스의 임베딩 처리를 위해 할당할 상기 SM의 수를 결정하는 과정;상기 서브그래프에 포함된 모든 목적지-버텍스들 각각에 상기 결정된 수의 SM을 할당하는 과정; 상기 SM이 자신에게 할당된 목적지-버텍스의 임베딩을 획득하는 과정;상기 SM이 상기 서브그래프를 이용하여 상기 목적지-버텍스의 적어도 하나 이상의 이웃-버텍스의 임베딩을 획득하는 과정; 및상기 SM이 상기 목적지-버텍스 및 상기 이웃-버텍스의 임베딩들을 이용하여 사용자가 지정한 연산을 수행하는 과정을 실행하도록 하는 것을 특징으로 하는, 컴퓨터로 읽을 수 있는 기록매체
|