Running Jonny

图形图像 计算机视觉 CUDA编程 OPENGL编程

CSemaphore的使用

信号量是CSemaphore的对象,它允许有限数目的线程在一个或多个进程中访问同一个资源,从而实现多线程之间的同步。一个CSemaphore对象保持了对当前访问某一指定资源的线程的计数。。 CSemaphore类的构造函数原型如下: CSemaphore(     LONG lInitia...

2014-07-07 20:47:32

阅读数 650

评论数 0

【走进CUDA】~详解CUDA核函数及运行时参数

详解CUDA核函数及运行时参数。

2014-04-08 21:27:21

阅读数 4103

评论数 0

【走近CUDA】_并行计算与CUDA简介

随着硬件技术的发展,并行计算已经逐步走进大家的生活。你在用社交软件聊天的同时,可能需要浏览网页,播放音乐。而只能打电话的手机,已经不是大家期待的手机。这些都受益于并行计算的发展。 早期的并行计算主要是在CPU上完成的。提升CPU的性能主要有以下两种方式: 1)提高处理器的时钟频率 2)增加处理器的...

2014-04-04 12:32:03

阅读数 1184

评论数 4

[菜鸟每天来段CUDA_C]多GPU的使用

单个GPU具有强大的并行计算的能力,当把多个GPU同时用来执行同一个任务的时候,计算的性能将会得到更大的提升。本文在两块GPU上实现大数据量的向量点积运算

2014-03-19 16:25:08

阅读数 2605

评论数 3

[菜鸟每天来段CUDA_C]使用多个CUDA流提高程序执行效率

实验通过把一组数据分块复制到GPU执行,返回执行结果,来说明使用cuda流的使用能提高程序的执行效率

2014-03-18 16:04:07

阅读数 3578

评论数 7

[Excel使用技巧]Excel的宏安全性不能修改

打开带有宏的Excel文件,有时会提示更改宏的安全性以使用文档,但从菜单修改却不能生效。 即在此打开文档或调用宏代码的时候还是会弹出提示,无法使用宏。分享解决办法,

2014-03-13 19:32:45

阅读数 2267

评论数 0

[菜鸟每天来段CUDA_C] 利用页锁定内存提高运算效率

本文通过使用malloc分配内存和cudaHostAlloc分配页锁定内存,说明使用页锁定内存可提高运算效率,并指出哪些场合适合使用页锁定内存。 malloc分配的是标准的可分页的(pagable)的主机内存,操作系统在对内存进行调度的时候可能会将这种内存分页或者交换到磁盘上,需要的时候再调回内存...

2014-02-24 20:05:42

阅读数 2063

评论数 1

[菜鸟每天来段CUDA_C] GPU上实现直方图计算

本文通过在GPU上计算直方图说明GPU计算中的原子操作。

2014-02-23 18:38:11

阅读数 2791

评论数 1

[菜鸟每天来段CUDA_C]CUDA与OpenGL互操作

本文要解决的问题是如何实现CUDA和OpenGL的互操作,使得GPU能够将通用计算的运算结果交给OpenGL进行绘制。 本文的应用程序主要包括两个方面: 1.      使用CUDA核函数生成图像数据 2.      将数据传递给OpenGL驱动程序并进行渲染 实现这个功能需要按如下四个步...

2013-12-08 15:28:07

阅读数 3063

评论数 0

[菜鸟每天来段CUDA_C]CUDA实现简单热传导动态模拟

本文利用CUDA实现简单二维平面上的热传导模拟。假设有一个矩形房间,将其分成一个网格,在网格中随机散布一些热源,热源有不同的固定温度,然后就可以计算网格中每个单元的温度随时间的变化情况。本文将热传导模型做如下简化:某单元的新时刻温度等于原有温度加其与邻接单元的温差,邻接单元取上下左右四个单元。

2013-12-03 15:14:09

阅读数 2124

评论数 1

[菜鸟每天来段CUDA_C]GPU上通过常量内存实现光线跟踪

光线跟踪是从三维场景生成二维图像的一种方式。主要思想为:在场景中选择一个位置放上一台假想的相机,该相机包含一个光传感器来生成图像,需要判断那些光将接触到这个传感器。图像中每个像素与命中传感器的光线有相同的颜色和强度。传感器中命中的光线可能来自场景中的任意位置,想象从改像素发出一道射线进入场景中,跟...

2013-11-28 17:38:00

阅读数 2121

评论数 6

[菜鸟每天来段CUDA_C]基于共享内存的位图与syncthreads的使用

本文使用CUDA实现基于共享内存的位图显示。位图中每个位置的像素值由每个线程计算,计算结果保存到缓冲区(共享内存)中。 结果为一个由多个绿色球形构成的网格。

2013-11-25 11:22:45

阅读数 1930

评论数 0

[菜鸟每天来段CUDA_C]CUDA实现向量的点积运算

本文利用CUDA实现向量的点积运算。主要思想是:每个线程计算两个相应元素的乘积,然后利用共享内存(__shared__)累计每个线程的结果,得到一个线程块内向量的部分内积,最后在CPU上对个线程块的结果求和,从而得到点积运算结果。

2013-11-22 14:07:56

阅读数 2281

评论数 0

[菜鸟每天来段CUDA_C]GPU实现水波动画效果

本文利用GPU强大的计算能力生成不同时刻的水波图片,并使用OpenGL绘制,实现水波动画效果。其中几个时刻的截图如下: 生成一帧动画的代码为: void generateFrame(DataBlock *d, int ticks) { dim3 blocks(DIM/16, DIM/16);...

2013-11-21 20:04:44

阅读数 1475

评论数 0

[菜鸟每天来段CUDA_C]GPU上实现任意长度的矢量求和

由于GPU硬件的限制,核函数kernel中B的数量限制为不超过65535;同样对于启动核函数中每个线程块中的线程数量, T不能超过设备属性结构(cuDeviceProp)中maxThreadsPerBlock的值,对于目前的GPU,该限制值是每个线程块512个线程。即当矢量 的长度超过65536*...

2013-11-21 10:39:38

阅读数 1349

评论数 0

[菜鸟每天来段CUDA_C]基于GPU的Julia集

Julia集是一个著名的分形集,它是复数经过迭代得到的,是满足某个复数计算函数的所有点构成的边界。 算法思想: 通过一个简单的迭代等式对复平面中的点求值,如果在计算某个点时迭代的结果是发散的,那么这个点就不属于Julia集。相反,如果迭代计算得到的一系列值都位于某个边界范围之内,那么这...

2013-11-20 16:21:25

阅读数 2098

评论数 0

[菜鸟每天来段CUDA_C]CppIntegration在C++程序中引用CUDA程序

本文主要实现在C++程序中引用CUDA程序,主要意义是使顺序定义的数据能在CUDA程序中并行执行,然后返回结果。 程序主要包括main.cpp                                 定义main函数,需要处理的数据                         In...

2013-11-19 21:38:52

阅读数 1248

评论数 0

[菜鸟每天来段CUDA_C]向量相加的CUDA实现和顺序执行比较

本文首先利用CUDA实现了两个50000维向量加法的并行运算,然后对两个向量串行相加,对两者的计算时间做了比较。 1. CUDA 向量相加 A、B为随机生成的长度为50000的数组。 核函数: __global__ void vecAdd(const float* A, const ...

2013-11-18 21:50:24

阅读数 1619

评论数 0

MFC中利用CDockablePane实现悬浮窗

VS2008提供CDockablePane实现悬浮窗效果,各小窗口可以根据需要调整布局。本文介绍CDockablePane的使用方法以及使用中遇到的一些问题及解决方案。   首先展示一下最终效果   按住鼠标拖动小窗口,效果如下,可以根据需要选择放置位置:     实现步骤:   1.    ...

2013-10-23 17:39:34

阅读数 5014

评论数 2

[Cuda学习笔记]MFC环境中CUDA程序的配置与调试

本文在MFC界面下,点击按钮读入图像(OpenCV)用CUDA做中值滤波,并显示滤波后的结果。   环境:VS2008 CUDA4.0   1.       创建MFC应用程序CUDATest,全部选择默认。 2.       右击项目名称,添加—新建筛选器—输入筛选器名称CUDA。...

2013-10-10 22:08:02

阅读数 2130

评论数 3

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