1 |
1
프로세서가 수행하는 GPGPU 스레드 블록 스케줄링 확장 방법에 있어서,상기 프로세서가 GPGPU를 구성하는 복수의 스트림 멀티프로세서(Stream Multiprocessor, 이하 SM)들 각각에 대해 복수의 마이크로 스레드 블록(micro Thread Block, mTB)들로 구성된 매크로 스레드 블록(Macro Thread Block, 이하 MTB)을 설정하는 단계;상기 프로세서가 소프트웨어적으로 구현된 스케줄링 정책에 기초하여 서로 다른 서브 커널(Sub Kernel)들 내에 포함된 스레드 블록(Thread Block, 이하 TB)들을 상기 복수의 SM들 중 어느 하나의 SM에 설정된 MTB에 선택적으로 할당하는 단계를 포함하고,상기 서로 다른 서브 커널들은 소스 수준에서 하나의 통합 커널로 병합되어 상기 MTB에 할당되고,상기 MTB에 할당된 상기 통합 커널 내의 TB들은 수행해야할 서브 커널 정보를 식별하여 대응하는 서브 커널을 수행하는 GPGPU 스레드 블록 스케줄링 확장 방법
|
2 |
2
제1항에 있어서,상기 설정하는 단계는,동시에 최대 지원 가능한 스레드(Thread) 개수에 기초하여 상기 SM 내의 모든 하드웨어 자원을 커버하도록 MTB의 개수를 결정하는 GPGPU 스레드 블록 스케줄링 확장 방법
|
3 |
3
제1항에 있어서,상기 할당하는 단계는,상기 스레드 블록들 각각을 상기 복수의 SM들의 MTB에 라운드 로빈(Round-Robin) 방식에 따라 순차적으로 하나씩 할당하는 GPGPU 스레드 블록 스케줄링 확장 방법
|
4 |
4
제1항에 있어서,상기 할당하는 단계는,상기 스레드 블록들 각각을 상기 복수의 SM들 중 첫번째 SM의 MTB부터 모든 하드웨어 자원을 소진하도록 순차적으로 할당하는 GPGPU 스레드 블록 스케줄링 확장 방법
|
5 |
5
삭제
|
6 |
6
제1항에 있어서,상기 MTB에 할당된 상기 통합 커널 내의 TB들은,상기 SM 및 상기 mTB 별로 참조되는 서브 커널 정보를 제공하는 mTB 할당 테이블(mTB Allocation Table, mAT)을 이용하여 대응하는 서브 커널을 수행하는 GPGPU 스레드 블록 스케줄링 확장 방법
|
7 |
7
제6항에 있어서,상기 mTB 할당 테이블은,상기 mTB에 할당된 TB들의 서브 커널 수행 속도에 기초하여 이팍(Epoch) 별로 상이한 mTB 할당 테이블이 설계되는 GPGPU 스레드 블록 스케줄링 확장 방법
|
8 |
8
제1항 내지 제4항 및 제6항 내지 제7항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록된 컴퓨터에서 판독 가능한 기록 매체
|
9 |
9
GPGPU 스레드 블록 스케줄링 확장 장치에 있어서,프로세서를 포함하고,상기 프로세서는, GPGPU를 구성하는 복수의 스트림 멀티프로세서(Stream Multiprocessor, 이하 SM)들 각각에 대해 복수의 마이크로 스레드 블록(micro Thread Block, mTB)들로 구성된 매크로 스레드 블록(Macro Thread Block, 이하 MTB)을 설정하고,소프트웨어적으로 구현된 스케줄링 정책에 기초하여 서로 다른 서브 커널(Sub Kernel)들 내에 포함된 스레드 블록(Thread Block, 이하 TB)들을 상기 복수의 SM들 중 어느 하나의 SM에 설정된 MTB에 선택적으로 할당하고,서로 다른 서브 커널들은 소스 수준에서 하나의 통합 커널로 병합되어 상기 MTB에 할당되고,상기 MTB에 할당된 상기 통합 커널 내의 TB들은 수행해야할 서브 커널 정보를 식별하여 대응하는 서브 커널을 수행하는 GPGPU 스레드 블록 스케줄링 확장 장치
|
10 |
10
제9항에 있어서,상기 프로세서는,동시에 최대 지원 가능한 스레드(Thread) 개수에 기초하여 상기 SM 내의 모든 하드웨어 자원을 커버하도록 MTB의 개수를 결정하는 GPGPU 스레드 블록 스케줄링 확장 장치
|
11 |
11
제9항에 있어서,상기 프로세서는,상기 스레드 블록들 각각을 상기 복수의 SM들의 MTB에 라운드 로빈(Round-Robin) 방식에 따라 순차적을 하나씩 할당하는 GPGPU 스레드 블록 스케줄링 확장 장치
|
12 |
12
제9항에 있어서,상기 프로세서는,상기 스레드 블록들 각각을 상기 복수의 SM들 중 첫번째 SM의 MTB부터 모든 하드웨어 자원을 소진하도록 순차적으로 할당하는 GPGPU 스레드 블록 스케줄링 확장 장치
|
13 |
13
삭제
|
14 |
14
제9항에 있어서,상기 MTB에 할당된 상기 통합 커널 내의 TB들은,상기 SM 및 상기 mTB 별로 참조되는 서브 커널 정보를 제공하는 mTB 할당 테이블(mTB Allocation Table, mAT)을 이용하여 대응하는 서브 커널을 수행하는 GPGPU 스레드 블록 스케줄링 확장 장치
|
15 |
15
제14항에 있어서,상기 mTB 할당 테이블은,상기 mTB에 할당된 TB들의 서브 커널 수행 속도에 기초하여 이팍(Epoch) 별로 상이한 mTB 할당 테이블이 설계되는 GPGPU 스레드 블록 스케줄링 확장 장치
|