1 |
1
DNN 프레임워크를 이용하는 단일 가속기용 프로그램을 복수의 가속기에서 처리하는 방법에 있어서,딥러닝 연산 함수에 대한 호출을 수신하는 단계;단일의 가속기에서 상기 딥러닝 연산 함수를 실행하기 위한 가속기 라이브러리 함수에 대한 호출을 수신하는 단계;상기 가속기 라이브러리 함수의 호출에 응답하여, 접근 가능한 복수의 가속기의 각각에 상기 가속기 라이브러리 함수를 할당하는 단계;상기 복수의 가속기의 각각으로부터 상기 가속기 라이브러리 함수를 처리한 중간 결과 데이터를 수신하는 단계; 및상기 수신된 중간 결과 데이터를 기초로, 상기 호출된 가속기 라이브러리 함수에 대한 결과 데이터를 생성하는 단계를 포함하는,단일 가속기용 프로그램을 복수의 가속기에서 처리하는 방법
|
2 |
2
제1항에 있어서,상기 접근 가능한 복수의 가속기의 각각에 상기 가속기 라이브러리 함수를 할당하는 단계는, 상기 가속기 라이브러리 함수의 입력 데이터를 복수의 부분 입력 데이터 세트로 분할하는 단계; 및 상기 가속기 라이브러리 함수 및 상기 분할된 복수의 부분 입력 데이터 세트의 각각을 상기 복수의 가속기의 각각에 할당하는 단계를 포함하고,상기 복수의 가속기의 각각으로부터 상기 가속기 라이브러리 함수를 처리한 중간 결과 데이터를 수신하는 단계는, 상기 복수의 가속기의 각각에서 상기 가속기 라이브러리 함수를 이용하여 상기 복수의 부분 입력 데이터 세트의 각각을 처리한 중간 결과 데이터를 수신하는 단계를 포함하는,단일 가속기용 프로그램을 복수의 가속기에서 처리하는 방법
|
3 |
3
제2항에 있어서,상기 가속기 라이브러리 함수 및 상기 분할된 복수의 부분 입력 데이터 세트의 각각을 상기 복수의 가속기의 각각에 할당하는 단계는,상기 가속기 라이브러리 함수의 메모리 접근 패턴을 분석하는 단계; 및상기 분석된 접근 패턴에 기초하여 상기 가속기 라이브러리 함수의 실행 전에 상기 가속기 라이브러리 함수의 입력 데이터를 상기 접근 가능한 복수의 가속기의 각각에 할당하는 단계를 포함하는,단일 가속기용 프로그램을 복수의 가속기에서 처리하는 방법
|
4 |
4
제2항에 있어서,상기 가속기 라이브러리 함수 및 상기 분할된 복수의 부분 입력 데이터 세트의 각각을 상기 복수의 가속기의 각각에 할당하는 단계는,상기 복수의 가속기의 각각에 할당되는 부분 입력 데이터 세트가 n개의 부분 입력 데이터 세트를 포함하는 경우(여기서, n은 2이상의 자연수임), 상기 n개의 부분 입력 데이터 세트 중에서, m번째 부분 입력 데이터 세트를 상기 복수의 가속기의 각각에서 처리하는 동시에 m+1번째 부분 입력 데이터 세트가 상기 복수의 가속기의 각각에 할당하는 단계(여기서, m은 n보다 작은 자연수임)를 포함하는,단일 가속기용 프로그램을 복수의 가속기에서 처리하는 방법
|
5 |
5
제1항에 있어서,상기 접근 가능한 복수의 가속기의 각각에 상기 가속기 라이브러리 함수를 할당하는 단계는, 상기 가속기 라이브러리 함수의 파라미터 데이터를 복수의 부분 파라미터 데이터 세트로 분할하는 단계; 및 상기 가속기 라이브러리 함수 및 상기 분할된 복수의 부분 파라미터 데이터 세트의 각각을 상기 복수의 가속기의 각각에 할당하는 단계를 포함하는, 단일 가속기용 프로그램을 복수의 가속기에서 처리하는 방법
|
6 |
6
제5항에 있어서,상기 복수의 가속기의 각각으로부터 상기 가속기 라이브러리 함수를 처리한 중간 결과 데이터를 수신하는 단계는 상기 복수의 가속기의 각각으로부터 상기 가속기 라이브러리 함수의 파라미터 데이터를 처리한 중간 결과 데이터를 수신하는 단계를 포함하고,상기 호출된 가속기 라이브러리 함수에 대한 결과 데이터를 생성하는 단계는, 상기 가속기 라이브러리 함수의 파라미터 데이터를 처리한 중간 결과 데이터에 대한 결과 데이터를 생성하는 단계를 포함하는,단일 가속기용 프로그램을 복수의 가속기에서 처리하는 방법
|
7 |
7
제1항에 있어서,상기 수신된 중간 결과 데이터를 기초로, 상기 호출된 가속기 라이브러리 함수에 대한 결과 데이터를 생성하는 단계는 상기 수신된 중간 결과 데이터를 연결하여(concatenate) 상기 결과 데이터를 생성하는 단계를 포함하는,단일 가속기용 프로그램을 복수의 가속기에서 처리하는 방법
|
8 |
8
제1항에 있어서,상기 수신된 중간 결과 데이터를 기초로, 상기 호출된 가속기 라이브러리 함수에 대한 결과 데이터를 생성하는 단계는 상기 수신된 중간 결과 데이터를 연산하여 상기 결과 데이터를 생성하는 단계를 포함하는,단일 가속기용 프로그램을 복수의 가속기에서 처리하는 방법
|
9 |
9
제1항에 있어서,상기 복수의 가속기는 하나의 컴퓨팅 장치에 포함되는,단일 가속기용 프로그램을 복수의 가속기에서 처리하는 방법
|
10 |
10
제1항에 있어서,상기 복수의 가속기는 복수의 컴퓨팅 장치를 포함하는 클러스터 시스템에 포함되는,단일 가속기용 프로그램을 복수의 가속기에서 처리하는 방법
|
11 |
11
제1항 내지 제10항 중 어느 한 항에 따른 DNN 프레임워크를 이용하는 단일 가속기용 프로그램을 복수의 가속기에서 처리하는 방법을 컴퓨터에서 실행하기 위해 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램
|