Soyan
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于

CUDA实现并行求和

CUDA中的网格跨步循环参考 https://www.codeleading.com/article/6260306169/cuda中的kernel我们一般会这样写 12345__global__ void parallel_run(int n){ for(int i = threadIdx.x + blockIdx.x * blockDim.x;i < n;i += blo
2026-01-18
#CUDA

CUDA共享内存

CUDA共享内存SM(Streaming Multiprocessors)与板块(block)在先前我们利用网格跨步循环实现了数组的加法,但是其中利用了atomicAdd()这样的原子化操作导致实际上每一个线程都是串行化进行了,并不能发挥GPU的并行计算能力。 如果不使用原子计算的方式,我们就要将sum变为数组,下边的这段代码每一个线程计算一段地址0-1023, 1024-2045 …,将求和的大
2026-01-18
#CUDA

RoPE位置编码

旋转位置编码 RoPE标准Transformer绝对位置编码标准 Transformer 的位置编码通常采用绝对位置编码,也就是对于一句话中每个词(token)的位置: $$p_{k,2i}=\sin\left(\frac{k}{10000^{\frac{2i}{d}}}\right)$$$$p_{k,2i+1}=\cos\left(\frac{k}{10000^{\frac{
2025-12-22
#Transformer

设计模式-1 装饰器模式

装饰器模式简单的来说,就是为某一个类/对象增加一些额外的功能,类似于Spring的AOP,执行方法增强。 Topic目标:学习装饰器模式课题:实现这样一个功能,在接收到post请求之后,为map添加一个timestamp字段,值为当前的时间戳(不依赖Spring的AOP)。 分析为了实现这个装饰器,我们首先需要知道这里的map是怎么获取到的,这里直接打一个断点进入堆栈,对接口发送图中的请
2025-09-04
#DesignPattern

HugeGraph重构-store-gRPC模块解析

hg-store-rpc模块本模块采用了gRPC作为通信协议,为了更好的了解rpc的过程,我们需要先了解一下什么是gRPC。 什么是gRPCRPC,全称Remote Procedure Call,中文译为远程过程调用。通俗地讲,使用RPC进行通信,调用远程函数就像调用本地函数一样,RPC底层会做好数据的序列化与传输,从而能使我们更轻松地创建分布式应用和服务。 而gRPC是RPC的一种,是由Goog
2025-07-13
12

搜索

Hexo Fluid
总访问量 次 总访客数 人