1 |
1
스레드 블록 스케줄러가 수행하는 스레드 블록 스케줄링 방법에 있어서,GPU를 구성하는 복수의 스트림 멀티프로세서(Stream Multiprocessor, 이하 SM)들 각각에 대해 서로 다른 복수의 함수 유닛(Function Unit)을 처리하기 위한 컴퓨팅 자원의 잔여 자원량을 식별하는 단계;상기 GPU를 통해 처리될 복수의 스레드 블록(Thread Block, 이하 TB)들 각각에 대해 워크로드 종류에 따른 상기 컴퓨팅 자원의 자원 사용량을 식별하는 단계; 및상기 식별된 복수의 SM들 각각에 대한 컴퓨팅 자원의 잔여 자원량과 상기 복수의 TB들 각각에 대한 컴퓨팅 자원의 자원 사용량에 기초하여 상기 복수의 TB들 각각을 상기 복수의 SM들 중 어느 하나의 SM에 할당하는 단계를 포함하는 스레드 블록 스케줄링 방법
|
2 |
2
제1항에 있어서,상기 컴퓨팅 자원은,단정밀도 연산 장치, 배정밀도 연산 장치, 제어흐름 장치, 로드/스토어 장치 및 특수함수 연산 장치 중 적어도 하나를 포함하는 스레드 블록 스케줄링 방법
|
3 |
3
제1항에 있어서,상기 할당하는 단계는,특정 SM에 할당하고자 하는 둘 이상의 TB들이 서로 상이한 컴퓨팅 자원을 사용하는 경우, 상기 특정 SM의 컴퓨팅 자원에 대한 잔여 자원량을 초과하지 않는 한도 내에서 동일한 SM에 할당하는 스레드 블록 스케줄링 방법
|
4 |
4
제1항에 있어서,상기 할당하는 단계는,상기 복수의 TB들 각각을 상기 복수의 SM들에 라운드 로빈(Round-Robin) 방식에 따라 순차적으로 하나씩 할당하는 스레드 블록 스케줄링 방법
|
5 |
5
스레드 블록 스케줄러에 있어서,프로세서를 포함하고,상기 프로세서는,GPU를 구성하는 복수의 스트림 멀티프로세서(Stream Multiprocessor, 이하 SM)들 각각에 대해 서로 다른 복수의 함수 유닛(Function Unit)을 처리하기 위한 컴퓨팅 자원의 잔여 자원량을 식별하고, 상기 GPU를 통해 처리될 복수의 스레드 블록(Thread Block, 이하 TB)들 각각에 대해 워크로드 종류에 따른 상기 컴퓨팅 자원의 자원 사용량을 식별하며, 상기 식별된 복수의 SM들 각각에 대한 컴퓨팅 자원의 잔여 자원량과 상기 복수의 TB들 각각에 대한 컴퓨팅 자원의 자원 사용량에 기초하여 상기 복수의 TB들 각각을 상기 복수의 SM들 중 어느 하나의 SM에 할당하는 스레드 블록 스케줄러
|
6 |
6
제5항에 있어서,상기 컴퓨팅 자원은,단정밀도 연산 장치, 배정밀도 연산 장치, 제어흐름 장치, 로드/스토어 장치 및 특수함수 연산 장치 중 적어도 하나를 포함하는 스레드 블록 스케줄러
|
7 |
7
제5항에 있어서,상기 프로세서는,특정 SM에 할당하고자 하는 둘 이상의 TB들이 서로 상이한 컴퓨팅 자원을 사용하는 경우, 상기 특정 SM의 컴퓨팅 자원에 대한 잔여 자원량을 초과하지 않는 한도 내에서 동일한 SM에 할당하는 스레드 블록 스케줄러
|
8 |
8
제5항에 있어서,상기 프로세서는,상기 복수의 TB들 각각을 상기 복수의 SM들에 라운드 로빈(Round-Robin) 방식에 따라 순차적으로 하나씩 할당하는 스레드 블록 스케줄링 방법
|
9 |
9
스레드 블록 스케줄러가 수행하는 스레드 블록 스케줄링 방법에 있어서,GPU를 구성하는 복수의 스트림 멀티프로세서(Stream Multiprocessor, 이하 SM)들 각각에 대한 컴퓨팅 자원 및 메모리 자원의 잔여 자원량을 식별하는 단계;상기 GPU를 통해 처리될 복수의 스레드 블록(Thread Block, 이하 TB)들 각각에 대해 워크로드 종류에 따른 상기 GPU의 자원 사용량을 식별하는 단계; 및상기 식별된 복수의 SM들 각각에 대한 잔여 자원량과 상기 복수의 TB들 각각에 대한 GPU의 자원 사용량에 기초하여 상기 복수의 TB들 각각을 상기 복수의 SM들 중 어느 하나의 SM에 할당하는 단계를 포함하고,상기 컴퓨팅 자원은,서로 다른 복수의 함수 유닛(Function Unit)을 처리하기 위한 장치들로 구성되고,상기 메모리 자원은,레지스터 파일, 공유 메모리 및 통합 캐시로 구성되는 스레드 블록 스케줄링 방법
|
10 |
10
제9항에 있어서,상기 컴퓨팅 자원은,단정밀도 연산 장치, 배정밀도 연산 장치, 제어흐름 장치, 로드/스토어 장치 및 특수함수 연산 장치 중 적어도 하나를 포함하는 스레드 블록 스케줄링 방법
|
11 |
11
제9항에 있어서,상기 할당하는 단계는,특정 SM에 할당하고자 하는 둘 이상의 TB들에 대한 컴퓨팅 자원 및 메모리 자원이 상기 특정 SM의 잔여 자원량을 초과하지 않는 경우, 해당 TB들을 특정 SM에 할당하고, 상기 특정 SM의 잔여 자원량을 초과하는 경우, 특정 SM을 스킵(Skip)하는 스레드 블록 스케줄링 방법
|
12 |
12
제9항에 있어서,상기 할당하는 단계는,상기 복수의 TB들 각각을 상기 복수의 SM들에 라운드 로빈(Round-Robin) 방식에 따라 순차적으로 하나씩 할당하는 스레드 블록 스케줄링 방법
|
13 |
13
스레드 블록 스케줄러에 있어서,프로세서를 포함하고,상기 프로세서는,GPU를 구성하는 복수의 스트림 멀티프로세서(Stream Multiprocessor, 이하 SM)들 각각에 대한 컴퓨팅 자원 및 메모리 자원의 잔여 자원량을 식별하고, 상기 GPU를 통해 처리될 복수의 스레드 블록(Thread Block, 이하 TB)들 각각에 대한 워크로드 종류에 기초하여 요구되는 상기 GPU의 자원 사용량을 식별하며, 상기 식별된 복수의 SM들 각각의 잔여 자원량과 복수의 TB들 각각의 GPU 자원 사용량에 기초하여 상기 복수의 TB들 각각을 상기 복수의 SM들 중 어느 하나의 SM에 할당하고,상기 컴퓨팅 자원은,서로 다른 복수의 함수 유닛(Function Unit)을 처리하기 위한 장치들로 구성되고,상기 메모리 자원은,레지스터 파일, 공유 메모리 및 통합 캐시로 구성되는 스레드 블록 스케줄러
|
14 |
14
제13항에 있어서,상기 컴퓨팅 자원은,단정밀도 연산 장치, 배정밀도 연산 장치, 제어흐름 장치, 로드/스토어 장치 및 특수함수 연산 장치 중 적어도 하나를 포함하는 스레드 블록 스케줄러
|
15 |
15
제13항에 있어서,상기 프로세서는,특정 SM에 할당하고자 하는 둘 이상의 TB들에 대한 컴퓨팅 자원 및 메모리 자원이 상기 특정 SM의 잔여 자원량을 초과하지 않는 경우, 해당 TB들을 특정 SM에 할당하고, 상기 특정 SM의 잔여 자원량을 초과하는 경우, 해당 특정 SM을 스킵(Skip)하는 스레드 블록 스케줄러
|
16 |
16
제13항에 있어서,상기 프로세서는,상기 복수의 TB들 각각을 상기 복수의 SM들에 라운드 로빈(Round-Robin) 방식에 따라 순차적으로 하나씩 할당하는 스레드 블록 스케줄러
|