본문 바로가기

GPU-KERNEL

ILP ( Instruction - Level Parallelism )

한 스레드, 또는 한 warp 안에서 서로 의존하지 않는 연산을 동시에 파이프라인에 태우는 능력

 

GPU 는 기본적으로 

각 warp  에 대해 시계틱하게 명령을 하나씩 발행하지만

내부 파이프라인은 딥하게 여러 스테이지로 나뉘어 있고

이전 연산의 결과가 필요 없는 새 연산은 결과 기다리는 동안 미리 다음 스테이지에 태울 ㅜㅅ 있다.

의존성이 긴 단일 체인이 있으면 계속 대기 필요

독립적인 연산 여러 개를 동시에 돌리면 - 기다리는 동안 다른 연산들을 파이프라인에 채워 넣을 수 있음

 

ILP vs Occupancy 관계

둘 다 레이턴시 숨기는 기술

occupancy - 레이턴시가 생기면 다른 warp 로 갈아타기

ILP - 같은 warp 안에서 다른 독립 연산을 먼저 실행해버리기