ZIV555的博客

Trust yourself,you know more than you think you do.

深度学习tensorflow安装ubuntu16.04amd64

教程已经比较多了,待会给出参考网页; pip安装大概就几步吧。 1、安装python2.7,ubuntu自带,直接键入python查看; 2、pip install --upgrade pip 3、sudo apt-get install python-pip python-dev 4、git...

2017-04-13 08:35:32

阅读数 582

评论数 0

标题大写引用小写

如题  例如大标题是第一章  引用一.1变成1.1; 这里采用双标题,需要自定义一个大标题来代替标题1,此时的大标题是大写的; 然后牺牲一个标题9,在定义多级列表时链接到标题1;如图所示,此时的标题1是小写的; 写文章的时候,每章的标题文字后面(不换行)插入一个样式分隔符(方法:输入完 标题...

2016-11-30 22:22:38

阅读数 699

评论数 0

封面空格处添加下划线

备注一下:一般封面题目啥的需要下划线,空格处点击段落,勾选上允许....(红圈所示),然后点击U下划线即可。

2016-11-27 11:25:30

阅读数 1771

评论数 0

GPU地址空间的相关概念

转载于:http://blog.csdn.net/xiewen_bupt/article/details/47208903 知识点回顾:虚拟地址 一个进程要对内存的某存储单元进行读写操作时,需要该内存单元的内存位置,这个时候,通过物理寻址计算出该内存位置。然而不同的进程可能修改相同位置...

2016-09-16 17:20:10

阅读数 1534

评论数 0

cuda中pinned memory(page-locked memory)

转载于:http://blog.csdn.net/zhangpinghao/article/details/21046435 当为了提高CUDA程序的主机内存和设备内存传输消耗时,可以尝试一下两种方案 一:使用分页锁定内存,分页锁定内存和显存之间的拷贝速度大约是6GB/s,...

2016-08-04 10:36:33

阅读数 1308

评论数 0

Turbo Cache技术

Turbo Cache,即Turbo Cache技术,是NVIDIA推出的一项技术。通俗的说,Turbo Cache技术就是用内存当显存来使用。 既然是利用系统内存,这和以前的集成显卡又有什么区别呢? 在nVIDIA 的官方技术说明中,内存管理技术可以“允许GPU在分配和不分配系统...

2016-07-28 21:40:23

阅读数 589

评论数 0

多线程程序在多核和单核上运行的不同

1、锁 在单核上,多个线程执行锁或者临界区时,实际上只有一个线程在执行临界区代码,而核心也只支持一个线程执行,因此不存在冲突。如果某个线程持有锁,那只有其他线程不会被调度到CPU上执行,影响的只是持有和释放锁的时间,处理器时刻在运行着。但是在多核上运行时,锁或临界区会导致其余处理器空闲而只允许一...

2016-07-26 16:38:43

阅读数 4569

评论数 0

cuda debug 查看显存中变量

用工程自带的简单数组加法测试。 一、打开start CUDA debug 二、打开CUDA warp watch 及CUDA info 三、就可以查看kernel中(显存)的变量了

2016-07-12 20:17:02

阅读数 2585

评论数 1

cuda内存处理及stream内存处理

CUDA内存拷贝 1、cudaMemcpy() cudaMalloc()  //线性内存拷贝 1 //线性内存拷贝 2 cudaMalloc((void**)&dev_A, data_size); 3 cudaMemcpy(dev_A, host_A, data_size, c...

2016-07-09 13:31:16

阅读数 847

评论数 0

cuda中warp分支及执行

根据编程指南,任何流控制指令(if\switch\do\for\while)都会导致线程分歧,线程分歧时会顺序执行每个分子路径,而禁用不在此路径上的线程,直到所有路径完成,线程再重新汇合到同一执行路径。 主要有以下三种情况: 如果一个warp的32个线程都只满足同一个分支,这是所谓的“分支按w...

2016-06-28 12:03:23

阅读数 1928

评论数 0

每个线程块中最大线程问题

1:每个block 最大1024个线程(视不同的卡来定),这个是线程总数的限制。 2:每个线程块最大维度的限制为x方向1024,y方向1024,z方向64(视不同的卡来定)。 3:一个线程块的线程情况同时收到上述两条的约束,即,如果在x方向排布了1024个线程,那么y和z方向的维度只能...

2016-06-27 16:57:00

阅读数 2411

评论数 1

静态局部变量特点

void fun() { static int val; } val的内存地址已经初始化。 静态局部变量有以下特点: 该变量在全局数据区分配内存; 静态局部变量在程序执行到该对象的声明处时被首次初始化,即以后的函数调用不再进行初始化; 静态局部变量一般在声明处初始化,如果没...

2016-06-26 22:07:15

阅读数 651

评论数 0

Nagle算法规则

Nagle算法的规则: (1)如果包长度达到MSS,则允许发送; (2)如果该包含有FIN,则允许发送; (3)设置了TCP_NODELAY选项,则允许发送; (4)未设置TCP_CORK选项时,若所有发出去的小数据包(包长度小于MSS)均被确认,则允许发送; (5)...

2016-06-26 21:47:00

阅读数 471

评论数 0

STL容器

1.vector  底层数据结构为数组 ,支持快速随机访问 2.list    底层数据结构为双向链表,支持快速增删 3.deque   底层数据结构为一个中央控制器和多个缓冲区,详细见STL源码剖析P146,支持首尾(中间不能)快速增删,也支持随机访问 4.stack   底层...

2016-06-24 22:50:04

阅读数 276

评论数 0

独显和集显设置,双显卡工作及cuda计算

有时候我们会碰到插上独显后,想用集显却不显示了,不是电脑出问题了,需要在BIOS中进行设置。 1、确保在BIOS中设置集显和独显都予以使用(部分板卡可能不支持); 2、此时显示器可以接在集显上,独显单独做计算(确保都有合适的驱动); 3、多显卡计算时,需要通过cudaSetDevice()来...

2016-06-24 18:41:01

阅读数 1583

评论数 0

cuda stream处理

需要通过某种方式一次性地执行完读取、修改写入这三个操作,并且执行过程中不被其他线程中断,这种操作称为原子操作。 #include "cuda_runtime.h" #include "device_launch_parameters.h" #include...

2016-06-24 17:46:47

阅读数 643

评论数 0

不同显卡(GPU)浮点数计算能力

1、SP总数=TPC&GPC数量*每个TPC中SM数量*每个SM中的SP数量; TPC和GPC是介于整个GPU和流处理器簇之间的硬件单元,用于执行CUDA计算。特斯拉架构硬件将SM组合成TPC(纹理处理集群),其中,TPC包含有纹理硬件支持(特别包含一个纹理缓存)和2个或3个SM,后面会有...

2016-06-24 16:59:15

阅读数 11360

评论数 1

GPU上基于SIMD的实现模式与多核CPU上基于MIMD的实现模式各有什么优缺点

如题:         由于每个执行单元的指令流都是相同的,SIMD模式将指令的获取时间均摊到每一个执行单元。但是,当指令流出现分支,指令就会被序列化。而MIMD模式的设计主要是为了处理不同指令流,当指令流出现分支,它不需要对线程进行阻塞。然而它需要更多指令存储以及译码单元,这就意味着硬件需要更...

2016-06-23 16:31:58

阅读数 1500

评论数 0

cuda及常用计时方式

CUDA中的计时方式: cudaEventCreate(&start1); cudaEventCreate(&stop1); cudaEventRecord(start1, NULL); Kernel>>( a, b, c ); cudaEven...

2016-06-22 15:23:53

阅读数 790

评论数 0

CBF中for循环变矩阵乘法的思想(arrayfire)--复数矩阵

接着上一篇博客CBF中for循环变矩阵乘法的思想(arrayfire)的续。 上一篇主要讲了算法思想的改变,但是只是测试了实数,没有测试复数的效果,实际项目中都是复数的运用,所以这次添上复数的代码及测试结果。 这次在添加arrayfire的代码之前,先看看不用这个库的一个C++代码形式: for(...

2016-06-22 13:33:44

阅读数 610

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭