1. 개요
PTX는 NVIDIA 병렬 스레드 실행 가상머신의 명령어 집합 아키텍처이다.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 |
2.1. PTX 8.0 (Hopper)
wgmma
명령어 추가
2.2. PTX 6.0 (Volta)
wmma
명령어 추가barrier
} 명령어 추가neg
명령어의.f16
및.f16x2
자료형 지원fns
명령어 추가bar.warp.sync
} 명령어 추가match.sync
} 명령어 추가brx.idx
} 명령어 추가
2.3. PTX 5.0 (Pascal)
dp4a
,dp2a
명령어 추가 (4-way/2-way dot product with accumulation)- 특수 레지스터
%clock_hi
지원
2.4. PTX 3.0 (Kepler)
mad.cc
,madc
명령어 추가- 성능 모니터 카운터 특수 레지스터
%pm4..%pm7
추가
2.5. PTX 2.0 (Fermi)
- 단정밀도 명령어가 subnormal number를 지원
- 단정밀도
add
,sub
,mul
이.rm
및.rp
rounding 수식어를 지원 - 단정밀도 fused multiply-add (FMA) 명령어
fma.f32
추가 - 단정밀도 및 배정밀도
div
,rcp
,sqrt
명령어에 IEEE 754 대응 rounding 추가 testp
및copysign
명령어 추가
- 1.x와의 호환성을 위해
.ftz
수식어를 지원- 기존
mad.f32
명령어는 호환성을 위해 유지3. 자료형
기본 형식 | 형식 지정자 |
부호 있는 정수 | .s8, .s16, .s32, .s64 |
부호 없는 정수 | .u8, .u16, .u32, .u64 |
부동소수점 | .f16, .f32, .f64 |
비트 (자료형 없음) | .b8, .b16, .b32, .b64 |
Predicate | .pred |