본문 바로가기

분류 전체보기

(1890)
Source–SASS 관계 기반 GPU 의미 분석 및 최적화 탐지 시스템 1. 개요본 프로젝트는 CUDA 커널의 원본 소스 코드가 컴파일 과정을 거쳐 PTX와 SASS로 변환되고, 최종적으로 GPU 하드웨어에서 실행되는 전체 과정을 추적하는 분석 시스템을 구축하는 것을 목표로 한다.기존의 GPU 분석은 주로 다음과 같은 개별 정보 확인에 집중한다.커널 실행 시간레지스터 및 공유 메모리 사용량PTX 및 SASS 명령어메모리 병목파이프라인 활용률warp stall 원인source line과 assembly 간의 단순 대응본 프로젝트에서는 이러한 정보들을 독립적으로 확인하는 데서 나아가 다음 관계를 하나의 분석 구조로 연결하려 한다.CUDA Source→ Source Expression→ Mathematical Meaning→ Parallel Algorithm→ PTX→ SASS→..
왜 SASS 와 Nsight Compute 단계의 분석이 필요한가 1. 문제의 출발점GPU 기업과 AI 프레임워크 회사들은 이미 매우 높은 수준으로 최적화된 실행 환경을 제공한다.NVIDIA는 cuBLAS, cuDNN, TensorRT와 같은 라이브러리를 제공하고, PyTorch와 TensorFlow 같은 프레임워크는 이러한 라이브러리를 활용해 대부분의 표준 연산을 효율적으로 실행한다. 각 기업은 자체 런타임, 그래프 최적화 방식, 커널 선택 전략, 메모리 관리 구조를 가지고 있으며, 사용자는 별도의 저수준 구현 없이도 높은 성능을 얻을 수 있다.이러한 상황에서는 자연스럽게 다음과 같은 의문이 생긴다.이미 충분히 최적화된 라이브러리와 실행 시스템이 존재하는데, 왜 다시 SASS와 Nsight Compute 단계까지 내려가 분석해야 하는가?이 질문에 대한 답은 기존 최적..
소스 코드에서 하드웨어 실행까지 이어지는 추적 가능한 분석 모델의 구축 이 표현은 단순히 소스 코드와 SASS를 나란히 보여준다는 뜻이 아니다.핵심은 고수준 코드가 어떤 변환을 거쳐 실제 GPU 명령이 되고, 그 명령이 실행 과정에서 어떤 현상을 만들었는지를 연속적으로 추적할 수 있는 분석 구조를 만든다는 데 있다.전체 흐름은 다음과 같다.CUDA 소스 코드 ↓ 컴파일PTX 중간 표현 ↓ 아키텍처별 코드 생성SASS 기계어 ↓ GPU 실행실행 cycle, stall, pipeline, memory, register metric기존 분석은 이 단계들을 따로 보는 경우가 많았다.소스 코드는 소스 코드대로 확인SASS는 디스어셈블 결과로 따로 확인성능은 실행 시간이나 NCU metric으로 따로 확인이 방식에서는 성능 문제가 발견되어도 그것이 어느 코드 구조에서 ..
GPU 서버와 메모리의 중요성: 학습에서 추론 시대로 개요처음에는 GPU 의 높은 연산 성능이 핵심 경쟁력, 최근에는 HBM 의 용량과 대역포, 이를 활용한 서비스 운영 능력이 더욱 중요한 요소로 부상하고 있다. 1. 학습과 추론은 서로 다른 문제를 해결한다LLM 의 동작은 크게 두 단계로 나눌 수 있다.학습 : 대량의 데이터 - > 모델 가중치 생성추론 : 사용자 입력 -> 학습된 가중치를 이용하여 출력 생성 많은 사람들이 추론도 계속 모델이 학습되는 과정이라고 생각하기 쉽다.하지만 일반적인 LLM 서비스에서는 그렇지 않다.학습이 끝난 이후에는 모델의 가중치는 거의 변하지 않는다. 2. 추론에서 실제로 변하는 것은 모델이 아니다실제 구조, 과정사용자 입력고정된 모델사용자별 상태 생성다음 입력에서 활용변하는 것은 모델이 아니라 사용자마다 따로 존재하는추론 ..