- 博客(16)
- 资源 (22)
- 收藏
- 关注
原创 计算机架构
有多种不同的方法可以对计算机架构进行分类。一个广泛使用的分类方法是弗林分类法(Flynn’s Taxonomy),它根据指令和数据进入CPU的方式,将计算机架构分为4种不同的类型(如下图所示)。单指令单数据(SISD) 单指令多数据(SIMD) 多指令单数据(MISD) 多指令多数据(MIMD) SISD指的是传统计算机:一种串行架构。在这种计算...
2019-03-28 22:18:22 5762
翻译 CUDA详细篇
在老板的要求下,本博主从2012年上高性能计算课程开始接触CUDA编程,随后将该技术应用到了实际项目中,使处理程序加速超过1K,可见基于图形显示器的并行计算对于追求速度的应用来说无疑是一个理想的选择。还有不到一年毕业,怕是毕业后这些技术也就随毕业而去,准备这个暑假开辟一个CUDA专栏,从入门到精通,步步为营,顺便分享设计的一些经验教训,希望能给学习CUDA的童鞋提供一定指导。个人能力所及,错误难免...
2019-03-26 22:51:03 833
翻译 CUDA通篇
CUDA是什么CUDA,ComputeUnifiedDeviceArchitecture的简称,是由NVIDIA公司创立的基于他们公司生产的图形处理器GPUs(GraphicsProcessingUnits,可以通俗的理解为显卡)的一个并行计算平台和编程模型。通过CUDA,GPUs可以很方便地被用来进行通用计算(有点像在CPU中进行的数值计算等等)...
2019-03-26 22:48:33 379
翻译 CUDA编程
前言2006年,NVIDIA公司发布了CUDA,CUDA是建立在NVIDIA的CPUs上的一个通用并行计算平台和编程模型,基于CUDA编程可以利用GPUs的并行计算引擎来更加高效地解决比较复杂的计算难题。近年来,GPU最成功的一个应用就是深度学习领域,基于GPU的并行计算已经成为训练深度学习模型的标配。目前,最新的CUDA版本为CUDA 9。GPU并不是一个独立运行的计算平台,而需要与...
2019-03-26 22:24:06 1094
原创 VS2013 community卸载后不能重装的问题
VS2013 community with update 5卸载后重装遇到了提示已经安装了的情况 ,初步解决方案如下:1、去[控制面板]->[程序和功能],首先卸载VS2013,完成后,将VS2013相关软件包也卸载掉。2、打开注册表,regedit,将以下路径中名称为12.0的子项删除,不管它被包含在哪个父项里,要尽可能地展开所有项,找到12.0:HKEY_CURRENT_U...
2019-03-25 21:35:18 583
原创 CUDA算法——Stream and Event
Stream一般来说,cuda c并行性表现在下面两个层面上:Kernel level Grid level到目前为止,我们讨论的一直是kernel level的,也就是一个kernel或者一个task由许多thread并行的执行在GPU上。Stream的概念是相对于后者来说的,Grid level是指多个kernel在一个device上同时执行。Stream和event简介C...
2019-03-13 22:37:01 625
原创 MachineLearning Exercise 7 : K-means Clustering and Principle Component Analysis
findClosestCentroids.mm = size(X,1);for i=1:m [value index] = min(sum((repmat(X(i,:),K,1)-centroids).^2,2)); idx(i) = index;endcomputeCentroids.mtemp = [X idx];// pdf说能向量化实现更高效,本人对...
2019-03-13 22:26:22 353
原创 MachineLearning:UFLDL学习笔记 ---- 主成分分析与白化
主成分分析(PCA)是用来提升无监督特征学习速度的数据降维算法。看过下文大致可以知道,PCA本质是对角化协方差矩阵,目的是让维度之间的相关性最小(降噪),保留下来的维度能量最大(去冗余),PCA在图像数据的降维上很实用,因为图像数据相邻元素的相关性是很高的。为了方便解释,我们以二维数据降一维为例(实际应用可能需要把数据从256降到50):需要注意的是,两个特征值经过了预处理,其均值为...
2019-03-13 22:18:52 402
原创 CUDA算法:MS-queue算法相关
简介:多核多线程已经成为当下一个时髦的话题,而无锁编程更是这个时髦话题中的热点话题。Linux内核可能是当今最大最复杂的并行程序之一,为我们分析多核多线程提供了绝佳的范例。内核设计者已经将最新的无锁编程技术带进了2.6系统内核中,本文以2.6.10版本为基础做相关解释。非阻塞型同步(Non-blockingSynchronization)简介如何正确有效的保护共...
2019-03-13 22:15:40 885
原创 CUDA ---- Shared Memory
CUDA SHARED MEMORYshared memory在之前的博文有些介绍,这部分会专门讲解其内容。在global Memory部分,数据对齐和连续是很重要的话题,当使用L1的时候,对齐问题可以忽略,但是非连续的获取内存依然会降低性能。依赖于算法本质,某些情况下,非连续访问是不可避免的。使用shared memory是另一种提高性能的方式。GPU上的memory有两种:· On...
2019-03-13 22:04:39 808
原创 CUDA ---- Warp解析
Warp逻辑上,所有thread是并行的,但是,从硬件的角度来说,实际上并不是所有的thread能够在同一时刻执行,接下来我们将解释有关warp的一些本质。Warps and Thread Blockswarp是SM的基本执行单元。一个warp包含32个并行thread,这32个thread执行于SMIT模式。也就是说所有thread执行同一条指令,并且每个thread会使用各自的da...
2019-03-13 21:32:42 744
原创 CUDA——线程配置
前言线程的组织形式对程序的性能影响是至关重要的,本篇博文主要以下面一种情况来介绍线程组织形式:2D grid 2D block线程索引矩阵在memory中是row-major线性存储的:在kernel里,线程的唯一索引非常有用,为了确定一个线程的索引,我们以2D为例:线程和block索引 矩阵中元素坐标 线性global memory 的偏移首先可以将thread...
2019-03-12 23:20:46 824
原创 CUDA——简介
CUDA简介CUDA是并行计算的平台和类C编程模型,我们能很容易的实现并行算法,就像写C代码一样。只要配备的NVIDIA GPU,就可以在许多设备上运行你的并行程序,无论是台式机、笔记本抑或平板电脑。熟悉C语言可以帮助你尽快掌握CUDA。CUDA编程CUDA编程允许你的程序执行在异构系统上,即CUP和GPU,二者有各自的存储空间,并由PCI-Express 总线区分开。因此,我们应该先...
2019-03-12 22:48:34 2148
原创 CUDA ---- Hello World From GPU
本篇博文仅实现hello world,先看到效果,具体细节将在后续博文解释。准备如果你是第一次使用CUDA,在Linux下可以使用下面的命令来检查CUDA编译器是否安装正确:$ which nvcc一般,该指令输出为:/usr/local/cuda/bin/nvcc另外,你可能还需要检查下你机器上的GPU型号,可以使用给下面的命令查询:$ ls -l /dev/...
2019-03-12 22:42:11 485
原创 CUDA ---- GPU架构(Fermi、Kepler)
GPU架构SM(Streaming Multiprocessors)是GPU架构中非常重要的部分,GPU硬件的并行性就是由SM决定的。以Fermi架构为例,其包含以下主要组成部分:CUDA cores Shared Memory/L1Cache Register File Load/Store Units Special Function Units Warp Schedul...
2019-03-12 22:36:26 887 1
翻译 《GPU高性能编程CUDA实战》代码整理
CUDA架构专门为GPU计算设计了一种全新的模块,目的是减轻早期GPU计算中存在的一些限制,而正是这些限制使得之前的GPU在通用计算中没有得到广泛的应用。使用CUDA C来编写代码的前提条件包括:(1)、支持CUDA的图形处理器,即由NVIDIA推出的GPU显卡,要求显存超过256MB;(2)、NVIDIA设备驱动程序,用于实现应用程序与支持CUDA的硬件之间的通信,确保安装...
2019-03-12 22:21:41 1008
caffe安装配置文件Makefile.config
2020-10-19
PCA算法的原理C++ Eigen库实现
2020-04-16
C++PrimerPlus(第6版)_高清中文版_超详带书签
2019-04-23
OpenCV3编程入门_毛星云版
2019-04-08
QTTest(主要关于TCP和UDP传输)
2019-01-18
QPaintEvent绘制雷达扫描图
2018-12-26
OSG学习资料及视频PPT超详
2018-11-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人