성능 분석
루프라인(Roofline) 모델에서 어떤 처리가 메모리 대역폭으로 제한되는 영역에 있음을 알았을 때, 성능을 높이는 방향으로 올바른 것은?
- A연산기 수를 늘리는 것만 생각한다
- B아무것도 하지 않아도 시간이 지나면 자연히 빨라진다
- C데이터 재사용을 늘리는 등으로 연산 강도를 높이거나, 메모리 읽기·쓰기 양을 줄인다
정답과 해설 보기
정답: C. 데이터 재사용을 늘리는 등으로 연산 강도를 높이거나, 메모리 읽기·쓰기 양을 줄인다
루프라인 그림에서 비스듬한 선 아래에 있는 처리는 메모리 대역폭이 성능의 상한을 결정합니다. 연산기를 늘려도 상한은 변하지 않습니다. 블로킹이나 연산 융합으로 데이터를 여러 번 사용하여 1바이트당 연산 수(연산 강도)를 늘리면 처리가 그림의 오른쪽으로 이동하여 상한이 올라갑니다. 데이터를 낮은 정밀도로 하여 읽기·쓰기 양을 줄이는 것도 같은 효과가 있습니다.
- A. 메모리 율속에서는 연산기를 늘려도 빨라지지 않습니다.
- B. 변경하지 않으면 빨라지지 않습니다.
- C. 올바릅니다. 오른쪽으로 이동시켜 지붕의 평평한 부분에 가깝게 합니다.