- 博客(7)
- 收藏
- 关注
原创 Shared Memory,Warp和Bank Conflict
1. 概念Shared memory是片上存储器,因此与local memory或global memory相比更高的带宽和更低的延迟。前提是线程之间没有 bank conflicts。为了实现高带宽,共享内存被划分为大小相等的内存模块,称为Banks,可以同时访问。因此,任何由 n 个地址组成的内存读取或写入请求都可以同时提供服务,从而产生比单个模块带宽高 n 倍的总带宽。但是,如果内存请求的两个地址位于同一Bank中,则存在bank conflict,并且必须序列化访问。硬件........
2022-05-08 17:28:28 623
原创 C++时间与日期及相关操作
1. 概念(1) Coordinated Universal Time(UTC)协调世界时,又称世界标准时间,即格林威治标准时间(Greenwich Mean Time,GMT)。UTC 通用标准时,以z来标识,时间格式如下:2022-04-07T07:04:43.995Z北京时间为UTC+8,UTC时间转化为:2019-4-7 15:04:43(2)Calendar Time日历时间,是用"从一个标准时间点到此时的时间经过的秒......
2022-04-07 15:37:08 4022
原创 CUDA学习
(1)简介:https://www.pianshen.com/article/74161649489/(2)(3)内存层次:https://www.pianshen.com/article/49701644453/(4)编程接口:https://www.pianshen.com/article/8633684319/(5)(6)CUDA C运行时机制:https://www.pianshen.com/article/81851641471/(7)(8)(9)分页锁定主机内..
2020-11-28 16:27:17 119
原创 CUDA实践(1)--性能分析工具
本文记录几种CUDA实践中常用的运行计时和性能分析工具。1. 运行计时虽然标准C语言也有相关计时方法,但是由于CPU与GPU之间的同步问题可能造成测时不准确,这里分别介绍这两种测试方法:(1)标准C语言计时函数C语言当前版本中包含一个头文件<time.h>,该文件中定义了一个时间变量clock_t,一个获取到目前为止的运行时间的函数clock(),以及一个将clock()函数结果转换为以秒为单位的常量CLOCK_PER_SEC。下面是一个简单的例子:clock_t star
2020-08-28 20:00:04 3134
原创 压缩感知与图像重建(1凸优化相关概念)
在正题之前,首先明确几个相关概念:(1)凸集(convex set):集合C内任意两点的连线都在集合C内。 (2)凸函数(convex function): 如:(3)Lp范数: (4) L0范数: 一个向量的L0范数等于该向量中非零元素的个数,即: ...
2018-06-20 20:46:59 4648
原创 CUDA并行编程学习心得2
(正在学习CUDA中, 写一些自己学习中的心得,如有错误,欢迎指正~)P 在一个__global__函数调用__device__函数的程序中, 编译时出现错误,如下: C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\BuildCustomizations\CUDA 8.0.targets(687,9):
2017-11-05 15:04:07 626
原创 CUDA并行编程学习心得1
(正在学习CUDA中, 写一些自己学习中的心得,如有错误,欢迎指正~) 对于普通变量(如int型,float型等), 不必在device端事先分配空间。在gloabl函数声明时,不要声明为指针,直接声明为int或float。gloabl函数调用时也是。 如果要在device端以指针形式使用这个变量,如下: float temp; float *dev_temp
2017-11-03 19:42:38 403
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人