AMD는 처음으로 Heterogeneous System Architecture(HSA)를 달고 나오는건데,
이걸 간단하게 설명하면 GPU와 CPU가 메모리 풀을 공유하는겁니다.
기존 CPU와 GPU의 통신방식은 아래와 같았습니다.
1. 명령어가 들어감
2. CPU가 계산해서 GPU의 대역폭의 메모리로 옮김
3. CPU가 GPU에 명령을 내림.
4. 메모리에 옮긴걸 GPU가 받아서 계산함
5. 다시 계산된 값을 CPU의 대역폭 메모리에 옮김
6. 결과값 출력
근데 HSA가 적용되면 이렇게 됩니다.
1. 명령어가 들어감
2. CPU가 계산함
3. GPU가 바로 계산함
4. 결과값 출력
결과적으로 이미 트리니티나 라노에서 어느정도 (10~15%) 성능향상을 보였으나 지원하는게 별로 없어서 HSA 1.0은 크게 성공하지 못한데다가, HSA 1.0은 진정하게 공유한다기 보단 그냥 대역폭이 좀 더 있는 정도였죠.
근데 카베리는 제대로 공유하기 시작합니다. 이루어진다면 굉장한 성능향상을 보이겠지요.
예상수치로는 라노나 트리니티의 HSA대비 최대 40%까지의 성능향상도 기대할 수 있는 상황입니다.
단점이라면 AMD의 점유율이 꼴랑 15%대이기 때문에 과연 잘 정착할지는...
AMD측에서 관련 컴파일러와 리눅스 지원을 약속하긴 했지만 그래도 여전히..쩝.