최근 수정 시각 : 2024-01-06 14:47:33

PTX(ISA)



1. 개요2. 역사
2.1. PTX 8.0 (Hopper)2.2. PTX 6.0 (Volta)2.3. PTX 5.0 (Pascal)2.4. PTX 3.0 (Kepler)2.5. PTX 2.0 (Fermi)
3. 자료형4. 명령어 목록5. 기타6. 관련 문서

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를 지원

    • - 1.x와의 호환성을 위해 .ftz 수식어를 지원
  • 단정밀도 add, sub, mul.rm.rp rounding 수식어를 지원
  • 단정밀도 fused multiply-add (FMA) 명령어 fma.f32 추가

    • - 기존 mad.f32 명령어는 호환성을 위해 유지
  • 단정밀도 및 배정밀도 div, rcp, sqrt 명령어에 IEEE 754 대응 rounding 추가
  • testpcopysign 명령어 추가

3. 자료형

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

4. 명령어 목록

5. 기타

6. 관련 문서