cuda内存总结

1.shared memory

__shared__ 声明为共享内存,将会保存在共享内存中

 2.constant memory

__constant__ 声明为常量内存,将会保存在常量内存中,常量内存是只读内存,声明时要静态的分配空间

将数据从CPU拷贝到常量内存中时用cudaMemcpyToSymbol,例如cudaMemcpyToSymbol( s, temp_s,sizeof(Sphere) * SPHERES)

常量内存带来性能提升的原因:

1.对常量内存的单次读操作可以广播到临近线程,将节约15次读操作

2.常量内存的数据将缓存起来,对相同地址的连续读操作将不会产生额外的内存通信量

当处理常量内存时,NVIDIA硬件将单次内存读操作广播到每个半线程束(线程束中线程的一半),如果半线程束中的每个线程都从常量内存的相同地址上读取数据,那么使用常量内存产生的内存流量将会是使用全局内存的1/16。但是当所有的线程读取不同的地址时,会降低性能,因为若半线程束中的16个线程访问常量内存中的不同数据时,这16次不同的读取操作将会被串行化,从而需要16倍的时间来发出请求,但在全局内存中将会同时发出请求。

转载于:https://www.cnblogs.com/shrimp-can/p/5052305.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/459430.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

平衡二叉查找树插入节点操作( AVLTree ):旋转、调整平衡

AVL树的插入 在向一棵本来高度平衡的AVL树中插入一个新节点时,如果树中某个结点的平衡因子的绝对值 > 1,则出现了不平衡。设新插入结点为P,从结点P到根节点的路径上,每个结点为根的子树的高度都可能增加1,因此在每…

Fork/Join框架介绍

转http://www.infoq.com/cn/articles/fork-join-introduction/ 1. 什么是Fork/Join框架 Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架。 我们再通过Fork和…

为什么析构函数可以能声明为虚函数,构造函数不可以

转自:http://blog.csdn.NET/chen825919148/article/details/8020550 构造函数不能声明为虚函数,析构函数可以声明为虚函数,而且有时是必须声明为虚函数。 不建议在构造函数和析构函数里面调用虚函数。 构造函数不能声明为虚函数的原因是: 1 …

【DFS】NYOJ-325-zb的生日

【题目链接:NYOJ-325】 一道以我名字命名的题目,难道要我生日的时候再A? 思路:依旧深搜,但这个问题应该有一个专有名词吧,看别的博客说是 “容量为 sum/2 的背包问题”,不懂。。。 1 // abs() …

Ubuntu Sudo 无法解析的主机

如果对ubuntu在安装时候的主机名称不满意,可以使用如下的方法进行修改 需要注意的是如果只修改其中一个,使用sudo的时候会报“无法解析主机名称的”错误 1、进入etc目录,使用cat查看hosts文件 alloyubuntu:/etc$ cat hosts -n 1 127.0.0.1 …

信号集操作函数,信号未决、阻塞、递达

转载:信号集操作函数,信号阻塞与未决 一,信号集及相关操作函数 信号集被定义为一种数据类型: typedef struct { unsigned long sig[_NSIG_WORDS]; } sigset_t 信号集用来描述信号的集合,每个信号占用一位&a…

管道(Pipe)/createPipe

BOOL CreatePipe(PHANDLE hReadPipe, // 指向读句柄的指针 PHANDLE hWritePipe, // 指向写句柄的指针 LPSECURITY_ATTRIBUTES lpPipeAttributes, // 指向安全属性的指针 DWORD nSize // 管道大小); 管道(Pipe)实际是用于进程间通信的一段共享内存&…

linux输出文字的颜色特效

有关文字颜色及背景色可以参考:man console_codes-e 用来开启echo中的转义\e 或 \033 来输出Esc符号设置颜色的格式: \e[背景色;前景色;高亮m \033[背景色;前景色;高亮m恢复默认为 \e[0m其中背景色可以被以下数字替换第一个参数&#xff1…

互斥锁和自旋锁分别适用于什么样的业务场景

在多线程并发环境中,当某段代码被多个线程并发执行会导致数据不一致的情况出现时,我们就需要对这段代码加锁以保证线程安全了,我们可以对它施加互斥锁或者自旋锁,具体根据这段代码的执行耗时来定。 互斥锁的特点是:一把…

线程安全和可重入函数的联系与区别

1、 线程安全: 线程安全是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程访问完,其他线程才可以使用。不会出现数据不一致或数据污染。 线程不…

C++11 多线程 基础

C11开始支持多线程编程&#xff0c;之前多线程编程都需要系统的支持&#xff0c;在不同的系统下创建线程需要不同的API如pthread_create()&#xff0c;Createthread()&#xff0c;beginthread()等&#xff0c;使用起来都比较复杂&#xff0c;C11提供了新头文件<thread>、…

LB负载均衡集群--LVS

LB集群&#xff1a;LB集群是load balance 集群的简写&#xff0c;翻译成中文就是负载均衡集群。常用的负载均衡开源软件有nginx、lvs、keepalived &#xff0c;商业的硬件负载设备F5、Netscale。LB集群架构&#xff1a;当用户的请求过来时&#xff0c;会直接发到分发器&#xf…

linux 信号处理函数详解

转自&#xff1a;http://blog.csdn.NET/sddzycnqjn/article/details/7285760 1. 信号概念 信号是进程在运行过程中&#xff0c;由自身产生或由进程外部发过来的消息&#xff08;事件&#xff09;。信号是硬件中断的软件模拟(软中断)。每个信号用一个整型常量宏表示&#xff0…

2015 UESTC 搜索专题B题 邱老师降临小行星 记忆化搜索

邱老师降临小行星 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/contest/show/61Description 人赢邱老师和任何男生比&#xff0c;都是不虚的。有一天&#xff0c;邱老师带妹子(们)来到了一个N行M列平面的小行星。对于每一个着陆地点&#xf…

优化表的数据类型

我们可以使用PROCEDURE ANALYSE()对当前已有应用的表类型的判断&#xff0c;该函数可以对数据表中的列的数据类型提出优化建议&#xff0c;可以根据应用的实际情况酌情考虑是否实施优化。语法&#xff1a; SELECT * FROM tbl_name PROCEDURE ANALYSE(); SELECT * FROM tb…

Linux 信号之mysleep

一、 用alarm和pause实现sleep(3)函数,称为mysleep。 1. main函数调用mysleep函数,后者调用sigaction注册了SIGALRM信号的处理函数sig_alrm。 2. 调用alarm(seconds)设定闹钟。 3. 调用pause等待,内核切换到别的进程运行。 4. seconds秒之后,闹钟超时,内核发SIGALRM给这个…

JAVA 操作系统已经来到第五个版本了 现陆续放出三个版本 这是第二个版本

1 package System2;2 3 import javax.swing.*;4 5 import java.awt.*;6 import java.awt.event.ActionEvent;7 import java.awt.event.ActionListener;8 import java.awt.event.KeyListener;9 import java.util.*;10 /**11 * 作者:范铭祥12 * 内容及功能&#xff1a; 显示框…

标准Web系统的架构分层

1、架构体系分层图 在上图中我们描述了Web系统架构中的组成部分。并且给出了每一层常用的技术组件/服务实现。需要注意以下几点&#xff1a; 系统架构是灵活的&#xff0c;根据需求的不同&#xff0c;不一定每一层的技术都需要使用。例如&#xff1a;一些简单的CRM系统可能在产…

数据链路层差错检测:CRC(循环冗余检验)

1、循环冗余检验&#xff08;CRC&#xff09;&#xff1a; 在发送端&#xff0c;先把数据划分为祖&#xff0c;假定每组K个比特。现假定待传送的数据M 101001&#xff08;k6&#xff09;。CRC运算就是在数据M后面添加提供差错检测的n位冗余码&#xff0c;然后构成一个帧发送出…

算法导论笔记:25所有节点对的最短路径问题

本章考虑在给定的有向加权图G(V, E)&#xff0c;对于所有的节点u,v∈V&#xff0c;找到一条从节点u到节点v的最短路径。希望以表格的形式表示输出&#xff1a;第u行第v列给出的是节点u到节点v的最短路径权重。 对于这个问题&#xff0c;如果是运行|V|次单源最短路径算法来解决所…