
一些乱七八糟的概念
一些乱七八糟的概念
QC0406
这个作者很懒,什么都没留下…
展开
-
Python中的GIL:全局解释器锁(Global Interpreter Lock)
由于GIL的存在,Python的原生线程(即Python解释器中的线程)不能实现真正的并行执行,即使在多核处理器上。GIL的设计初衷是保护Python解释器内部的数据结构,因为Python的早期版本在设计时并没有考虑到并行执行的需求。:Python社区一直在讨论如何改进并最终移除GIL,但这是一个复杂的过程,需要在不破坏现有代码的同时提供真正的并行执行能力。总的来说,GIL是Python中的一个关键组件,它在简化Python解释器设计的同时,也带来了多线程并行执行的限制。原创 2024-04-24 11:23:26 · 271 阅读 · 0 评论 -
论文中 w/o w/ 缩写
w/:with。原创 2024-04-19 11:17:14 · 462 阅读 · 0 评论 -
SHMEM(Single System Image Shared Memory)
with Fine-Grained Intra-Kernel CommunicationComputation Pipelining on Multi-GPU Platforms)中提到的MGG系统中,SHMEM被用来支持多GPU平台上的GNN计算,通过利用SHMEM提供的跨GPU共享内存能力,实现了更高效的数据放置和访问策略,从而提高了GNN模型在多GPU系统中的训练和推理性能。这对于处理大规模数据集和复杂计算任务尤其重要,因为它们可以减少数据传输的开销和提高内存访问速度。原创 2024-04-19 10:03:15 · 419 阅读 · 0 评论 -
“shared” global memory(共享全局内存)
MGG系统中的混合GNN数据放置策略,就是利用这种共享全局内存的特性,将图神经网络的节点嵌入数据(Node Embeddings)存储在共享全局内存中,使得所有的GPU都可以高效地访问这些数据,以支持GNN的计算需求。GPU之间的共享内存:通过使用如NVSHMEM这样的库,不同的GPU可以直接访问彼此的内存空间,而无需通过主机(CPU)内存进行数据传输。这样可以显著减少数据传输的延迟和提高带宽。全局内存:这是GPU上的一种内存类型,与CPU程序中的RAM类似,可以由GPU上的不同线程共享。原创 2024-04-19 10:02:38 · 457 阅读 · 0 评论 -
warp-level divergence
GPU设计用于同时执行大量线程,以此来提高性能。由于一个warp内的线程必须执行相同的指令,当它们分歧时,GPU不得不多次执行相同的分支,或者让一些线程处于空闲状态,这会降低执行效率。例如,如果一个warp内的线程执行不同的指令路径,GPU可能需要多次访问不同的内存地址来满足所有线程的需求,或者一些线程可能需要等待其他线程完成,这增加了执行的延迟并降低了性能。因此,为了避免这些问题,最佳实践是确保每个warp中的线程尽可能地执行相同的路径,并且有足够的线程来填满warp,以便GPU可以高效地执行并行计算。原创 2024-04-19 10:02:11 · 272 阅读 · 0 评论 -
GEMMs :指广义矩阵乘法(General Matrix Multiply)
GEMMs 是指广义矩阵乘法(General Matrix Multiply)的缩写,它是线性代数中一种基本的运算,广泛用于科学计算、数据分析和机器学习等领域。GEMM 操作涉及两个矩阵的乘法,并且可以扩展到三个矩阵的乘法(也称为矩阵的三元乘法)。在深度学习中,GEMMs 是用于训练神经网络的关键操作,特别是在前向传播和反向传播过程中。:这是一个矩阵和一个向量相乘的操作,通常表示为。:这是一个向量和矩阵相乘的操作,通常表示为。:这是两个矩阵相乘的基本操作,通常表示为。:这是两个矩阵相乘的操作,通常表示为。原创 2024-04-18 11:12:03 · 988 阅读 · 0 评论