레이 트레이싱과 AI를 결합하여 NVIDIA GPU의 성능을 높여주는 NVIDIA Nsight Graphics에 대한 정보를 정리한 글입니다. 자세한 내용은 아래 포스팅을 참고해 주세요.
NVIDIA Nsight 도구의 새로운 레이 트레이싱 기능 탐색
레이 트레이싱과 인공지능(AI)의 융합은 그래픽 품질과 성능을 새로운 차원으로 끌어올립니다. NVIDIA Nsigtht Graphics의 최신 릴리스는 AI 가속을 적용하여 레이 트레이싱 개발을 위한 새로운 기능을 제공합니다.
NVIDIA Nsight 🤔
주요 정보를 확인하기 전에 NVIDIA Nsight에 대해 간단히 소개하겠습니다. NVIDIA Nsight는 엔비디아에서 제공하는 그래픽 디버깅 및 프로파일링 도구입니다. 이 도구는 개발자가 그래픽 애플리케이션을 개발, 디버그 및 최적화하는 데 도움이 됩니다. Nsight는 다양한 기능을 제공하는데, 그 중 일부는 다음과 같습니다.
그래픽 디버깅: GPU에서 실행 중인 애플리케이션의 그래픽 상태를 실시간으로 확인하고 버그를 찾는 데 도움을 줍니다.
프로파일링: 애플리케이션의 성능을 분석하고 병목 현상을 식별하여 최적화할 수 있도록 도와줍니다.
셰이더 디버깅: 복잡한 셰이더 코드를 디버깅하고 분석하는 데 사용되는 도구를 제공합니다.
레이 트레이싱 지원: 최신 그래픽 기술인 레이 트레이싱을 지원하여 개발자가 실시간 렌더링의 품질과 성능을 개선할 수 있도록 합니다.
Nsight는 게임 개발자뿐만 아니라 컴퓨터 그래픽스와 관련된 다양한 분야의 개발자들에게도 유용하게 활용됩니다. 아래는 엔비디아가 제공하는 개선된 NVIDIA Nsight의 주요 정보를 정리 요약한 글입니다.
베타 조기 액서스 Vulkan Shader Debugger
이제 Nsight Graphics Pro에서 사용 가능한 Vulkan 셰이더 디버거는 셰이더 검사와 디버깅을 위한 강력한 툴킷을 제공합니다. 이 도구를 사용하면 복잡한 수백 또는 수천 줄의 셰이더를 실시간으로 디버깅할 수 있으며, GPU에서 완전히 실행되므로 성능에 미치는 영향을 최소화합니다.
예를 들어, 게임 개발자는 Nsight Graphics Pro의 Vulkan 셰이더 디버거를 사용하여 게임의 그래픽 효과를 개선하고 실시간으로 디버그할 수 있습니다. 만약 셰이더가 예상대로 작동하지 않거나 예기치 않은 그래픽 문제가 발생할 경우, 디버거를 통해 코드를 단계별로 실행하고 중단점을 설정하여 문제의 원인을 신속하게 찾을 수 있습니다.
또한, 셰이더 코드의 실행 중에 발생하는 다양한 상태와 변수를 실시간으로 검사하여 개발자가 코드를 조사하고 문제를 식별하는 데 도움이 됩니다. 예를 들어, 렌더링 중에 텍스처나 라이팅 관련 변수를 확인하고 수정할 수 있습니다.
*Nsight Graphics Pro의 Vulkan 셰이더 디버거는 사용자가 중단점을 설정하고 코드를 단계별로 실행하는 등의 표준 디버깅 기능을 제공합니다. 이를 통해 개발자는 셰이더 코드의 실행 흐름을 정밀하게 조사하고 문제 해결에 집중할 수 있습니다.
따라서, Nsight Graphics Pro의 Vulkan 셰이더 디버거는 그래픽 애플리케이션 개발자들에게 셰이더 개발 및 디버깅 과정을 보다 효율적으로 관리할 수 있는 강력한 도구로서의 역할을 하고 있습니다.
GPU 추적 개선
Nsight Graphics의 최신 릴리스인 2024.1에서 소개된 Nsight Graphics GPU Trace는 그래픽 애플리케이션의 프레임 실행 방식을 분석하고 최적화하는 데 사용됩니다. 이 도구를 통해 개발자는 프레임의 핵심 API 호출을 더 쉽게 검사할 수 있으며, API 호출의 매개변수와 실행 크기를 신속하게 확인할 수 있습니다.
AI 기술은 그래픽 성능 향상과 함께 더 선명하고 생생한 이미지를 제공하는 데 중요한 역할을 합니다. NVIDIA DLSS와 같은 신경 그래픽 SDK는 NVIDIA CUDA 및 NGX와 같은 하위 수준 AI 라이브러리를 활용하여 이를 실현합니다. 이러한 기술은 이제 GPU 추적 타임라인, 이벤트 목록, 셰이더 파이프라인 보기와 같은 도구를 통해 Vulkan 그래픽 애플리케이션에 통합됩니다. 이러한 기능은 향후 릴리스에서 더 많은 그래픽 API를 지원할 것으로 기대됩니다.
또한, Trace Analysis 기능은 성능 저하를 자동으로 감지하고 해결하는 데 도움을 줍니다. 최신 2024.1 릴리스에서는 Trace Analysis가 성능에 영향을 미치는 상위 3가지 문제를 제공하여 우선순위를 신속하게 파악할 수 있습니다. 이를 통해 개발자는 애플리케이션의 성능을 지속적으로 향상하고 사용자에게 더 나은 시각적 경험을 제공할 수 있습니다.
GPU 전체 충돌 리소스 기록
그래픽 개발 중 GPU 충돌은 흔한 문제입니다. 이에 대응하여, NVIDIA는 Nsight Aftermath SDK를 강화하여 충돌 원인과 해결책을 보다 쉽게 찾을 수 있도록 하고 있습니다.
다음 Nsight Aftermath SDK 릴리스에서는 GPU 충돌로 이어지는 전체 리소스 기록을 제공하여 디버그하기 어려운 충돌의 원인을 파악하는 능력을 향상시킵니다.
성능 SDK
NVIDIA Nsight Perf SDK는 애플리케이션에서 성능 지표를 수집하는 데 사용되는 그래픽 프로파일링 도구입니다. 최신 릴리스에는 고주파 샘플링을 통해 성능을 캡처하는 원샷 샘플링 모드가 추가되었습니다.
또한, GPU 지표(클럭 주파수, PCI 대역폭, VRAM 처리량, 셰이더 활동 등)를 실시간으로 모니터링하는 HUD가 포함되어 있습니다. 이 HUD 솔루션은 모든 종류의 애플리케이션에 추가할 수 있으며, 낮은 수준의 Nsight Perf SDK API를 활용하여 사용자가 자체적으로 성능 분석 워크플로를 구축하고 HTML 보고서를 생성할 수 있습니다.
참고.
NVIDIA RTX, NVIDIA NEMO, NVIDIA Avatar Cloud Engine