gpt4 book ai didi

opengl - 英特尔是否有单独的 GPU 指令集

转载 作者:行者123 更新时间:2023-12-03 16:21:22 26 4
gpt4 key购买 nike

假设我使用的是基于 Intel x64 的笔记本电脑,没有专用的 GPU。
我必须有一些板载 GPU 否则我的屏幕将无法工作,对吗?

  • 板载 GPU 通常是否嵌入到 CPU 中?
  • 英特尔是否有单独的 GPU 指令集?如果有,有文档吗?
  • GPU 指令与 CPU 有很大不同吗?例如,GPU 有没有shift , add , load , store还有说明吗?他们还有什么指示
    普通 CPU 没有?
  • 板载 GPU 与专用的指令集/流水线之间有区别吗?或者
    区别仅在于额外内核和专用 RAM 的数量?
  • 在配备专用 GPU 的机器上,从 C++ OpenGL 代码生成的指令如何在 GPU 上执行而不是在常规 CPU 上执行?
  • 最佳答案

    完整的硬件引用
    您可以在 01.org 上找到有关英特尔图形 Controller 的完整文档。 :

    Hardware Specification - PRMs Published by: Paul Parenteau Lastmodification: Jun 15, 2020


    回答问题 2 :是的,有单独的汇编说明,如下所示(来自“ Introduction to GEN assembly”)
    Intel GPU组装的一般形式
    通常,所有指令都具有以下形式:
    [(pred)] opcode (exec-size|exec-offset) dst src0 [src1] [src2]
    (pred)是可选谓词。我们暂时跳过它。 opcode是指令的符号,如 add 或 mov (我们在下面有一个完整的操作码表。 exec-size是指令的 SIMD 宽度,我们的架构中可以是 1、2、4、8 或 16。在 SIMD32 编译中,通常执行大小为 8 或 16 的两条指令组合为一个。 exec-offset是告诉欧盟的部分,从 ARF 寄存器的哪个部分读取或写入,例如(8|M24) 查询执行掩码的第 24-31 位。发出如下所示的 SIMD16 或 SIMD32 代码时:
    mov  (8|M0)   r11.0<1>:q   r5.0<8;8,1>:d   // id:1
    mov (8|M8) r13.0<1>:q r6.0<8;8,1>:d // id:1
    mov (8|M16) r15.0<1>:q r9.0<8;8,1>:d // id:1
    mov (8|M24) r17.0<1>:q r10.0<8;8,1>:d // id:1
    (SIMD32汇编的mov说明)
    由于 GRF 中每个操作数可以访问多少字节的限制,编译器必须发出四个 8 位宽的操作。 dst是目标寄存器 src0是一个源寄存器 src1是一个可选的源寄存器。请注意,它也可以是立即数,例如 0x3F000000:f (0.5) 或 0x2A:ud (42)。 src2是一个可选的源寄存器。
    通用寄存器文件 (GRF) 寄存器
    每个线程都有 128 个寄存器的专用空间,从 r0 到 r127。每个寄存器为 256 位或 32 字节。
    架构寄存器文件 (ARF) 寄存器
    在上面的汇编代码中,我们只看到了这些特殊寄存器之一,即空寄存器,它通常用作发送指令的目的地,用于写入和指示线程结束。这是其他架构寄存器的完整表格:
    Architecture Register File (ARF) Registers
    可用的 GEN(通用)组装说明
    Available GEN (general) Assembly Instructions
    Available GEN (general) Assembly Instructions 2

    关于opengl - 英特尔是否有单独的 GPU 指令集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61665743/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com