1 |
1
OpenCL 프로그램을 컴파일하기 위한 프로그램 컴파일 장치로서,OpenCL 커널을 반복문 이전 구문, 반복문 안 구문 및 반복문 이후 구문으로 분리하는 구문분리부;각 구문에 대응되는 회로를 생성하는 회로생성부; 및상기 생성된 회로를 하드웨어 기술 언어로 표현하는 언어생성부를 포함하며,상기 회로생성부는 상기 반복문 안 구문에 대응되는 회로의 수는 최대가 되고, 상기 반복문 이전 구문 및 상기 반복문 이후 구문에 각각 대응되는 회로의 수는 최소가 되도록, 상기 OpenCL 커널을 실행하기 위한 계산 디바이스의 용량에 기초하여 상기 반복문 안 구문에 대응되는 회로를 소정의 횟수 이상 복제하는, 프로그램 컴파일 장치
|
2 |
2
제 1 항에 있어서,상기 OpenCL 커널에 기초하여 컨트롤 플로우 그래프를 생성하는 그래프생성부를 더 포함하고,상기 구문분리부는,상기 컨트롤 플로우 그래프에 기초하여 상기 OpenCL 커널을 반복문 이전 구문, 반복문 안 구문 및 반복문 이후 구문으로 분리하는, 프로그램 컴파일 장치
|
3 |
3
제 1 항에 있어서,상기 회로생성부는,상기 반복문 이전 구문에 대응되는 제1단위회로, 상기 반복문 안 구문에 대응되는 제2단위회로 및 상기 반복문 이후 구문에 대응되는 제3단위회로를 생성하는, 프로그램 컴파일 장치
|
4 |
4
제 3 항에 있어서,상기 회로생성부는,상기 제2단위회로를 소정의 횟수이상 복제하여 하나 이상의 제2단위회로를 생성하는, 프로그램 컴파일 장치
|
5 |
5
제 3 항에 있어서,상기 제1단위회로 내지 상기 제3단위회로는 하나 이상의 파이프라인 스테이지로 구성되어 하나 이상의 워크 아이템을 동시에 실행할 수 있는, 프로그램 컴파일 장치
|
6 |
6
제 3 항에 있어서,상기 회로생성부는,상기 제1단위회로 및 제2단위회로 간의 제1제어회로, 및 상기 제2단위회로 및 상기 제3단위회로 간의 제2제어회로를 추가적으로 생성하여 결합시키는, 프로그램 컴파일 장치
|
7 |
7
제 6 항에 있어서,상기 제1제어회로는, 상기 제2단위회로에 새로운 워크 아이템이 진입할 수 있음을 나타내는 제1시그널 값을 상기 제2단위회로로부터 전달받아 검사하며,상기 제2제어회로는, 상기 제2단위회로에서의 워크 아이템이 상기 제2단위회로에서 빠져나가야 함을 나타내는 제2시그널 값을 상기 제2단위회로로부터 전달받아 검사하는, 프로그램 컴파일 장치
|
8 |
8
프로그램 컴파일 장치가 OpenCL 프로그램을 컴파일하는 방법으로서,OpenCL 커널을 반복문 이전 구문, 반복문 안 구문 및 반복문 이후 구문으로 분리하는 단계;각 구문에 대응되는 회로를 생성하는 단계; 및상기 생성된 회로를 하드웨어 기술 언어로 표현하는 단계를 포함하며,상기 회로를 생성하는 단계는, 상기 반복문 안 구문에 대응되는 회로의 수는 최대가 되고, 상기 반복문 이전 구문 및 상기 반복문 이후 구문에 각각 대응되는 회로의 수는 최소가 되도록, 상기 OpenCL 커널을 실행하기 위한 계산 디바이스의 용량에 기초하여 상기 반복문 안 구문에 대응되는 회로를 소정의 횟수 이상 복제하는, 프로그램 컴파일 방법
|
9 |
9
제 8 항에 있어서,OpenCL 커널에 기초하여 컨트롤 플로우 그래프 생성하는 단계를 더 포함하며,상기 분리하는 단계는,상기 컨트롤 플로우 그래프에 기초하여 상기 OpenCL 커널을 반복문 이전 구문, 반복문 안 구문 및 반복문 이후 구문으로 분리하는 단계를 포함하는, 프로그램 컴파일 방법
|
10 |
10
제 8 항에 있어서,상기 회로를 생성하는 단계는,상기 반복문 이전 구문에 대응되는 제1단위회로, 상기 반복문 안 구문에 대응되는 제2단위회로 및 상기 반복문 이후 구문에 대응되는 제3단위회로를 생성하는 단계를 포함하는, 프로그램 컴파일 방법
|
11 |
11
제 10 항에 있어서,상기 회로를 생성하는 단계는,상기 제2단위회로를 소정의 횟수이상 복제하여 하나 이상의 제2단위회로를 생성하는 단계를 더 포함하는, 프로그램 컴파일 방법
|
12 |
12
제 10 항에 있어서,상기 제1단위회로 내지 상기 제3단위회로는 하나 이상의 파이프라인 스테이지로 구성되어 하나 이상의 워크 아이템을 동시에 실행할 수 있는, 프로그램 컴파일 방법
|
13 |
13
제 10 항에 있어서,상기 회로를 생성하는 단계는,상기 제1단위회로 및 제2단위회로 간의 제1제어회로 및 상기 제2단위회로 및 상기 제3단위회로 간의 제2제어회로를 추가적으로 생성하여 결합시키는 단계를 더 포함하는, 프로그램 컴파일 방법
|
14 |
14
제 13 항에 있어서,상기 제1제어회로는, 상기 제2단위회로에 새로운 워크 아이템이 진입할 수 있음을 나타내는 제1시그널 값을 상기 제2단위회로로부터 전달받아 검사하며,상기 제2제어회로는, 상기 제2단위회로에서의 워크 아이템이 상기 제2단위회로에서 빠져나가야 함을 나타내는 제2시그널 값을 상기 제2단위회로로부터 전달받아 검사하는, 프로그램 컴파일 방법
|
15 |
15
제 8 항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독가능한 기록매체
|
16 |
16
프로그램 컴파일 장치에 의해 수행되며, 제 8 항에 기재된 방법을 수행하기 위해 기록매체에 저장된 컴퓨터 프로그램
|