CV第八课 GPU/CPU

GPU vs CPU

 

 

GPU:

    核心数:    GPU比CPU有更多的核,但是单个核运行很慢,它们之前其实是相互合作而不是单独运行,所以不能直接以cores to cores这样直接比较。

    运行速率:优点是,因为有更多的核,所以在做并行任务,且本质相近的事务时,GPU的处理能力很棒

        例如: 神经网络里的矩阵乘法 可以高并行计算,所以GPU计算效率快; CPU就只能做串行计算; 

        the inner product of some part of the weight matrix and some part of the imput

    内存:        CPU自己的内存比较小,一般是运用计算机的RAM 8G 16G; 但是GPU有着自己的内存,比如Titan XP 有12G 本地内存。

 

Cuda:

    cuda语言能充分发挥GPU的效率,但是很难写,所以有一些库可以帮助我们,如cuBLAS,cuFFT,cuDNN

    

 

 

 

 

CPU,GPU,GPU+cuDNN 5.1 跑模型的速率的对比

 

     

 

 

 

GPU存储模型,硬盘存数据的问题:

  1.模型及其weight matrix 存储在GPU的内存中(12GB),但是dataset 在hard-drive ssd ; 而GPU中的forward,backward速率是非常快的,而CPU中的读取数据的速率可能会比较慢。

  2.解决方法: dataset小,先把数据读进RAM; 或者用SSD而不是HHD ; 用多线程CPU读取数据

    set up some pre-fetching on the  CPU

posted @ 2020-05-26 11:29  ChevisZhang  阅读(284)  评论(0编辑  收藏  举报