转载:http://blog.csdn.net/jdhanhua/article/details/4843653因之前使用nvcc编译.cu 文件时,使用time_t及其一系列函数编译报不知名错误。在CUDA中统计运算时间,大致有三种方法:使用cutil.h中的函数unsigned int time...
分类:
其他好文 时间:
2014-08-18 21:46:03
阅读次数:
273
CUDA程序优化应该考虑的点:精度:只在关键步骤使用双精度,其他部分仍然使用单精度浮点以获得指令吞吐量和精度的平衡; 目前GPU的单精度性能要远远超过双精度性能,整数乘法、求模、求余等运算的指令吞吐量也较为有限。在科学计算中,由于需要处理的数据量巨大,往往采用双精度或者四精度才能获得可靠的结果,目....
分类:
其他好文 时间:
2014-08-17 22:46:23
阅读次数:
482
#include "cuda_runtime.h"#include "device_launch_parameters.h"#include #include #include "cublas_v2.h"void multiCPU(float *c, float *a, float *b, unsi...
分类:
Windows程序 时间:
2014-08-17 01:03:11
阅读次数:
1113
测试环境 测试的GPU平台为GTX660M,计算能力为3.0首先介绍一下GPU提供的函数:int printf(const char *format[, arg, ...]); 从核函数格式化输出到主机,只支持计算能力在2.x及以上的设备。行为与标准的C相似。这里我们用于输出内建变量的值。核函...
分类:
其他好文 时间:
2014-08-17 01:03:01
阅读次数:
606
#include "cuda_runtime.h"#include "device_launch_parameters.h"#include #include #include #include "cublas_v2.h"#define BLOCK_SIZE 16cudaError_t multiC...
分类:
其他好文 时间:
2014-08-16 22:20:01
阅读次数:
351
#include "cuda_runtime.h"#include "device_launch_parameters.h"#include #include #include "cublas_v2.h"#define BLOCK_SIZE 16/***************/用cuBlas的内置...
分类:
其他好文 时间:
2014-08-16 22:17:21
阅读次数:
292
NVIDIA GPU架构是建立在一个可扩展的多线程流处理器(SMs)阵列之上的。当一个在主机CPU的CUDA程序调用一个核函数时,网格的blocks分配给运行容量空闲的多核处理器计算。线程块的线程同时在多核处理器上执行,多个线程块能同时在一个多核处理器上执行。当线程块结束时,新的线程块会加载到空.....
分类:
其他好文 时间:
2014-08-12 03:02:33
阅读次数:
234
前言 在用 CUDA 对 GPU 进行并行编程的过程中,除了需要对线程架构要有深刻的认识外,也需要对存储系统架构有深入的了解。 这两个部分是 GPU 编程中最为基础,也是最为重要的部分,需要花时间去理解吸收,加深内功。 了解 GPU 存储系统架构的意义 CUDA 编程架构的设计思路本身也就是让...
分类:
其他好文 时间:
2014-08-12 00:06:23
阅读次数:
288
#include __global__ void childKernel(int i){ int tid = blockIdx.x*blockDim.x+threadIdx.x; printf("parent:%d,child:%d\n",i,tid); for(int j=i;j>>(tid);}...
分类:
其他好文 时间:
2014-08-09 21:04:09
阅读次数:
207
GPUs有一个显示输出,输出到一个叫主表面的DRAM内存中,这个表面被用于刷新输出给用户看的显示设备。当用户通过改变显示器的分辨率或者位深(使用NVIDIA控制面版或者Windows显示器控制面版),开始一个显示器模式选择时,主表面需要的内存数量会改变。例如,如果以后改变显示器分辨率从1280x.....
分类:
其他好文 时间:
2014-08-07 18:39:30
阅读次数:
223