03 2015 档案
摘要:MPI 模型如图MPI的各个运算节点是分布式的.每一个节点可以视为是一个“Thread”,但这里的不同之处在于这些节点没有所谓的共享内存,或者说Global Memory。所以,在后面也会看到,一般会有一个节点专门处理数据传输和分配的问题。MPI和CUDA的另一个不同之处在于MPI只有一级结构,即所...
阅读全文
摘要:C++ AMP一些更高级的概念:1. device内存的分配和拷贝.void vecAdd(float* A, float* B, float* C, int n){ array AA(n), BA(n); array CA(n); copy(A,AA); copy(B,BA); para...
阅读全文
摘要:C++ AMP是专为设计支持C++的异构并行模型.全程是:AcceleratorMassive Parallelism下面是一个Vector C++ AMP的代码,通过这段代码来解释C++ AMP的语法:#include using namespace concurrency;void vecAdd...
阅读全文
摘要:字节序,顾名思义字节的顺序,再多说两句就是大于一个字节类型的数据在内存中的存放顺序(一个字节的数据当然就无需谈顺序的问题了)。其实大部分人在实际的开发中都很少会直接和字节序打交道。唯有在跨平台以及网络程序中字节序才是一个应该被考虑的问题。在所有的介绍字节序的文章中都会提到字节序分为两类:Big-En...
阅读全文
摘要:CUDA基本概念CUDA网格限制1.2CPU和GPU的设计区别2.1CUDA-Thread2.2CUDA-Memory(存储)和bank-conflict2.3CUDA矩阵乘法3.1 全局存储带宽与合并访问 -- Global Memory(DRAM) bandwidth and memory co...
阅读全文
摘要:OpenACC:openacc 可以用于fortran, c 和 c++程序,可以运行在CPU或者GPU设备.openacc的代码就是在原有的C语言基础上进行修改,通过添加:compiler directives 编译器指令(pragmas): #pragma 来标示.cuda 中有__syncth...
阅读全文
摘要:因为重装系统的缘故,需要重新搭建octopress环境,在执行到:bundle install会出现一些这样的错误:An error occurred while installing timers (4.0.1), and Bundler cannot continue.An error occu...
阅读全文
摘要:什么是HistogrammingHistogramming是一种从大的数据集中提取典型特征和模式的方式.在统计学中,直方图(英语:Histogram)是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。图像直方图(英语:Image Histog...
阅读全文
摘要:stream是什么nivdia给出的解释是:A sequence of operations that execute in issue-order on the GPU. 可以理解成在GPU上执行的操作序列.比如下面的这些动作.cudaMemcpy()kernel launchdevice syn...
阅读全文