1 |
1
응용 프로그램들의 컴파일 및 런타임을 이용하여 알고리즘을 오프라인 학습시키는 단계와;모바일 기기에서 제 1응용 프로그램이 실행되는 단계와;상기 알고리즘을 이용하여 상기 제 1응용 프로그램의 CPU 및 GPU의 작업량을 분배하는 단계와;상기 제 1응용 프로그램의 CPU 및 GPU의 작업량을 재설정하기 위하여 온라인 학습을 수행하는 단계와;상기 제 1응용 프로그램의 CPU 및 GPU 작업량을 상기 온라인 학습 결과에 대응하여 재설정하는 단계를 포함하는 것을 특징으로 하는 이종 컴퓨팅 방법
|
2 |
2
제 1항에 있어서,상기 응용 프로그램들 및 상기 제 1응용 프로그램은 WebCL로 작성된 것을 특징으로 하는 이종 컴퓨팅 방법
|
3 |
3
제 1항에 있어서,상기 온라인 학습이 끝난 후, 상기 제 1응용 프로그램의 현재루틴을 종료하고, 상태값을 반환하는 단계와;상기 종료된 현재루틴 및 상기 상태값을 이용하여 상기 제 1응용 프로그램의 시작지점을 설정하는 단계와;상기 온라인 학습에 대응하여 상기 CPU 및 상기 GPU의 작업량을 분배하는 단계와;상기 시작시점부터 상기 제 1응용 프로그램을 실행하는 단계를 더 포함하는 것을 특징으로 하는 이종 컴퓨팅 방법
|
4 |
4
제 1항에 있어서,상기 온라인 학습은 백그라운드에서 수행되는 것을 특징으로 하는 이종 컴퓨팅 방법
|
5 |
5
제 1항에 있어서,상기 오프라인 학습 단계는상기 응용 프로그램들의 컴파일로부터 특징값을 추출하는 단계와;상기 CPU 및 GPU의 작업량 비율을 변경하면서 상기 응용 프로그램들의 런타임을 분석하는 단계와;상기 추출값 및 상기 런타임 분석 결과에 대응하여 상기 알고리즘을 학습시키는 단계를 포함하는 것을 특징으로 하는 이종 컴퓨팅 방법
|
6 |
6
제 5항에 있어서,상기 특징값은 메모리 접근 횟수, 부동소수점 연산 개수, 상기 CPU 및 상기 GPU 간 데이터 전이 횟수, 반복 루프의 크기 중 적어도 하나가 포함되는 것을 특징으로 하는 이종 컴퓨팅 방법
|
7 |
7
제 1항에 있어서,상기 알고리즘은 상기 제 1응용 프로그램의 컴파일로부터 추출된 특징값을 이용하여 상기 CPU 및 상기 GPU의 작업량을 분배하는 것을 특징으로 하는 이종 컴퓨팅 방법
|
8 |
8
제 7항에 있어서,상기 특징값은 메모리 접근 횟수, 부동소수점 연산 개수, 상기 CPU 및 상기 GPU 간 데이터 전이 횟수, 반복 루프의 크기 중 적어도 하나가 포함되는 것을 특징으로 하는 이종 컴퓨팅 방법
|
9 |
9
제 1항에 있어서,상기 온라인 학습을 수행하는 단계는코어당 작업 아이템의 수를 변경하면서 성능이 포화 상태인지를 판단하는 제 1단계와;상기 제 1단계에서 성능이 개선된 경우, 상기 CPU 및 GPU의 작업량 비율을 변경하면서 상기 제 1단계를 반복하는 제 2단계와;상기 제 1단계에서 성능이 개선되지 않는 경우, 상기 온라인 학습을 종료하는 제 3단계를 포함하는 것을 특징으로 하는 이종 컴퓨팅 방법
|
10 |
10
제 9항에 있어서,상기 포화 상태로 판단되는 시점은, 상기 코어당 작업 아이템의 수가 증가될 때 상기 제 1응용 프로그램의 실행시간이 미리 설정된 임계시간 이내로 단축될 때인 것을 특징으로 하는 이종 컴퓨팅 방법
|
11 |
11
제 9항에 있어서,상기 코어당 할당되는 상기 작업 아이템의 수는 선형적으로 증가되는 것을 특징으로 하는 이종 컴퓨팅 방법
|
12 |
12
제 9항에 있어서,상기 코어당 할당되는 상기 작업 아이템의 수는 지수 함수적으로 증가되는 것을 특징으로 하는 이종 컴퓨팅 방법
|
13 |
13
제 9항에 있어서,상기 성능은 상기 제 1응용 프로그램의 실행속도를 이용하여 판단하는 것을 특징으로 하는 이종 컴퓨팅 방법
|