Metal 소개
Metal은 긴밀하게 통합된 최신 그래픽 및 컴퓨팅 API로, Apple 플랫폼에 맞게 설계 및 최적화된 강력한 셰이딩 언어와 함께 제공됩니다. Metal의 낮은 오버헤드 모델은 GPU가 수행하는 각 작업을 직접 제어할 수 있으므로 그래픽 및 컴퓨팅 소프트웨어의 효율성을 극대화할 수 있습니다. 아울러 Metal은 성능 및 그래픽 품질의 향상에 도움을 주는 탁월한 GPU 프로파일링 및 디버깅 도구 제품군을 제공합니다.
새로운 기능
통합 셰이더 및 기기 초기화
이제 Metal 라이브러리를 한 번 빌드하면 재컴파일 없이 Mac, iPad, iPhone에 배포할 수 있으므로 반복 작업에 소요되는 시간을 절약할 수 있습니다. Metal 기기 초기화 또한 간소화되어, 이러한 플랫폼을 타겟팅하는 데 동일한 코드를 사용할 수 있습니다.
게임
Game Porting Toolkit 2
이제 기존 게임이나 현재 개발 중인 게임을 더 빠르게 Apple 플랫폼에 가져올 수 있습니다. Game Porting Toolkit 2를 사용하면 고사양 게임을 그 어느 때보다 쉽게 Mac, iPad, iPhone으로 가져와서 플레이어에게 멋진 경험을 제공할 수 있습니다.
이제 Metal 셰이더 컨버터로 셰이더를 변환할 때 개발자의 자체 소스 코드 디버깅을 지원하는 Xcode 셰이더 디버깅 도구를 사용할 수 있습니다. 또한 GPU 바이너리 컴파일러를 사용하여 메시 셰이더를 포함한 모든 셰이더 단계를 생성할 수 있으므로 Metal 셰이더 컨버터로 변환된 모든 셰이더와 호환됩니다.
Game Porting Toolkit에 대해 자세히 알아보기
Apple 플랫폼으로 고사양 게임 포팅하기
레지던시 세트
새로운 Metal Residency Set API를 사용하면 그 어느 때보다 빠르게 Apple Silicon의 통합 메모리에 액세스할 수 있습니다. 관련 리소스를 세트로 그룹화하여 메모리에 상주하도록 해보세요.
레이 트레이싱 개선 사항
Apple Silicon은 하드웨어 가속 레이 트레이싱을 지원합니다. Metal 레이 트레이싱에 추가된 DSA(Direct State Access) 지원은 교차되는 결과의 중복을 피해 더 높은 성능을 발휘합니다. 셰이더를 포팅할 때 행 우선 행렬 레이아웃을 활용할 수도 있습니다.
Metal 셰이딩 언어 개선 사항
Metal은 Apple GPU를 효과적으로 활용할 수 있는 강력한 셰이딩 언어를 제공합니다. 올해부터 새로운 전역 리소스 결합을 활용하여 전역 범위에서 버퍼, 텍스처 및 샘플러를 선언하고 셰이더의 모든 위치에서 사용할 수 있습니다. 또한 협력 스레드 그룹 알고리즘을 위한 기기 일관된 연산 지원은 물론 셰이더 내에서 콘솔로 인쇄할 수 있는 os_log에 대한 지원이 포함되어 메모리 일관성을 더 세밀하게 제어할 수 있습니다.
머신 러닝
MPS Graph가 포함된 트랜스포머 모델
새로운 기능이 추가된 Metal 파이프라인에 머신 러닝 트랜스포머 모델을 통합하여 컴퓨팅, 대역폭, 품질을 향상해 보세요. 그리고 네트워크 최적화 기회를 분석하는 데 사용할 수 있는 새로운 MPSGraph Viewer로 일련화된 MPSGraph 패키지를 시각화해 보세요.
Metal로 머신 러닝 가속하기
ML 프레임워크
TensorFlow, PyTorch, JAX를 사용하여 Mac에서 머신 러닝 모델을 더욱 빠르게 훈련하세요. 향상된 Metal 백엔드 덕분에 HuggingFace.co의 상위 50개 네트워크를 훈련하고 Meta의 ExecuTorch 프레임워크를 위한 새로운 GPU 가속을 사용하는 맞춤화된 Metal 연산을 통해 PyTorch 모델을 원활하게 배포할 수 있습니다. JAX를 사용하여 혼합 정밀 훈련을 활용할 수도 있습니다.
Apple GPU에서 머신 러닝 및 AI 모델 학습시키기