CGRA 컴파일링을 위한 다면체 변환으로 사전 최적화 커널 활용
요약
본 논문은 행렬-행렬 곱셈(mmul)을 핵심 패턴으로 하는 계산 커널을 조립식 재구성 가능 배열(CGRA)에 매핑하는 새로운 컴파일링 방법론을 제시합니다. 이 방법론은 다면체 변환(polyhedral transformations)을 사용하여 소스 코드 내에 숨겨진 mmul 연산을 효과적으로 노출시키고, 이를 전문적인 CGRA 커널 스케줄링으로 최적화된 어셈블리로 대체합니다. 그 결과, 직접 명시되지 않은 부분에서도 리소스 활용도를 극대화하여 실행 시간 성능을 크게 향상시키는 것이 가능함을 입증했습니다.
핵심 포인트
- CGRA를 사용하여 mmul 기반 워크로드를 효율적으로 처리할 수 있음.
- 다차원 구조의 병렬성을 파악하기 위해 다면체 변환(polyhedral transformations) 기법을 활용함.
- 숨겨진 mmul 연산을 노출시켜 리소스 활용도를 극대화하는 새로운 컴파일링 방법론을 제안함.
- 제안된 전략은 다양한 벤치마크에서 최대 9.1배의 속도 향상을 달성했음.
현대 컴퓨팅 워크로드는 일반적으로 행렬-행렬 곱셈 (mmul) 을 핵심 컴퓨팅 패턴으로 포함합니다. 조립식 재구성 가능 배열 (CGRAs) 은 작업 수준의 재구성 가능성과 높은 에너지 효율성을 결합하여 이를 유연하고 효율적으로 지원할 수 있습니다. 그러나 최신 컴파일링 전략을 사용하여 mmul 이 포함된 계산 커널을 매핑하는 것은 종종 최적화된 결과를 초래하지 못합니다. 이는 다차원 구조가 내재된 병렬성을 파악하는 것을 방해하고, 궁극적으로 실행 시간 성능에 영향을 미치기 때문입니다. 여기서는 다른 관점을 제시합니다: 우리는 다양한 CGRA 크기를 걸쳐 파라미터화할 수 있는 전문적인 mmul CGRA 커널 스케줄링을 소개합니다. 그런 다음 복잡한 계산 패턴을 분석하고 루프 재순열 및 분할을 통해 숨겨진 mmul 연산을 노출시키기 위해 다면체 변환 (polyhedral transformations) 을 사용하여 프로그램 표현을 효과적으로 활용하는 새로운 컴파일링 방법론을 설명합니다. 식별된 패턴은 최적화된 어셈블리로 대체되고, 나머지 프로그램 섹션은 독립적으로 컴파일됩니다. 그런 다음 사전 컴파일된 부분과 컴파일된 부분을 모두 포함하는 CGRA 구성이 생성됩니다. 우리의 전략은 소스 코드에서 mmul 이 직접적으로 드러나지 않더라도 리소스 활용도를 최대화하고 궁극적으로 실행 시간 성능을 향상시킵니다. 실험 결과는 다양한 벤치마크 (숨겨진 mmul 을 포함) 와 다양한 크기의 CGRA 인스턴스에서 최대 9.1 배의 속도 향상을 보여줍니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.AR의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기