나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2025-12-10 06:09:10

PTX(ISA)



1. 개요2. 역사
2.1. PTX 8.0 (Hopper)2.2. PTX 7.0 (Ampere)2.3. PTX 6.0 (Volta)2.4. PTX 5.0 (Pascal)2.5. PTX 3.0 (Kepler)2.6. PTX 2.0 (Fermi)
3. 프로그래밍 모델
3.1. 메모리 공간 (State Spaces)3.2. 자료형
4. 명령어 목록5. 기타6. 관련 문서

1. 개요

PTX(Parallel Thread Execution)는 NVIDIA가 개발한 GPU용 병렬 스레드 실행 가상 머신(Virtual Machine) 및 그 명령어 집합 아키텍처(ISA)이다.

일반적인 CPU의 기계어와 달리, PTX는 특정 세대의 GPU 하드웨어에 종속되지 않는 하드웨어 추상화 계층(Hardware Abstraction Layer)의 역할을 수행한다. 컴파일러의 중간 표현(Intermediate Representation, IR)과 같은 수준으로 볼 수 있다.

C++ 등으로 작성된 CUDA 소스 코드는 nvcc 컴파일러를 통해 우선 PTX 코드로 변환된다. 그 후, 애플리케이션이 실행될 때 그래픽 드라이버 내의 JIT(Just-In-Time) 컴파일러가 장착된 그래픽 카드의 구체적인 아키텍처(마이크로아키텍처)에 맞춰 이를 실제 기계어인 SASS(Streaming Assembler)로 최종 변환하여 실행한다.

이러한 구조 덕분에, 개발자는 새로운 GPU가 출시될 때마다 프로그램을 다시 컴파일할 필요 없이 기존 PTX 코드를 그대로 사용하여 최신 하드웨어의 이점을 누릴 수 있다.

2. 역사

PTX ISA 버전 CUDA 연산 능력 CUDA 버전 해당 GPU 칩셋
1.0 CUDA 1.0 G80
1.1 CUDA 1.1
1.2 CUDA 2.0
1.3 CUDA 2.1
1.4 CUDA 2.2
2.0 CUDA 3.0 GF110
2.3 CUDA 4.0
3.0 CUDA 4.1 GK104
4.0 5.0 CUDA 6.0
5.0 6.0 CUDA 8.0
6.0 7.0 CUDA 9.0
6.4 7.5 CUDA 10.0
7.0 8.0 CUDA 11.0
8.0 9.0 CUDA 12.0
8.5 9.0 CUDA 12.5
8.6 10.1 CUDA 12.7
8.7 12.0 CUDA 12.8
8.8 12.1 CUDA 12.9
9.0 12.1 CUDA 13.0
9.1 12.1 CUDA 13.1

2.1. PTX 8.0 (Hopper)

2.2. PTX 7.0 (Ampere)

2.3. PTX 6.0 (Volta)

2.4. PTX 5.0 (Pascal)

2.5. PTX 3.0 (Kepler)

2.6. PTX 2.0 (Fermi)

3. 프로그래밍 모델

3.1. 메모리 공간 (State Spaces)

PTX는 변수가 저장되는 메모리 공간을 명시적으로 구분한다.

3.2. 자료형

기본 형식 형식 지정자
부호 있는 정수 .s8, .s16, .s32, .s64
부호 없는 정수 .u8, .u16, .u32, .u64
부동소수점 .f16, .f32, .f64
비트 (자료형 없음) .b8, .b16, .b32, .b64
Predicate .pred

4. 명령어 목록

5. 기타

6. 관련 문서