Visual Studio 2010 中CUDA 4.0的安装与配置

Visual Studio 2010 中CUDA 4.0的安装与配置 安装环境: Win7 64位系统,Geforce GT 430显卡 安装前提:        Visual Studio 2010        Visual Assist X 安装步骤: 1,Nvidia...

2012-03-31 20:29:55

阅读数:1115

评论数:0

CUDA——SDK4.1+VS2008+VA_X

在此记录一下平台搭建的过程。       首先需要安装VS 2008。       然后从英伟达官网上下载开发包、驱动和工具包。       保证驱动和开发包、工具包均为同一版本。       我下载的是4.1的最新版本。即cudatoolkit_4.1.28_win_32.msi 、 ...

2012-03-31 15:07:16

阅读数:1458

评论数:0

error LNK2005 已经在***.obj中定义

为什么会出现这个错误??“error LNK2005: 已经在aaa.obj中定义”  编程中经常能遇到LNK2005错误——重复定义错误,其实LNK2005错误并不是一个很难解决的错误。弄清楚它形成的原因,就可以轻松解决它了。           造成LNK2005错误主要有以下几种情况:...

2012-03-28 19:01:40

阅读数:5268

评论数:1

C语言中如何使用宏(#、##、...)

C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念)。下面对常遇到的宏的使用问题做了简单总结。 1.关 于#和## 在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏 变量通过替换...

2012-03-28 15:54:17

阅读数:596

评论数:0

连连看算法及源代码

闲着无聊,编个连连看玩玩,用了魔兽里面的头像来做图片。下面记录如下:   程序的关键在于判断用户连续点击的两个图案能否消除。两个图片可以消除的条件有两个: 图片相同 图片间连线的转角数不得超过2 。   而判断能否通过小于两个转角的路径连通的算法有两种:...

2012-03-23 11:28:38

阅读数:611

评论数:0

Bit-map(位图)

什么是Bit-map     所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。     如果说了这么多还没明白什么是Bit-map,那么我们来看一个具体的例子,假设我们要对0...

2012-03-23 11:12:17

阅读数:493

评论数:0

哈希(Hash)表

哈希(Hash)表     一般的查找方法是基于比较的方法,查找效率依赖比较次数,其实理想的查找是希望不经比较,一次存取便能得到所查记录。这样就必须在记录的存储位置和它的关键字之间建立一个确定的对应关系f,查找k时,只要根据这个对应关系f找到给定值k的像f(k)。这种...

2012-03-23 11:00:29

阅读数:456

评论数:0

BloomFilter——大规模数据处理利器

BloomFilter——大规模数据处理利器   Bloom Filter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法。通常应用在一些需要快速判断某个元素是否属于集合,但是并不严格要求100%正确的场合。   一. 实例    为了说明Blo...

2012-03-23 10:53:21

阅读数:397

评论数:0

openMP 并行编程基础

openMP 并行编程基础 1、fork/join并行执行模式的概念 OpenMP是一个编译器指令和库函数的集合,主要是为共享式存储计算机上的并行程序设计使用的。 前面一篇文章中已经试用了OpenMP的一个Parallel for指令。从上篇文章中我们也可以发现OpenM...

2012-03-21 10:25:33

阅读数:716

评论数:0

OpenMP中的任务调度----schedule()

OpenMP中的任务调度         OpenMP中,任务调度主要用于并行的for循环中,当循环中每次迭代的计算量不相等时,如果简单地给各个线程分配相同次数的迭代的话,会造成各个线程计算负载不均衡,这会使得有些线程先执行完,有些后执行完,造成某些CPU核空闲,影响程序性能。例如以下代码: ...

2012-03-19 16:05:25

阅读数:4282

评论数:1

STL简介

一、STL简介   STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。现在虽说它主要出现在C++中,但在被引...

2012-03-16 16:44:25

阅读数:399

评论数:0

#include“stdafx.h”详解

1,用VS2008新建项目,选择【Win32】-【Win32控制台应用程序】-输入名称:Test-【确定】   再选【下一步】-默认情况下,我们都是在【空项目】前打上对勾,建立一个纯的C或C++程序。 我们这里选择默认,即【预编译头】前打上对勾,之后【完成】 2,在Test项目中...

2012-03-16 10:41:12

阅读数:894

评论数:0

TBB组成简介和一个简单的示例

一.TBB组成 TBB里的内容大致可以分为以下几类: -          通用并行算法      o         这是TBB里最主要的一大部分,比如示例里的parallel_for就是这部分的一个算法      o         TBB提供了parallel_for,paral...

2012-03-16 10:22:35

阅读数:1525

评论数:0

TBB的环境配置

在windows下配置(以window xp为例子) 1.首先要安装vistual studio 2005/2008都可以,安装的选项时候记得要把C++选上 2.到http://www.threadingbuildingblocks.org/download.php下载一个TBB的包(...

2012-03-16 09:53:12

阅读数:2633

评论数:0

让VA和Visual studio支持*.cu文件

众所周知,*.cu和*.cuh后缀文件是CUDA的专门后缀格式,使用*.cu后缀的主要目的是使得CUDA的rules可以识别它并在编译时做一个预编译,生成用于CPU代码的cpp文件和用于GPU代码的cubin文件。虽然都是文本文件,因此可以直接使用cpp后缀已达到使VA和VS自身支持的目的,但也会...

2012-03-10 10:40:26

阅读数:3045

评论数:0

基于CUDA的图像亮度直方图统计

算法: 1、先计算原始图像每个像素的亮度:u = (unsigned char)(0.299f * r + 0.587f * g + 0.114f * b)。 2、用一个256大小的数组统计每个亮度的点的数量。 C++实现方法: memset(out, 0, siz...

2012-03-10 10:39:19

阅读数:1481

评论数:0

基于CUDA的矩阵相乘

这几天研究了一下CUDA,发现其并行的思想和普通的CPU多线程思想不太一致,但还是挺不错。主要是将任务划分成一个个block,然后每个block里面再划分成细的线程。然后每个线程做自己做的 事情。这种并行思想很适用于像矩阵运算这些元素与元素之间的运算并不耦合得很厉害,但整体数据很大的情况,这...

2012-03-09 09:42:08

阅读数:8477

评论数:0

云计算扫盲

云计算:“始作俑者”是sun公司在24年前,发扬广大者却是Google无疑。谷歌“云计算”的雄心壮志是:Google一下,所有问题都能得到解决。  什么是云计算? 通俗的讲,就是你不用在自己的个人计算机里安装任何的办公、游戏、杀毒、财务等软件,所有这些应用都放在互联网的“巨型服务器”中...

2012-03-07 21:43:02

阅读数:645

评论数:0

并行计算、分布式计算、网格计算讲解

先说分布式计算和并行计算的异同: 解决对象上:都是大任务化为小任务,这是他们共同之处。 但是分布式的任务包互相之间有独立性,上一个任务包的结果未返回或者是结果处理错误,对下一个任务包的处理几乎没有什么影响。因此,分布式的实时性要求不高,而且允许存在计算错误(因为每个计算任务给好几个参与...

2012-03-07 21:38:12

阅读数:1290

评论数:0

opencl程序架构

这几天研究了一下OpenCL,阅读了nvidia中的例子,归纳OpenCL程序的一般结构如下: int main(int argc, char* argv[]) {         //获得platform         clGetPlatformIDs(1, &cpPl...

2012-03-07 21:29:40

阅读数:636

评论数:0

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