
cuda
maze.ma
向wuxiaowen学习!!!
向何小龙学习!!!
展开
-
cuda:编程实践
终于迈出了c++到cuda的第一步 基本的实现过程源代码:外国友人的开源码 目标代码:移植CUDA 源代码是c++程序,是boost框架下的,代码比较苦涩难懂,这个程序是生成无数个实例对象放入栈中将对象放到GPU中,贴出提供给我们的英伟达官方列程:#include <thrust/random.h>#include <thrust/...原创 2015-06-07 16:35:35 · 4262 阅读 · 0 评论 -
tools:对第三方程序的代码执行效率分析
今天在linux下做了第三方程序代码的测试,通过oprofile进行的代码测试因为是要通过cmake生成,在cmake中要编译debug模式的,所以我在顶层目录,在CMakeLists.txt中添加如下两行SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g -ggdb")SET(CMAKE_CXX_FLAGS_RELEASE "...原创 2015-05-24 22:20:51 · 1508 阅读 · 0 评论 -
cmake:list操作之在c/c++程序中链接第三方库
因为初学,不知道起这样的题目正确与否,下面就来分享一下我的实践经验开源代码是基于boost框架下的一个程序,任务是将其移植,能够在显卡上编程,于是我需要通过cuda编程实现。目前的解决思路是通过修改CMakeLists.txt从而实现在编译链接的时候将此开源代码与我自己的.cu文件一同编译并且顺利链接在一起首先我在/src/cxx/lib/下面建立了一个cuda文件夹,里面放了测试用的...原创 2015-05-24 11:13:29 · 6903 阅读 · 0 评论 -
cuda:cmake编译cuda
在网上百度,并没有找到什么合适的教程,让我等小白着急不已。借助于GOOGLE的强大能力,发现原来cmake已经支持了cuda;于是乎,赶紧 http://www.cmake.org/下载了最新的cmake,调用了里面的一个FindCUDA.cmake,完成了自己的第一次使用cmake编译cuda代码。具体步骤如下:1.下载最新版的cmake(其实只要有FindCUDA.cmake...原创 2015-05-21 09:53:50 · 13830 阅读 · 6 评论 -
cuda:编程实践-3
// includes CUDA Runtime#include <cuda_runtime.h>//目前cuda使用所需头文件// includes, project#include <helper_cuda.h>//下文中的checkcudaerrors#include <helper_functions.h> // helper utilit...原创 2015-06-18 23:47:23 · 3444 阅读 · 0 评论 -
cuda:在linux下安装配置cuda
linux-version: Centos6.5[finall]Cuda-version: 7 基于目前网上介绍的安装cuda的版本比较老旧,写一份比较新的,涉及到一些问题,方便大家,当然,肯定也有些问题没有涉及到,望谅解。 1.在安装cuda前,你必须检测自己的显卡是否支持cuda,如何检查自己的显卡型号: lspci | grep "NVI...原创 2015-05-08 15:52:45 · 10620 阅读 · 0 评论 -
cuda:初学-01[基本函数]
linux-version:Centos6.5[finall]Cuda-version:7 Cuda编程,一般分为如下几大部分: 1.头文件包含。 2.申请设备内存cudaMalloc((void**)&dev_a,sizeof(int)); ...原创 2015-05-10 13:16:25 · 1750 阅读 · 0 评论 -
cuda:nvcc&gcc&g++[混合编译器编程]
使用CUDA和其它的编译器连用,混合编程代码:文件1 : test1.cu//文件:test1.cu#include<stdio.h>#include<stdlib.h>#include<cuda_runtime.h>#defineROWS32#defineCOLS16#defineCHEC...转载 2015-05-17 17:20:26 · 4143 阅读 · 0 评论 -
cuda:初学-04[基本概述]
CUDA C呈现给程序员的接口主要由两大类API构成,它们分别是CUDA Runtime API和CUDA Driver API,Runtime API实际上是对于Driver API的封装。Driver API为用户提供了更细一层的控制手段,通过它可以控制诸如CUDA Contexts(一种类似主机进程的概念)以及CUDA Modules(类似主机动态加载库的概念)等更加底层的...转载 2015-05-10 15:05:29 · 1770 阅读 · 0 评论 -
cuda:初学-03[基本概述]
CUDA编程中,习惯称CPU为Host,GPU为Device。编程中最开始接触的东西恐怕是并行架构,诸如Grid、Block的区别会让人一头雾水,我所看的书上所讲述的内容比较抽象,对这些概念的内容没有细讲,于是在这里作一个整理。Grid、Block和Thread的关系Thread :并行运算的基本单位(轻量级的线程)Block :由相互合作的一组线程组成。一个block中的thre...转载 2015-05-10 13:55:37 · 1661 阅读 · 0 评论 -
cuda:初学-02[基本概念]
linux-version:Centos6.5[finall]Cuda-version:7线程格(grid)、线程块(block)以及线程(thread)之间的关系 内核函数的调用可以简化为kernel<<<A,B>>>(parameters),在尖括号中,A代表线程格(grid)的尺寸,它可以是三维的,用类型dim3表示...原创 2015-05-10 13:53:56 · 1407 阅读 · 0 评论 -
cuda:编程实践-2
问题代码:class A{public: __global__ static void kernel();};__global__ void A::kernel(){}代码拥有两个问题,第一,kernel函数不能够是静态的,第二,kernel函数不能够写在class之中。具体处理方法应该是写一个class来包装kernel所需调用的函数,然后通过全局函数...原创 2015-06-10 10:11:23 · 1807 阅读 · 0 评论 -
cmake
add_custom_command::在Unix Makefile中,这条命令相当于增加了一个依赖关系和一条显式生成命令。add_custom_target 添加一个目标,它没有输出;这样它就总是会被构建。dd_definitions 为源文件的编译添加由-D引入的define flag。add_dependencies 为顶层目标引入一个依赖关系。add_executable:...转载 2018-11-18 13:46:56 · 191 阅读 · 1 评论