zoukankan      html  css  js  c++  java
  • Nvidia GPU architecture

    TPC texture/processor cluster

    SM streaming multiprocessor

    SP streaming processor 普通计算器mad之类的

    SFU  special function unit --超越函数。。。。三角函数 log 指数函数 

    ROP Raster Operation processor--做om阶段的很多事情 测试混合aa。。。。

    L2 l2cache

    DRAM 内存

    I-cache instruction cache

    C-cache constant cache

    MT issue :multithreaded instruction fetch and issue unit --这货看名字像是为sp的task做调度的

    https://www.cc.gatech.edu/fac/hyesoon/gputhread.pdf

    mt issue给SM拿 一个instruction 给一个warp里面的所有sp用 这个instruction需要多个cycle才能执行完

    一个sm一段时间会并行多个warp 因为资源约束和性能的缘故就需要调度

    指令也属于一种资源,一个指令一般需要4cycle 

    以上是1.0版本的认识 可能需要迭代

    fetch策略基本上是通过负载均衡让性能吞吐量最大化,让选到这个intruction可以被立刻执行 不stall

    这事情和powervr的thread scheduling是一样的 想要的结果一样 这里手段可能更先进一些 前者像粗粒度的 后者simt 并发多线程

         这里需要迭代

    fetch有各种策略

    比如轮询

    比如挑最长时间没被fetch的

    比如先挑剩下最多的

    或者memory占用最多的

    可以看到各种策略都是为了 更平衡

    看上图那三个distribution TPC处理这三种工作 vertex pixel compute 是unified的架构

    warp The set of parallel threads that execute the same instruction together in a SIMT architecture. 

    SIMD--vector

    SIMT--scalor

    Single instruction, multiple thread (SIMT) is an execution model used in parallel computing where single instruction, multiple data (SIMD) is combined with multithreading.

    simt的warp理解起来一个很重要的点是 那四个cycles

    一个instrucion 4 cycles

    8 sp core x4

    一段时间 32thread

     

     一个sp里有64个thread 一个thread一个cycle可以跑一个scaler instruction

  • 相关阅读:
    被@ResponseBoby注释的方法在拦截器的posthandle方法中设置cookie失效的问题
    python之异常处理
    python之url编码
    python之发送邮件
    python之使用request模块发送post和get请求
    python之小技巧积累
    python之sys.argv[]
    python之MD5加密
    python之os、sys和random模块
    python之time和datetime的常用方法
  • 原文地址:https://www.cnblogs.com/minggoddess/p/13496154.html
Copyright © 2011-2022 走看看