CUDA
GPU小码农
GPU Arch/Ray tracing/游戏图形
展开
-
CUDA-CODE5-并行编程(1)
#include "cuda_runtime.h"#include "device_launch_parameters.h"#include #include #define N 10//不再使用线程块block,这里改为使用线程协作的方式来完成矢量求和__global__ void add(int *a , int *b , int* c){ //int tid = blo原创 2016-11-03 13:55:12 · 419 阅读 · 0 评论 -
Ubuntu14.04+Cuda8.0+QT配置
配置方法主要看这篇文章:http://blog.csdn.net/bisheng250/article/details/53611237原创 2017-03-17 09:58:00 · 401 阅读 · 0 评论 -
ptxas fatal : Cannot take address of function ‘_ZN8Material6SampleERK4RayRK8GVector3S5’
终于把困扰我好几天的问题解决了。 原来是我的material类(父类)有个函数没有提供实现,导致了这个错误。 我是一个个头文件排查出来的。还有就是,这个错误的提示很奇怪,就是后面Z开头的这一串。但是可以看出是和material有关的。所以,要耐心的排查错误。仔细的检查哪一个函数没有提供实现。最后我把父类里的那个没有提供实现的函数弄成了虚函数,搞定!问题解决。 注意,当原创 2017-04-05 19:35:54 · 1263 阅读 · 0 评论 -
c++和cuda混合编程记录(一)
最近在用cuda将RT并行化。 很多人都说,最好使用c来写cuda,不要用类,尽量用struct代替。因为在cuda里面使用oo来套现在会有很多问题。我也试过,确实很多问题,之前用cpp写的光线追踪用cuda并行化过程中遇到很多问题!快要崩溃的边缘!之后把类改成了struct之后(估计我还改了其他东西-_-),居然奇迹的好了。原创 2017-05-17 16:07:56 · 6851 阅读 · 2 评论 -
c++和cuda混合编程记录二
/////带有继承关系的内存分配遇到了问题,父类,子类 sphere *world_device; cudaMalloc( (void**)&world_device,sizeof(sphere) * SPHERENUM ); sphere world_host[ SPHERENUM ] = { sphere(0,0,-1, 0.5,原创 2017-05-18 10:08:34 · 896 阅读 · 1 评论 -
c++和cuda混合编程记录三
昨天逛 stack overflow还看到有外国人说不能在kernel函数中使用某些类的特性。今天测试一下。在kernel中使用对象数组,父指针指向子类,测试成功。也有可能是的确有些不支持,但是我还没测出来-_-。__global__ void add(int *a , int *b , int* c , int* d){ sphere* s = new sphere()原创 2017-05-18 10:26:59 · 764 阅读 · 0 评论 -
cuda生成随机数-完美版
能用谷歌就不要用百度,真的,对自己好一点,效率高一点。 下面是一个cuda中如何产生随机数的demo,改改可用。我已经用了:D。 int n = 200;using namespace std;__device__ float generate( curandState* globalState, int ind ) { //int in原创 2017-05-19 19:09:46 · 5236 阅读 · 3 评论 -
关于cuda和shader的共同点的一些思考
关于cuda和shader的共同点的一些思考原创 2017-07-02 10:52:24 · 2996 阅读 · 0 评论 -
CUDA-CODE5-并行编程(2)
#include "cuda_runtime.h"#include "device_launch_parameters.h"#include #include /*线程块Block的数量限制是:65535我的机器上maxThreadPerBlock = 1024.也就是一个Block中最多1024个线程介于前一篇中,是对长度很小的向量进行计算,所以直接在一个block中开几个并行原创 2016-11-03 18:56:24 · 479 阅读 · 0 评论 -
CUDA-CODE6-共享和同步
#include "cuda_runtime.h"#include "device_launch_parameters.h"#include #include #include #include"device_functions.h"/*线程块Block的数量限制是:65535我的机器上maxThreadPerBlock = 1024.也就是一个Block中最多1024个线程-原创 2016-11-10 19:43:03 · 494 阅读 · 0 评论 -
CUDA-Code1-HelloWorld
#include "cuda_runtime.h"#include "device_launch_parameters.h"#include #include //----------------------------------------------------------------------------------------------------//声明为__glob原创 2016-11-02 14:42:33 · 310 阅读 · 0 评论 -
CUDA-CODE2-分配内存
#include "cuda_runtime.h"#include "device_launch_parameters.h"#include #include __global__ void add(int a, int b , int* c){ *c = a + b;}int main(){ int c; int* dev_c; //为变量分配内存,任何设备上执原创 2016-11-02 14:44:57 · 515 阅读 · 0 评论 -
CUDA-CODE3-查询GPU设备属性
本文主要介绍了使用CUDA中的cudaGetDeviceProperties函数来查询设备属性的方法原创 2016-11-02 15:07:23 · 1278 阅读 · 0 评论 -
CUDA-CODE4-并行编程-blockIDx
CUDA中很重要的一点是使用blockID来实现并行编程原创 2016-11-02 16:17:43 · 942 阅读 · 0 评论 -
CUDA-Ray Tracing
并行算法设计的老师让我们每个组定一个题目,然后写代码来实现它。我们这组就定的光线追踪算法的并行化(其实是我一个人定的,因为其他三个人最开始就表明了立场,这个东西就该我来做,因为我在的实验室就是搞GPU的,呃呃呃,谢谢小伙伴们的厚爱啊,,-_-!!) 当时我就想,嗯,好吧,写就写,我就把以前写的串行的RT并行化不就好了吗,应该没什么难度的,cuda上学期也学过一些,主要是把grid,b原创 2017-04-09 09:55:59 · 1393 阅读 · 0 评论 -
qt creator 上面配置cuda
方法在这里原创 2017-04-01 10:31:05 · 7312 阅读 · 0 评论 -
windows下cuda7.5卸载方法
百度一直没找到卸载方法,于是看了下官方文档,文档里说,直接从windows控制面板即可卸载。原来如此。 搞定!原创 2017-09-08 21:09:32 · 9878 阅读 · 2 评论