1 |
1
복수 개의 코어들을 포함하는 컴퓨팅 장치에 있어서,OpenCL(Open Computing Language) 커널(kernel)을 실행하기 위한 작업 그룹을 하위 계층의 컨트롤 코어(control core) 및 프로세싱 코어(processing core)에 할당하는, 컨트롤 코어 그룹; 및 적어도 하나의 상기 프로세싱 코어를 포함하고, 상기 컨트롤 코어 그룹에 의해 할당된 상기 작업 그룹을 처리하고, 상기 작업 그룹의 처리 결과를 출력하는, 프로세싱 코어 그룹;을 포함하고,상기 컨트롤 코어 그룹에 포함된 복수 개의 컨트롤 코어들은, 상기 컨트롤 코어들에 의해 상기 작업 그룹이 할당되는 상기 프로세싱 코어의 수에 따라, 계층적으로 분류되는, 컴퓨팅 장치
|
2 |
2
제 1 항에 있어서,상기 컨트롤 코어 그룹은,상기 OpenCL 커널의 실행 정보가 수신됨에 따라, 상기 작업 그룹을 상기 하위 계층의 컨트롤 코어에 할당하고, 상기 할당된 작업 그룹에 관한 정보를 상기 하위 계층의 컨트롤 코어에 전송하는, 최상위(root) 컨트롤 코어; 및상위 계층의 컨트롤 코어에 의해 할당된 작업 그룹에 관한 정보를 수신하여, 상기 프로세싱 코어에 상기 작업 그룹을 할당하는, 적어도 하나의 최하위 컨트롤 코어를 포함한, 최하위(leaf) 컨트롤 코어 그룹; 을 포함하는, 컴퓨팅 장치
|
3 |
3
제 2 항에 있어서,상기 컨트롤 코어 그룹은,상기 하위 계층의 컨트롤 코어 및 상기 프로세싱 코어의 상기 작업 그룹의 처리 결과에 따라, 다른 하위 계층의 컨트롤 코어 및 다른 프로세싱 코어에 할당된 작업 그룹을 재할당하는, 컴퓨팅 장치
|
4 |
4
제 2 항에 있어서,상기 컨트롤 코어 그룹은, 상기 최상위 컨트롤 코어에 의해 할당된 작업 그룹에 대한 정보를 수신하여, 상기 최하위 컨트롤 코어 그룹에 상기 작업 그룹을 할당하는, 복수 개의 중간 컨트롤 코어들을 포함한, 중간 컨트롤 코어 그룹;을 더 포함하고,상기 중간 컨트롤 코어들은, 상기 중간 컨트롤 코어들에 의해 상기 작업 그룹이 할당되는 상기 프로세싱 코어의 수에 따라, 계층적으로 분류되고, 상위 계층의 중간 컨트롤 코어는 하위 계층의 중간 컨트롤 코어에 상기 작업 그룹을 할당하는, 컴퓨팅 장치
|
5 |
5
제 2 항에 있어서,상기 최상위 컨트롤 코어는 상기 OpenCL 커널이 실행됨에 따라, 호스트 프로세서에 의해 생성된 상기 OpenCL 커널의 실행 정보를 수신하는, 컴퓨팅 장치
|
6 |
6
제 5 항에 있어서,상기 최상위 컨트롤 코어는,상기 OpenCL 커널을 실행하기 위한 작업 그룹을 처리 중일 때, 상기 호스트 프로세서로부터 새로운 OpenCL 커널의 실행 정보가 수신됨에 따라, 상기 프로세싱 코어 그룹에 할당된 상기 작업 그룹을 재할당하는, 컴퓨팅 장치
|
7 |
7
제 5 항에 있어서,상기 호스트 프로세서는,상기 컨트롤 코어 그룹에 의해 상기 프로세싱 코어 그룹에 상기 작업 그룹의 할당이 완료되면, 상기 OpenCL 커널의 실행을 중단하고, 할당 결과를 수집하여 출력하는, 컴퓨팅 장치
|
8 |
8
제 1 항에 있어서,상기 프로세싱 코어는,적어도 하나의 프로세싱 엘리먼트를 포함하고,상기 작업 그룹에 포함된 작업 아이템의 수보다 상기 프로세싱 엘리먼트의 수가 적을 때, 상기 프로세싱 엘리먼트가 상기 작업 아이템을 직렬화하여, 순차적으로 실행할 수 있도록 상기 OpenCL 커널을 변환하는, 컴퓨팅 장치
|
9 |
9
제 1 항에 있어서,상기 작업 그룹에 관한 정보를 저장하는, 버퍼;를 더 포함하는, 컴퓨팅 장치
|
10 |
10
제 9 항에 있어서,상기 작업 그룹에 관한 정보는,상기 하위 계층의 컨트롤 코어 및 상기 프로세싱 코어에 할당된 작업 그룹의 수와 상기 할당된 작업 그룹의 ID 중 적어도 하나를 포함하는, 컴퓨팅 장치
|
11 |
11
컨트롤 코어 그룹에 의해, OpenCL(Open Computing Language) 커널(kernel)을 실행하기 위한 작업 그룹을 하위 계층의 컨트롤 코어(control core) 및 프로세싱 코어(processing core)에 할당하는 단계; 적어도 하나의 상기 프로세싱 코어가 포함된 프로세싱 코어 그룹에 의해, 상기 할당된 상기 작업 그룹을 처리하는 단계; 및상기 프로세싱 코어 그룹에 의해, 상기 작업 그룹의 처리 결과를 출력하는 단계; 를 포함하고,상기 컨트롤 코어 그룹에 포함된 복수 개의 컨트롤 코어들은, 상기 컨트롤 코어들에 의해 상기 작업 그룹이 할당되는 상기 프로세싱 코어의 수에 따라, 계층적으로 분류되는, OpenCL 커널을 처리하는 방법
|
12 |
12
제 11 항에 있어서,상기 컨트롤 코어 그룹은,상기 OpenCL 커널의 실행 정보가 수신됨에 따라, 상기 작업 그룹을 상기 하위 계층의 컨트롤 코어에 할당하고, 상기 할당된 작업 그룹에 관한 정보를 상기 하위 계층의 컨트롤 코어에 전송하는, 최상위(root) 컨트롤 코어; 및상위 계층의 컨트롤 코어에 의해 할당된 작업 그룹에 관한 정보를 수신하여, 상기 프로세싱 코어에 상기 작업 그룹을 할당하는, 적어도 하나의 최하위 컨트롤 코어를 포함한, 최하위(leaf) 컨트롤 코어 그룹; 을 포함하는, OpenCL 커널을 처리하는 방법
|
13 |
13
제 12 항에 있어서,상기 컨트롤 코어 그룹에 의해, 상기 출력된 상기 작업 그룹의 처리 결과에 따라, 하위 계층의 다른 컨트롤 코어 및 다른 프로세싱 코어에 할당된 작업 그룹을 재할당하는 단계;를 더 포함하는, OpenCL 커널을 처리하는 방법
|
14 |
14
제 12 항에 있어서,상기 컨트롤 코어 그룹은, 상기 최상위 컨트롤 코어에 의해 할당된 작업 그룹에 대한 정보를 수신하여, 상기 최하위 컨트롤 코어 그룹에 상기 작업 그룹을 할당하는, 복수 개의 중간 컨트롤 코어들을 포함한, 중간 컨트롤 코어 그룹;을 더 포함하고,상기 중간 컨트롤 코어들이, 상기 중간 컨트롤 코어들에 의해 상기 작업 그룹이 할당되는 상기 프로세싱 코어의 수에 따라, 계층적으로 분류될 때, 상기 작업 그룹을 할당하는 단계는,상위 계층의 중간 컨트롤 코어에 의해, 하위 계층의 중간 컨트롤 코어에 상기 작업 그룹을 할당하는 단계;를 포함하는, OpenCL 커널을 처리하는 방법
|
15 |
15
제 12 항에 있어서,상기 OpenCL 커널이 실행됨에 따라, 상기 최상위 컨트롤 코어에 의해, 호스트 프로세서에 의해 생성된 상기 OpenCL 커널의 실행 정보를 수신하는 단계;를 더 포함하는, OpenCL 커널을 처리하는 방법
|
16 |
16
제 15 항에 있어서,상기 OpenCL 커널을 실행하기 위한 작업 그룹을 처리 중일 때, 상기 호스트 프로세서로부터 새로운 OpenCL 커널의 실행 정보가 수신됨에 따라, 상기 최상위 컨트롤 코어에 의해, 상기 프로세싱 코어 그룹에 할당된 상기 작업 그룹을 재할당하는 단계;를 더 포함하는, OpenCL 커널을 처리하는 방법
|
17 |
17
제 11 항에 있어서,상기 작업 그룹을 처리하는 단계는,상기 프로세싱 코어가 적어도 하나의 프로세싱 엘리먼트를 포함하고 상기 작업 그룹에 포함된 작업 아이템의 수보다 상기 프로세싱 엘리먼트의 수가 적을 때,상기 프로세싱 엘리먼트가 상기 작업 아이템을 직렬화하여, 순차적으로 실행할 수 있도록 상기 OpenCL 커널을 변환하는 단계;를 더 포함하는, OpenCL 커널을 처리하는 방법
|
18 |
18
제 11 항에 있어서,상기 작업 그룹에 관한 정보를 버퍼에 저장하는 단계;를 포함하는, OpenCL 커널을 처리하는 방법
|
19 |
19
제 18 항에 있어서,상기 작업 그룹에 관한 정보는,상기 하위 계층의 컨트롤 코어 및 상기 프로세싱 코어에 할당된 작업 그룹의 수와 상기 할당된 작업 그룹의 ID 중 적어도 하나를 포함하는, OpenCL 커널을 처리하는 방법
|
20 |
20
제 11 항 내지 제 19 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 방법을 기록한 컴퓨터로 읽을 수 있는 기록매체
|