《左手坐标系坐标变换》 里 的 回复

《左手坐标系坐标变换》       https://tieba.baidu.com/p/7668913258    。

 

回复 22 楼    dons222  ,

 

是的是的,    其实 我 习惯 用 Sql  而 对 GPU 一无所知,  所以  我还是 很看好 用 Sql 计算 的,   用  Sql 进行 大量数据 的 关系运算  。

 

但 进一步 想了想,    比如 矩阵乘法,   GPU 处理 一个 矩阵 的 元素 和 另一个 矩阵 的 元素  的 对应关系 就是 一个 寻址,   而 数据库 按 表 处理 的 话,  根据 一个 表 的 字段  查找 另一个表 的 一笔记录 的 字段,    即使 用 索引,   也是  一个 复杂 的 工序(程序),  相比 寻址 的 话  。

 

GPU  是不是 有 Cache  ?        将 内存 的 数据 批量 复制到 GPU Cache 进行计算,  完成 后 再 复制 会 内存,   这些 应该 有 驱动 控制,   上层 程序 调用 驱动 ,  上层程序 比如 图形库 GL  。

 

用户程序  -> 3D 库 (比如  Unity3D)  ->  图形库 GL ->  驱动 ->  GPU (指令集)

 

应该是 这么一个 架构  。

 

这样,   将 数据 传送给 GPU 运算 再返回,   也是 一次 轻量 IO 了  。

 

由上,   产生一个想法,    可以 写 一个 程序 来 计算 图形函数 和 算法,   就像 GPU 一样,  只不过 现在 是 在  CPU 里 运行  。  也就是说,  我们 写一些 程序,  让 这些 程序 在 CPU 里 运行 来  代替 GPU  。

 

这个想法 当然 会 引出 问题 :   GPU 不就是 为了 将 图形计算 交给 专门 的 硬件芯片(GPU)  而 产生的 吗 ?    怎么 现在 又要 回到 老路,  在  CPU  里 计算了 ?    CPU 执行 软代码 能有 GPU  固化 的 硬代码(复杂指令集) 快 吗  ?      而且 GPU 应该 对 浮点数 和 整数 运算 都 做过 增强,  比如 支持 更多位数 的 浮点数 和 整数 运算,   比如   128  位 ,   复杂指令集 和 更多位数 的 四则运算  这些 固化 的 运算 可以 预先设计 好 需要 的 大寄存器  。  大寄存器 指 位数 多,比如 128 位, 256 位,    对 寄存器 而言,  位数大 也就是 容量大,  当然,  数量也要够  。

 

GPU 也可能 支持 需要 更少 的 时钟周期 的 除法,     除法 需要 的 时钟周期 越少,  需要 的 电路规模 越大,   见  《》

 

上一篇:全文翻译(一):TVM: An Automated End-to-End Optimizing Compiler for Deep Learning


下一篇:MXNET框架基础3-GPU计算