1 |
1
분석부, 플래그 코드 삽입부, 변수 선언부 및 결정 코드 삽입부를 포함하는 멱등 커널 생성 장치를 생성하는 방법에 있어서, 상기 분석부의 제어 하에 GPU 커널함수와 관련된 소스 코드 내 정적으로 결정되지 않는 WAR(Write After Read) 위험과 관련된 제1 메모리 변수를 확인하는 단계;상기 코드 삽입부의 제어 하에 상기 제1 메모리 변수에 대한 읽기 접근 또는 쓰기 접근을 추적하기 위한 접근 플래그 비트맵을 설정하는 코드를 삽입하는 단계;상기 변수 선언부의 제어 하에 상기 GPU 커널함수 내 임시 포인터 변수를 지역 변수로 선언하고, 상기 제1 메모리 변수로 초기화하는 단계; 및상기 결정 코드 삽입부의 제어 하에 상기 임시 포인터 변수에 대한 읽기 접근 후, 쓰기 접근 발생 전에 동적으로 상기 임시 포인터 변수를 제1 메모리 변수로 할지, 제2 메모리 변수로 할지 결정하는 코드를 삽입하는 단계를 포함하는 것을 특징으로 하는 멱등 커널 생성 방법
|
2 |
2
제1항에 있어서,상기 정적으로 결정되지 않는 WAR(Write After Read) 위험과 관련된 변수들은 조건문 또는 동적으로 결정되는 인덱스와 관련된 변수들인 멱등 커널 생성 방법
|
3 |
3
제1항에 있어서,상기 접근 플래그 비트맵은 글로벌 메모리에 포함되는 영역들 각각에 대한 쓰기 접근 또는 읽기 접근을 나타내는 비트(bit) 집합인 멱등 커널 생성 방법
|
4 |
4
제3항에 있어서,상기 접근 플래그 비트맵을 설정하는 코드는 상기 글로벌 메모리에 포함되는 특정 영역에 대한 읽기 접근 또는 쓰기 접근이 발생한 경우, 상기 특정 영역에 매핑되는 비트가 1의 값을 갖도록 하는 멱등 커널 생성 방법
|
5 |
5
제1항에 있어서,상기 제1 메모리 변수 및 상기 제2 메모리 변수는 글로벌 메모리 변수인 멱등 커널 생성 방법
|
6 |
6
GPU 커널함수와 관련된 소스 코드 내 정적으로 결정되지 않는 WAR(Write After Read) 위험과 관련된 제1 메모리 변수를 확인하는 분석부;상기 제1 메모리 변수에 대한 읽기 접근 또는 쓰기 접근을 추적하기 위한 접근 플래그 비트맵을 설정하는 코드를 삽입하는 플래그 코드 삽입부;상기 GPU 커널함수 내 임시 포인터 변수를 지역 변수로 선언하고, 상기 제1 메모리 변수로 초기화하는 변수 선언부; 및상기 임시 포인터 변수에 대한 읽기 접근 후, 쓰기 접근 발생 전에 동적으로 상기 임시 포인터 변수를 제1 메모리 변수로 할지, 제2 메모리 변수로 할지 결정하는 코드를 삽입하는 결정 코드 삽입부를 포함하는 것을 특징으로 하는 멱등 커널 생성 장치
|
7 |
7
제6항에 있어서,상기 정적으로 결정되지 않는 WAR(Write After Read) 위험과 관련된 변수들은 조건문 또는 동적으로 결정되는 인덱스와 관련된 변수들인 멱등 커널 생성 장치
|
8 |
8
제6항에 있어서,상기 접근 플래그 비트맵은 글로벌 메모리에 포함되는 영역들 각각에 대한 쓰기 접근 또는 읽기 접근을 나타내는 비트(bit) 집합인 멱등 커널 생성 장치
|
9 |
9
제8항에 있어서,상기 접근 플래그 비트맵을 설정하는 코드는 상기 글로벌 메모리에 포함되는 특정 영역에 읽기 접근 또는 쓰기 접근이 발생한 경우, 상기 특정 영역에 매핑되는 비트가 1의 값을 갖도록 하는 멱등 커널 생성 장치
|
10 |
10
제6항에 있어서,상기 제1 메모리 변수 및 상기 제2 메모리 변수는 글로벌 메모리 변수인 멱등 커널 생성 장치
|