自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Running Jonny

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

  • 博客(8)
  • 资源 (2)
  • 收藏
  • 关注

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

光线跟踪是从三维场景生成二维图像的一种方式。主要思想为:在场景中选择一个位置放上一台假想的相机,该相机包含一个光传感器来生成图像,需要判断那些光将接触到这个传感器。图像中每个像素与命中传感器的光线有相同的颜色和强度。传感器中命中的光线可能来自场景中的任意位置,想象从改像素发出一道射线进入场景中,跟踪该光线穿过场景,直到光线命中某个物体。 本文实现一个简单场景的光线跟踪,场景中只有一组不同半径的球,没有任何光源,假想相机固定在Z轴。从每个像素发射一道光线,跟踪这些光线会命中哪些球面。当一束光

2013-11-28 17:38:00 2587 7

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

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

2013-11-25 11:22:45 2384

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

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

2013-11-22 14:07:56 2994 1

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

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

2013-11-21 20:04:44 1862

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

由于GPU硬件的限制,核函数kernel中B的数量限制为不超过65535;同样对于启动核函数中每个线程块中的线程数量,T不能超过设备属性结构(cuDeviceProp)中maxThreadsPerBlock的值,对于目前的GPU,该限制值是每个线程块512个线程。即当矢量的长度超过65536*128时,核函数的调用会失败,而目前的GPU对处理这种量级的运算时很常见的。        当

2013-11-21 10:39:38 1593

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

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

2013-11-20 16:21:25 2506

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

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

2013-11-19 21:38:52 1520

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

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

2013-11-18 21:50:24 2073

CUDA实现基于共享内存的位图显示

CUDA实现基于共享内存的位图显示,线程同步

2013-11-25

GPU上CUDA实现水波动画效果

利用GPU强大的计算能力生成不同时刻的水波图片,并使用OpenGL绘制,实现水波动画效果

2013-11-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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