메탈 (API)

메탈(Metal)은 부하가 적은 하드웨어 가속 그래픽 및 연산 API로, iOS 8에 처음 등장했다. 한 API에 OpenGL, OpenCL과 비슷한 기능을 병합하고 있다. 크로노스 그룹의 크로스 플랫폼 벌컨, 마이크로소프트의 윈도우용 Direct3D 12처럼 다른 플랫폼의 유사 API의 성능 이점 일부를 iOS에 가져오도록 설계되어 있다. 2015년 6월 8일 이후 메탈은 애플 A7 이상을 이용하는 iOS 기기 및 OS X 엘카피탠를 구동하는 2012년 이후 모델의 맥에서 이용이 가능하다. 또, 메탈은 연산 셰이더를 도입함으로써 GPGPU 프로그래밍 기능을 더 개선하였다.

메탈은 C++11 기반의 셰이딩 언어를 이용하며, 클랭과 LLVM을 이용하여 구현되어 있다.

OS X의 메탈 지원은 WWDC 2015에서 발표되었다.

성능 
메탈은 몇 가지 이유로 OpenGL 보다 더 나은 성능을 보여준다:

 미리 컴파일된 셰이더와 선행 상태 확인
 GPU와 CPU 사이의 명확한 동기화
 GPU와 CPU 간 공유 메모리 공간
 더 낮은 드라이버 부하

이 요점들 중 일부는 CPU가 GPU 명령을 성공적으로 수행하는데 필요한 업무량을 제거해준다. 그 뒤 CPU가 다른 작업을 연산하는데 사용될 수 있으므로 전반적인 성능 향상을 가져다준다.

도입 
애플에 따르면 2017년 6월 기준으로 148,000개 이상의 애플리케이션이 메탈을 직접 사용하며 1,700,000개가 하이레벨 프레임워크를 통해 이를 사용한다.

같이 보기 
 Direct3D – DirectX 12는 저급(로우 레벨) API를 도입하고 있다.
 글라이드 – 지금은 파산한 3dfx의 다른 로우레벨 API
 맨틀 – AMD의 로우레벨 API
 벌컨 – 부하가 적은 API로서 OpenGL을 계승한다.

참고 문헌

외부 링크 
  메탈 프로그래밍 가이드 (예비)
 WWDC14 데모; 확장판

2014년 출시
그래픽 라이브러리
IOS
3차원 그래픽스 API