09 2021 档案

摘要:在这篇文章中,我们主要介绍了打格点算法在分子动力学模拟中的重要价值,以及几种不同的实现方式。其中最普通的for循环的实现效率比较低下,从算法复杂度上来讲却已经是极致。而基于CPU上的向量化运算的技术,可以对计算过程进行非常深度的优化。当然,这个案例在不同的硬件上也能够发挥出明显不同的加速效果,在GPU的加持之下,可以获得100倍以上的加速效果。这也是一个在Python上实现GPU加速算法的一个典型案例。 阅读全文
posted @ 2021-09-08 17:50 DECHIN 阅读(968) 评论(0) 推荐(1)
摘要:我们知道GPU加速在可并行化程度比较高的算法中,能够发挥出比较大的作用,展示出明显的加速效果,而对于一些线程之间存在依赖这样的场景就不一定能够起到很大的加速作用。CUDA官方针对此类问题,提供了atomic的内置函数解决方案,包含有求和、求最大值等常用函数。而这些函数的特点就在于,线程与线程之间需要有一个时序的依赖关系。就比如说求最大值的函数,它会涉及到不同线程之间的轮询。经过测试,CUDA的这种atomic的方案,实现起来非常方便,性能也很乐观,相比于自己动手实现一个不断切割、递归的规约函数,还是要容易快捷的多。 阅读全文
posted @ 2021-09-01 16:28 DECHIN 阅读(958) 评论(0) 推荐(0)