Coder Social home page Coder Social logo

cuda-course's Introduction

课程笔记 cuda

课程信息说明

课程网站:https://www.bilibili.com/video/BV1Qc411J7DB?p=45&vd_source=60ffcefe479d27f859009dd3a47fcea1

这门课主要讲解了cuda中的常用函数与算法,并做了相关实验

课程代码说明

reduce

   reduce文件夹下面的代码展示了邻域求和  间域求和的方法,以及减少warp divergence的方法,不过gpu的用时一直在波动,啥子情况?计时函数有问题?   

   cuda会自动优化,所以减少了warp divergence以后的测试时间和不减少差不多。(咱也不清楚怎么关自动优化)
   
   间域并行比领域并行快了很多,具体原因是啥? 可能是因为邻域并行的warp里有一半的线程不工作?
   
   关于循环展开,展开2次比不展开提升很多,展开次数越多,效果越不明显,感觉展开4次或者8次就差不多了

Image text

pinned_zero

将零拷贝内存和页锁定内存做了对比。

页锁定内存相比于零拷贝内存会慢一点,可能是慢在从主机内存拷贝到显存的时间了,注释掉页锁定的拷贝语句之后,确实是页锁定内存会快一点。

这时就要问了,看起来零拷贝比页锁定要快啊,那还要这个页锁定干嘛呢,当然是有用的,因为,零拷贝的内容不能缓存在显存里,如果内容要被反复使用,零拷贝就要不停地从内存里取值,增加总线压力,这样相比页锁定也就处于劣势。

shuffle

我看的课程里面用的是__shfl ,不过好像现在都是用__shfl_sync,这俩好像没什么区别。

shuffle在我看来是跳过了共享内存实现通信,他允许一个线程直接读取另一个线程的寄存器。(以前都要传到共享内存然后再被读取)

有up,down,xor等操作,跑下代码大概就知道什么作用了

cuda-course's People

Contributors

caixiao-0725 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.