문제

그래픽 카드에는 자체 지침 세트가 있습니까? 나는 그들이 그렇게한다고 가정하지만, 그것이 독점적인지 또는 일종의 개방 표준이 있는지 궁금합니다.

모든 GPU 명령어가 CPU 명령에 앞서 있습니까? 아니면 원활하지 않습니까? CPU를 통해 드라이버 레이어에서 OpenGL 또는 DirectX 호출은 버스 아래로 GPU 명령을 보내거나 더 정교합니다.

도움이 되었습니까?

해결책

예, 그들은합니다. AMD는 현재 HD4000 시리즈까지 사양을 제공합니다.

여기를 참조하십시오. http://developer.amd.com/wordpress/media/2012/10/r700-family_instruction_set_architecture.pdf

NV 명령 세트의 역 엔지니어링을 수행하는 Nouveau라는 오픈 소스 프로젝트도 있습니다.

NVIDIA는 VLIW를 사용하지 않지만 스칼라 실행을 사용하기 때문에 AMD와 약간 다른 아키텍처를 가지고 있습니다 (여러 스레드는 Warp 또는 Wavefront에서 추가로 그룹화되어 있지만).

또한 모든 OpenGL/Direct3D 호출이 "GPU 명령어"에 매핑되는 것은 아닙니다. 예를 들어 텍스처를 바인딩 할 때 드라이버는 샘플링에 사용할 텍스처 메모리를 GPU에 알려주는 적절한 하드웨어 레지스터 만 설정합니다.

실제 프로그램은 GPU에서 셰이더 또는 스트림 처리 커널을 실행할 때만 실행됩니다.

다른 팁

현재 NVIDIA 카드는 PTX라는 일종의 중간 ISA를 사용합니다. 이 문서에서 읽을 수 있습니다.

PTX ISA 1.1

PTX 프로그램은 설치 시간에 대상 하드웨어 명령 세트로 번역됩니다.

예, GPU에는 자체 소유주 지침 세트가 있습니다. GPU 지침은 CPU 지침과 독립적으로 실행됩니다.

AMD 그래픽 코어 다음 (GCN)

https://en.wikipedia.org/wiki/graphics_core_next

1 세대는 "남부 섬"이라고합니다.

Wiki 페이지는 ISA를 문서화하는 AMD 사양에 연결됩니다. http://developer.amd.com/wordpress/media/2012/12/amd_southern_islands_instruction_set_architecture.pdf

MIAOW라는 열린 RTL 구현도 있습니다 https://github.com/verticalresearchgroup/miaow, AMD가 단지 침묵으로 허용되도록 선택한 일부 IP를 침해 할 가능성이 있지만 (지금은)원천).

Spir-V

https://en.wikipedia.org/wiki/standard_portable_intermediate_representation Krhonos 표준 중간 언어입니다.

기존 GPU ISA와 유사하게 설계되었으므로 더 구현 가능하고 채택이 개선되므로 실제 GPU ISA에 대한 좋은 아이디어를 제공해야합니다.

그리고 Vulkan 및 OpenCL 2.1의 채택으로 인해이 표준이 뒤따른 것처럼 보이면 향후 구현은 더 나은 성능을 갖도록 밀접하게 구현하도록 설계 될 수 있습니다.

PTX를 얻고 수정하는 방법

GPU 어셈블러를 만들거나 조작하는 방법은 무엇입니까?

NVIDIA 카드의 경우이 문서를 살펴볼 수 있습니다. http://docs.nvidia.com/cuda/cuda-binary-utilities/index.html#instruction-set-ref

CUDA 프로그래밍 안내서 버전 3.0을 참조하십시오

장치의 컴퓨팅 기능은 주요 개정 번호와 사소한 개정 번호로 정의됩니다.

동일한 주요 개정 번호를 가진 장치는 동일한 핵심 아키텍처입니다. Fermi 아키텍처를 기반으로 한 주요 장치 수는 2입니다. 사전 장치는 모두 컴퓨팅 기능 1.x입니다 (주요 개정 번호는 1).

작은 개정 번호는 새로운 기능을 포함하여 핵심 아키텍처의 증분 개선에 해당합니다.

부록 A CUDA 지원 장치의 목록과 함께 컴퓨팅 기능. 부록 G는 각 컴퓨팅 기능의 기술 사양을 제공합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top