Metal 개발자 도구

Xcode의 Metal 디버거와 Instruments의 Metal System Trace를 비롯한 강력하고 광범위한 도구 세트를 사용하여 Metal 앱을 생성, 디버깅 및 프로파일링하세요.

세계적인 수준의 디버깅

Xcode에는 Metal 앱 디버깅을 위한 포괄적인 고급 도구 모음이 포함되어 있습니다. Metal 디버거를 사용하면 전체 렌더링 파이프라인과 사용된 모든 리소스를 검사할 수 있습니다. 메시 셰이딩부터 레이 트레이싱, MetalFX 업스케일링에 이르는 Metal 파이프라인의 시각적 아티팩트를 디버그하고 수정할 수 있습니다.

방법 알아보기

종속성 스캔

종속성 보기를 통해 Metal 워크로드의 구조를 그래픽으로 살펴보고 리소스와 리소스에 접근하는 패스 간의 관계를 확인할 수 있습니다.

더 알아보기

메모리 사용량 최적화

Metal 디버거에는 Metal 메모리 사용량에 대한 종합적인 보고서가 포함되어 있어 Metal 앱의 메모리 사용량을 최적화하고 줄일 수 있습니다.

더 알아보기

Moana Island Scene, Copyright 2017-2022 Disney Enterprises, Inc. 모든 권리 보유.

리소스 검사

버퍼 및 텍스처와 같은 객체, 레이 트레이싱 가속 구조를 비롯하여 Metal 앱에서 사용하는 많은 리소스를 검사할 수 있습니다.

더 알아보기

셰이더 디버그

셰이더 디버거를 사용하면 셰이더 실행 중에 원하는 지점으로 이동하여 변수 값을 검사하고 셰이더 코드의 문제를 디버깅할 수 있습니다. 셰이더 코드를 편집하고 변경 사항을 다시 로드하여 수정 여부를 확인할 수 있습니다.

더 알아보기

자동 런타임 유효성 검사

Metal에는 강력한 런타임 진단 도구 세트가 내장되어 있어 Metal 앱이 올바르게 실행되고 있는지 확인할 수 있습니다. Xcode는 소스 코드 내에서 오류의 위치를 바로 보여 주므로 버그를 발생 전에 미리 파악하는 데 도움이 됩니다.

API 사용 확인

Metal을 통해 API를 올바르게 사용하고 있는지 확인할 수 있습니다. 예를 들어 텍스처에 실수로 잘못된 플래그를 설정한 경우 Metal이 이를 알려 줍니다.

더 알아보기

셰이더 확인

또한 Metal은 셰이더가 범위를 벗어난 버퍼에 접근하는 등의 잘못된 작업을 수행하지 않도록 방지해 줍니다. 셰이더 코드 Xcode에 문제가 있는 경우 셰이더 소스 코드 내부에서 문제가 있는 위치를 보여 줍니다.

더 알아보기

Metal 최대한 활용하기

Xcode에는 고급 툴 세트가 함께 제공되므로 Metal 앱이 Apple 하드웨어에서 부드러운 렌더링과 놀라운 성능을 일관되게 구현하도록 할 수 있습니다.

실시간 성능 모니터링

Metal Performance HUD로 Metal 앱에서 주요 그래픽 통계를 직접 모니터링하여 성능 문제를 쉽게 발견할 수 있으며 Xcode 또는 Instruments에서 캡처할 최적의 범위를 찾을 수 있습니다.

더 알아보기

전체 시스템 분석

Instruments의 Metal System Trace 템플릿은 CPU, GPU 및 Metal 앱의 메모리 사용량에 대한 병렬 작업을 시각적 타임라인으로 보여 줍니다.

더 알아보기

카운터를 사용하여 성능 향상

Xcode의 성능 타임라인에는 동시에 실행되는 다양한 패스 및 스테이지가 하드웨어 카운터와 함께 표시됩니다. 겹치지 않는 GPU 작업을 관찰하여 과잉 직렬화를 발견할 수 있습니다.

더 알아보기

셰이더 실행 추적하기

Xcode의 성능 히트 맵을 사용하면 포괄적인 성능 지표를 시각화하여 값이 큰 픽셀 또는 컴퓨팅 스레드를 쉽게 발견할 수 있습니다. 그런 다음 SIMD 그룹을 선택하여 함수 호출, 루프 반복, 활성 스레드를 포함한 전체 실행 기록을 볼 수 있습니다.

더 알아보기

셰이더 최적화

Metal 디버거는 셰이더 함수 비용을 시각화하고, 셰이더 소스 내의 인라인 통계를 보여 주므로 코드를 손쉽게 최적화할 수 있습니다. 셰이더를 편집하고 다시 로드하여 성능을 비교할 수도 있습니다.

더 알아보기

Metal 셰이더 컨버터와의 호환성

종합 Metal 개발자 도구 제품군은 Metal 셰이더 컨버터와 완벽하게 호환됩니다. 컴파일할 때 프로젝트가 디버그 정보를 포함하도록 준비하고 나면 Metal로부터 실행 시간 검증 오류를 받아 볼 수 있습니다. Metal 디버거는 변환된 셰이더의 디버깅 및 프로파일링도 지원합니다.

방법 알아보기

머신 러닝 자세히 알아보기

Xcode의 Metal Performance Shader Graph 뷰어를 사용하면 다차원 컴퓨팅 그래프를 시각화할 수 있습니다. 기기를 선택하여 Apple Silicon에서 네트워크가 어떻게 실행되는지 검사하고, 어떤 연산이 GPU 또는 Neural Engine에서 실행되는지 확인할 수도 있습니다.

Metal로 머신 러닝 가속하기

네트워크 최적화하기

기기를 선택하여 컴파일 중에 함께 스티칭할 수 있는 GPU 연산을 시각화할 수 있습니다. 이러한 작업은 내부적으로 최적화된 단일의 Metal 셰이더에 통합되어 있기 때문에 메모리 오버헤드가 없으며 성능이 크게 향상됩니다.

가중치 검사하기

0을 곱하는 경우든, 해당 입력을 천천히 복제하는 컨볼루션 레이어를 사용하는 경우든, 뷰어를 사용하면 사전 훈련된 네트워크에서 예상치 못한 가중치를 쉽게 발견하고 조사할 수 있습니다.

시작하기

macOS용 Metal 개발자 도구

Xcode를 다운로드하여 Metal 개발자 도구의 전체 모음을 사용해 보세요. Metal API 및 셰이더 사용량을 검증하고, Metal 디버거로 Metal 앱을 디버깅 및 프로파일링하고, Instruments의 Metal System Trace를 통해 시스템 성능을 분석하세요.

더 알아보기

Windows용 Metal 개발자 도구

개발자가 iOS, macOS, tvOS에 배포할 Metal 셰이더 프로그램과 애셋을 빌드할 수 있도록 지원하는 Windows 호스팅 도구, 헤더, 라이브러리 모음을 다운로드하세요.

지금 다운로드하기