1 |
1
워크 아이템의 인스턴스를 표현하는 중첩 루프를 포함하는 스칼라 타입의 커널 코드에서 인덕션 변수 및 인덱스 변수를 검출하는 단계;상기 인덕션 변수 및 상기 인덱스 변수에 기초하여 상기 스칼라 타입의 커널 코드를 벡터 타입의 코드로 변환 하기 위한 조건을 만족하는지를 판단하는 단계; 및상기 조건을 만족하는 경우, 상기 스칼라 타입의 커널 코드를 상기 벡터 타입의 코드로 변환하는 단계;를 포함하는 벡터 코드 생성 방법
|
2 |
2
제 1 항에 있어서, 상기 판단하는 단계는,상기 스칼라 타입의 커널 코드에 포함된 배열의 인덱스 값이 불연속적인 경우, 상기 조건을 만족하지 않는 것으로 판단하는 벡터 코드 생성 방법
|
3 |
3
제 1 항에 있어서, 상기 판단하는 단계는,상기 스칼라 타입의 커널 코드에 포함된 배열의 인덱스 값을 정적으로 분석할 수 없는 경우, 상기 조건을 만족하지 않는 것으로 판단하는 벡터 코드 생성 방법
|
4 |
4
제 1 항에 있어서,상기 판단하는 단계는,상기 스칼라 타입의 커널 코드가 프라이빗(private) 배열에 대한 접근을 포함하는 경우, 상기 조건을 만족하지 않는 것으로 판단하는 벡터 코드 생성 방법
|
5 |
5
제 1 항에 있어서, 상기 판단하는 단계는,상기 스칼라 타입의 커널 코드가 사용자 정의 타입 변수 또는 빌트인 함수 이외의 함수 호출을 포함하는 경우, 상기 조건을 만족하지 않는 것으로 판단하는 벡터 코드 생성 방법
|
6 |
6
제 1 항에 있어서,상기 변환하는 단계는,상기 스칼라 타입의 커널 코드에서 함수의 인자로 사용되는 변수 또는 상기 스칼라 타입의 커널 코드에서 정의된 변수 중 상기 인덕션 변수를 제외한 변수를 벡터 타입의 변수로 재선언하는 단계; 및상기 스칼라 타입의 커널 코드에서 벡터 타입으로 변환할 수 있는 구문에 사용된 변수 참조를 상기 재선언된 벡터 타입의 변수 참조로 변환하는 단계;를 더 포함하는 벡터 코드 생성 방법
|
7 |
7
제 6 항에 있어서,상기 벡터 타입으로 변환할 수 있는 구문은,상기 인덕션 변수가 배열의 인덱스로 사용되고, 조건 분기문이 아닌 구문인 벡터 코드 생성 방법
|
8 |
8
제 1 항에 있어서,상기 변환하는 단계는,상기 중첩 루프 중 최내각 루프의 인덕션 변수 및 배열의 인덱스로 사용된 인덕션 변수에 벡터화 팩터를 적용하는 단계;를 더 포함하는 벡터 코드 생성 방법
|
9 |
9
제 8 항에 있어서,상기 적용하는 단계는,상기 배열의 인덱스로 사용된 인덕션 변수를 상기 벡터화 팩터로 나누고, 상기 최내각 루프의 인덕션 변수 증가 값을 상기 백터화 팩터로 변경하는 벡터 코드 생성 방법
|
10 |
10
제 1 항에 있어서, 상기 변환하는 단계는,상기 스칼라 타입의 커널 코드 중 상기 벡터 타입으로 변환할 수 없는 구문을 복사하는 단계;를 더 포함하는 벡터 코드 생성 방법
|
11 |
11
제 1 항에 있어서,상기 변환하는 단계는,상기 스칼라 타입의 커널 코드가 조건 분기문을 포함하는 경우, 상기 조건 분기문을 벡터화 팩터만큼 복사하고, 복사된 조건 분기문에 포함된 변수 및 배열에 대한 접근을 순차적인 벡터 엘리먼트에 대한 접근으로 변환하는 단계;를 더 포함하는 벡터 코드 생성 방법
|
12 |
12
프로세서;상기 프로세서를 이용하여 워크 아이템의 인스턴스를 표현하는 중첩 루프를 포함하는 스칼라 타입의 커널 코드에서 인덕션 변수 및 인덱스 변수를 검출하는 분석부;상기 프로세서를 이용하여 상기 인덕션 변수 및 상기 인덱스 변수에 기초하여 상기 스칼라 타입의 커널 코드를 벡터 타입의 코드로 변환하기 위한 조건을 만족하는지를 판단하는 판단부; 및상기 조건을 만족하는 경우, 상기 프로세서를 이용하여 상기 스칼라 타입의 커널 코드를 상기 벡터 타입의 코드로 변환하는 벡터 코드 생성부;를 포함하는 벡터 코드 생성 장치
|
13 |
13
제 12 항에 있어서, 상기 판단부는,상기 스칼라 타입의 커널 코드에 포함된 배열의 인덱스 값이 불연속적인 경우, 상기 조건을 만족하지 않는 것으로 판단하는 벡터 코드 생성 장치
|
14 |
14
제 12 항에 있어서, 상기 판단부는,상기 스칼라 타입의 커널 코드에 포함된 배열의 인덱스 값을 정적으로 분석할 수 없는 경우, 상기 조건을 만족하지 않는 것으로 판단하는 벡터 코드 생성 장치
|
15 |
15
제 12 항에 있어서,상기 판단부는,상기 스칼라 타입의 커널 코드가 프라이빗(private) 배열에 대한 접근을 포함하는 경우, 상기 조건을 만족하지 않는 것으로 판단하는 벡터 코드 생성 장치
|
16 |
16
제 12 항에 있어서, 상기 판단부는,상기 스칼라 타입의 커널 코드가 사용자 정의 타입 변수 또는 빌트인 함수 이외의 함수 호출을 포함하는 경우, 상기 조건을 만족하지 않는 것으로 판단하는 벡터 코드 생성 장치
|
17 |
17
제 12 항에 있어서,상기 벡터 코드 생성부는,상기 스칼라 타입의 커널 코드에서 함수의 인자로 사용되는 변수 또는 상기 스칼라 타입의 커널 코드에서 정의된 변수 중 상기 인덕션 변수를 제외한 변수를 벡터 타입의 변수로 재선언하고, 상기 스칼라 타입의 커널 코드에서 벡터 타입으로 변환할 수 있는 구문에 사용된 변수 참조를 상기 재선언된 벡터 타입의 변수 참조로 변환하는 벡터 코드 생성 장치
|
18 |
18
제 17 항에 있어서,상기 벡터 타입으로 변환할 수 있는 구문은,상기 인덕션 변수가 배열의 인덱스로 사용되고, 조건 분기문이 아닌 구문인 벡터 코드 생성 장치
|
19 |
19
제 12 항에 있어서,상기 벡터 코드 생성부는,상기 중첩 루프 중 최내각 루프의 인덕션 변수 및 배열의 인덱스로 사용된 인덕션 변수에 벡터화 팩터를 적용하는 벡터 코드 생성 장치
|
20 |
20
제 19 항에 있어서,상기 벡터 코드 생성부는,상기 배열의 인덱스로 사용된 인덕션 변수를 상기 벡터화 팩터로 나누고, 상기 최내각 루프의 인덕션 변수 증가 값을 상기 백터화 팩터로 변경하는 벡터 코드 생성 장치
|
21 |
21
제 12 항에 있어서, 상기 벡터 코드 생성부는,상기 스칼라 타입의 커널 코드 중 상기 벡터 타입으로 변환할 수 없는 구문을 복사하는 벡터 코드 생성 장치
|
22 |
22
제 12 항에 있어서,상기 벡터 코드 생성부는,상기 스칼라 타입의 커널 코드가 조건 분기문을 포함하는 경우, 상기 조건 분기문을 벡터화 팩터만큼 복사하고, 복사된 조건 분기문에 포함된 변수 및 배열에 대한 접근을 순차적인 벡터 엘리먼트에 대한 접근으로 변경하는 벡터 코드 생성 장치
|