摘要: 本文针对于Python中使用Numba的GPU加速程序的一些基本概念和实现的方法,比如GPU中的线程和模块的概念,以及给出了一个矢量加法的代码案例,进一步说明了GPU加速的效果。需要注意的是,由于Python中的Numba实现是一种即时编译的技术,因此第一次运算时的时间会明显较长,所以我们一般说GPU加速是指从第二步开始的运行时间。对于一些工业和学界常见的场景,比如分子动力学模拟中的系统演化,或者是深度学习与量子计算中的参数优化,都是相同维度参数多步运算的一个过程,非常适合使用即时编译的技术,配合以GPU高度并行化的加速效果,能够在实际工业和学术界的各种场景下发挥巨大的作用。 阅读全文
posted @ 2021-08-31 16:09 DECHIN 阅读(7579) 评论(7) 推荐(0) 编辑
摘要: 对于Pythoner而言,苦其性能已久。如果能够用一种非常Pythonic的方法来实现GPU的加速效果,对于Pythoner而言无疑是巨大的好消息,Numba就为我们提供了这样的一个基础功能。本文通过一个近邻表计算的案例,给出了适用于GPU加速的计算场景。这种计算场景可并行化的程度较高,而且函数会被多次用到(在分子动力学模拟的过程中,每一个step都会调用到这个函数),因此这是一种最典型的、最适用于GPU加速场景的案例。 阅读全文
posted @ 2021-08-31 09:49 DECHIN 阅读(2033) 评论(0) 推荐(2) 编辑