CUDA
文章平均质量分 78
moonboat0331
这个作者很懒,什么都没留下…
展开
-
cuda原子操作
编译时记得 在nvcc后面加上参数"-arch=sm_12",指定计算能力。原子函数只能被计算能力1.1以上的设备支持,但是其中对于共享存储器的原子操作,和对全局存储器64bit的,只有计算能力1.2以上才支持。因此要在编译时制定,否则会报找不到atomicAdd 的错误。C.1 数学函数C.1.1 atomicAdd()int atomicAdd(int* address转载 2013-05-16 22:18:07 · 1872 阅读 · 0 评论 -
CUDA内联函数
一、内联函数的作用 每一次函数调用都要把原来正在运行的函数的大量数据以及状态标志等压栈,所以每一次函数调用都要消耗栈空间,而频繁的调用小函数便会大量的消耗栈空间。于是c++中便特别引入了inline修饰符,表示位内联函数。 内联函数事实上是在调用程序中对被调用的内联函数进行展开,这样便避免了频繁调用函数对栈内存重复开辟所带来的消耗。 二、内联函数的具体实现转载 2013-05-20 14:22:57 · 1645 阅读 · 0 评论 -
Linux下,JAVA通过JNI调用CUDA程序
最近在做这一块,通过我自己的程序,简要写一些笔记。简单说来,先通过一个java类,调用C++的库中的函数1、先写java类,写好类后,使用javac FeatureExtract.java编译1 import java.util.List; 2import java.util.ArrayList; 4 5class FeatureExtract 6 { 7原创 2013-07-02 15:08:42 · 1083 阅读 · 2 评论 -
C/C++中计算程序运行时间
以前经常听人提起如何计算程序运行时间,给出一系列函数,当时没有注意,随便选了clock()最简单的方式进行计算。等到真正需要检测程序性能提升了多少,才发现这里面有很多要注意的地方。最常用的的方式:#includetime_t start = clock();time_t end = clock();printf("the running time原创 2013-08-29 21:08:31 · 1191 阅读 · 0 评论 -
仿射变换函数
近期要用到,所以记一下fproj by Lionel Moisan" />Name fproj 使用插值的方法来进行仿射变换或者透视变换fproj by Lionel Moisan" />Command Synopsis fproj [-x sx][-y sy][-b bg][-o o][-p p][-i] in out X1 Y1 X2 Y2 X3 Y3 [x4原创 2013-08-30 12:22:09 · 1033 阅读 · 1 评论 -
hadoop通过JNI调用cuda程序
一、通过JNI,将C写成的cuda1、 写一个java类,类中包含一个native的函数,导入.so动态链接库,注意,linux中,SiftGPU其实指的是libSiftGPU.so。package nfs.sil.image.sift.main;import java.util.List;import java.lang.reflect.*;import java.util.A原创 2013-12-04 15:12:02 · 1573 阅读 · 0 评论 -
CUDA纹理内存的使用
首先,纹理存储器是一种只读存储器,如果一个kernel中更改了绑定到纹理存储器的数据,纹理缓存中的数据可能并没有被更新,后来读取的数据就可能是错误的,只能重新启动一个kernel,才会更新纹理缓存。对纹理引用的声明不能写成数组!最简单的用法:函数外声明: texture texConstSrc;----------函数内-----cudaBindTexture(NULL, texC原创 2013-08-30 12:22:07 · 2408 阅读 · 1 评论