chapter5里重要的例子是dot,来解释一个block内多个thread的共享内存和同步。__shared__共享内存:“对于在GPU上启动的每个线程块,cuda c编译器都将创建该变量的一个副本。线程块中的每个线程都共享这块内存,并和其他线程块无关,这使一个线程块中多个线程能够在计算上进行通信...
分类:
其他好文 时间:
2014-06-23 00:32:59
阅读次数:
289
存储映射I/O使一个磁盘文件与存储空间中的一个缓冲区相映射,对缓冲区的读、写操作就是对文件的读、写操作,从而可以不再使用read、write系统调用。
将文件映射到存储区的函数由mmap完成,函数原型如下:
#include
/* 成功返回映射区起始地址,出错返回MAP_FAILED */
void *mmap(void *addr, size_t len, int prot, ...
分类:
系统相关 时间:
2014-06-22 21:39:19
阅读次数:
301
from:unix高级环境编程
unix/linux中共享内存是最高效的ipc方式。
有几种使用方式:
1)mmap /dev/zero设备:
fd = open("/dev/zero", O_RDWR);
area = mmap(0, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
close(fd);
加入MAP_SHARE...
分类:
其他好文 时间:
2014-06-22 06:21:16
阅读次数:
215
主要是在研究访问共享内存会产生bank conflict时,自己产生的疑惑。对于这...
分类:
其他好文 时间:
2014-06-22 00:39:19
阅读次数:
477
本来打算使用pipe进行父子进程之间的数据交互(应用场景是父进程向多个子进程分发数据,子进程进行处理);但是担心pipe的性能,转而使用mmap实现。废话少叙,上代码。#include #include #include #include #include #include #include #in...
分类:
其他好文 时间:
2014-06-21 10:03:04
阅读次数:
190
贪婪是一种原罪,不要再追求性能的路上离正确越来越远。
内存模型
java内存模型重排序
锁synchronized
什么是锁独占锁分拆锁分离锁分布式锁
volatile
内存模型
java内存模型
提到同步、锁,就必须提到java的内存模型,为了提高程序的执行效率,java也吸收了传统应用程序的多级缓存体系。
在共享内存的多处理器体系架构中,每...
分类:
其他好文 时间:
2014-06-18 12:00:22
阅读次数:
225
一、Ashmem驱动程序
~/Android/kernel/goldfish
----include
----linux
----ashmem.h
----mm
----ashmem.c
驱动程序详解请看《Android系统源代码情景分...
分类:
移动开发 时间:
2014-06-18 11:27:37
阅读次数:
306
一、Ashmem驱动程序
~/Android/kernel/goldfish
----include
----linux
----ashmem.h
----mm
----ashmem.c
驱动程序详解请看《A...
分类:
移动开发 时间:
2014-06-17 16:41:12
阅读次数:
801
进程间通信 - IPC
Unix / Linux 系统基于多进程,进程和进程之间经常做数据的交互,这种技术叫进程间通信。
常见的IPC:
1)文件
2)信号
3)管道
4)共享内存
5)消息队列
6)信号量集
7)网络编程(socket)
... ...
其中,管道是最古老的IPC之一,目前较少使用。共享内存、消息队列和信号量集 遵循相同的规范,因此编码上有很多的共同点,...
分类:
其他好文 时间:
2014-06-16 19:43:14
阅读次数:
189
翻译注:共享内存是程序之间进行数据交互的最基本的方式,而由于windows和kithara rts本身为两个独立的系统,为了能够使两个不同系统之上的程序进行通信,那么就必须开辟一块内存区域用于数据共享。本文是对kithara rts官方原文进行的翻译,加入了本人的一些使用经验。Shared Memo...
分类:
其他好文 时间:
2014-06-14 09:01:50
阅读次数:
360