cuda - CUDA中的杂项和线程间通信指令

标签 cuda nvidia profiler instructions

我一直在玩 NVIDIA 分析器 (nvprof),有两个我不明白的特定指标:

inst_inter_thread_communication
    Number of inter-thread communication instructions executed by non-predicated threads
inst_misc
    Number of miscellaneous instructions executed by non-predicated threads

我只是想知道哪些指令是线程间通信指令,哪些指令属于杂项。

引用:
http://docs.nvidia.com/cuda/profiler-users-guide/#metrics-reference

最佳答案

分为两类的 SASS 指令如下:

inst_inter_thread_communication

  • SHFL
  • 投票

  • inst_misc
  • NOP
  • S2R、B2R、R2B、P2R
  • LEPC
  • CSET[P], PSET[P]
  • MOV
  • SEL
  • PRMT
  • 仅麦克斯韦 (BAR, DEPBAR)
  • 有几个不常见的未记录的指令增加了这个类别。

  • 文档 CUDA 二进制实用程序 Instruction Set Reference包含对 SASS 指令的简要说明。 SASS 和 PTX 之间存在接近 1:1 的关系,因此您还可以查看 PTX ISA手动的。

    关于cuda - CUDA中的杂项和线程间通信指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25670827/

    相关文章:

    python - Tensorflow 不使用 GPU,发现 xla_gpu 不是 gpu

    performance - Chrome Performance Profiler 中的“Timings”选项卡丢失

    ms-access - MSAccess 分析器

    c++ - 全局内存写入在 CUDA 中被认为是原子的吗?

    cuda - 使用 Thrust 的向量数组

    c++ - 具有内置 CUDA 库/功能的 OpenCV-3

    c++ - 如何查找 NVIDIA OpenGL 驱动程序的错误 ID 名称?

    nvidia - nvapi在d3d10中使用NvAPI_Stereo_SetDriverMode

    c# - 在代码分析器中运行 C# 应用程序与在外部代码分析器中运行有何不同?

    c++ - 结果 vector 错误