美文网首页
week26 ASC20训练营

week26 ASC20训练营

作者: 吃醋不吃辣的雷儿 | 来源:发表于2020-02-02 09:44 被阅读0次

    这两天参加了ASC20的集训营,第一天是赛题的讲解,第二天是CUDA的学习。一方面开拓了眼界,另一方面也感受了北京的交通。话说产业联盟大厦的员工食堂里面饭还是很好吃的!!


    开营
    量子加速

    上面是当时拍的两张照片,还有一些在群里就不摘了。下面是做的一些笔记。用到了NVIDIA的CUDA课程,当时我们还在抢那个课程号我记着,不过现在也不知道还有没有开放。NVIDIA的平台做的真的很棒,线上学习就像实验楼一样,不用在自己的电脑上配置环境,可视化也做得很不错!

    并行:数据依赖性
    kernel:丢到GPU上跑的一个函数
    CPU与GPU间数据传输的问题 cudaMallocManaged()
    解决异步性 暂停 CPU等待 数据返回 cudaDeviceSynchronize()
    软件层面最底层 :线程

    Grid

    一个block共享一个shared memory(一个科室共用XXXX)
    网格Grid →线程块Block →→线程Thread(最小单位)
    GPU→→Stream Multiprocessors→→Stream porcessors(cuda core)
    索引index indices


    block

    firstParallel<<<2,5>>>(); Grid里面2个block 每个block里面5个线程


    Idx GridDim为2

    threadIdx.x blockIdx.x blockDim.x Idx:index
    dataIndex.x = threadIdx.x + blockIdx.x * blockDim.x
    dataIndex.y = threadIdx.y + blockIdx.y * blockDim.y(看行优先还是列优先)

    cudaMallocManaged(&a, size);在CPU和GPU间分配内存
    Warp 32条thread 不管是实际上需要几条thread 都是最少一个Warp来执行
    32条指令 定义数据的时候尽量定义成32的倍数

    visual profiler

    可视化工具visual profiler CPU Page Faults Runtime API 运行时间

    相关文章

      网友评论

          本文标题:week26 ASC20训练营

          本文链接:https://www.haomeiwen.com/subject/nwffzctx.html