CUDA夏令营总结篇1

CUDA夏令营

参加CUDA On Arm Platform 线上夏令营学习笔记01



前言

说一下参加这次夏令营的初衷吧。如果对NeRF有研究的朋友应该知道NVIDIA今年年初搞了个big news,Instant NGP,可以在五秒内重建出一个三维模型,将nerf的训练时间从以天为单位,降低到以秒计算。这是非常amazing的work。而我的研究领域恰好是三维重建,因此对这篇论文很感兴趣。

但是,这篇论文他不按套路出牌,并不是用传统的pytorch实现,整个项目都是用CUDA写的,当然github上也有大神用python复现了一下,但是速度比用cuda写的有很大差距,换句话说,这个work之所以牛逼,不仅是哈希编码这种算法上的加速,cuda这种底层加速也功不可没。因此,怀揣着好奇心我打算学一下cuda并加入了NVIDIA社区举办的夏令营活动。

这里在夏令营最后一天做一下实战总结,并且后期这个cuda专栏可能会继续更新,有时间的话,应该还会出一个专栏进行Instant NGP的源码讲解。


一、cuda究竟做了什么?

正如我前面所说,本次总结是基于实战的,在此次夏令营中,我觉得难度最高的两个work,一个是矩阵乘法,另一个是求取一个数组的累加。今天我们主要讲第二个work,通过这个work我们可以了解相比于CPU,GPU究竟做了什么,怎么做到的?

二、实战

1.问题

给定一个数组A,它包含1000000个int类型的元素,求他所有的元素之和:
输入:A[1000000]
输出:output(A中所有元素之和)

如果在CPU中,代码如下(示例):

int _sum_cpu(int *ptr, int count)
{
   
    int sum = 0;
    for (int i = 0; i < count; i++)
    {
   
        sum += ptr[i];
    }
    return sum;
}

可以看到用CPU的话代码

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值