自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

转载 malloc()和calloc()有啥区别

函数malloc()和calloc()都可以用来动态分配内存空间,但两者稍有区别。malloc()函数有一个参数,即要分配的内存空间的大小:void *malloc(size_t size);calloc()函数有两个参数,分别为元素的数目和每个元素的大小,这两个参数的乘积就是要分配的内存空间的大小。void *calloc(size_t numElements,size_t sizeOfElem...

2018-06-13 14:08:35 21678 3

转载 CUDA:一维、二维的grid、block的核函数线程分配

1.一维grid,一维block[cpp] view plain copy int nx = 1 << 14;  int ny = 1 << 14;  int dimx = 32;  dim3 block(dimx, 1);  dim3 grid((nx + block.x - 1) / block.x, 1);  核函数[cpp] view plain copy __gl...

2018-06-09 15:10:49 2773

转载 cuda shared memory 静态分配和动态分配

静态分配加上前缀 shared__shared__ int _ss[1024];1动态分配当我们在编程时,不清楚shared memory 数组开多大,就要用到动态分配。 分为两部分: 1, 声明extern __shared__ int _s[];12, 在调用kernel 时加上数组的大小。xxx_kernel<<<grid, block, sharedMemSize>...

2018-06-09 14:24:48 1375

转载 C语言中%d,%s,%x,%f,%.100f,%的意思

格式说明由“%”和格式字符组成,如%d%f等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由“%”字符开始的。 格式字符有d,o,x,u,c,s,f,e,g等。 如%d整型输出,%ld长整型输出,%o以八进制数形式输出整数,%x以十六进制数形式输出整数,或输出字符串的地址。%u以十进制数输出unsigned型数据(无符号数)。注意:%d与%u有无符号的数值范围,也就是极限的值,不然数...

2018-06-09 14:19:08 33138

转载 有没有CPU多线程调用GPU?就是CPUpthread_create创建多个线程,执行GPU代码,会不会... [

问题:就是CPUpthread_create创建多个线程,执行GPU代码,会不会有问题?[size=18.9999980926514px]答:没有任何问题的。你的这个模型(开多个CPU线程,每个线程单独处理1个stream上的kernel启动或者复制任务)其实是最经典的模型。完全无任何问题的。请大胆使用。最常见的是,只有1张卡的时候,同时使用2-3个线程,分别建立2-3个streams,处理该GP...

2018-06-09 10:27:20 7753

转载 linux下提示bash:command not found

新安装的linux系统,如果进行精简安装可能会出现bash:command not found 的提示,大家在安装的时候可以选择默认安装basic的组件,一般即可。到时候可以再升级。如果新装的系统,运行一些很正常的诸如:shutdown,fdisk的命令时,悍然提示:bash:command not found。那么 首先就要考虑root 的$PATH里是否已经包含了这些环境变量。 主要是这四个:...

2018-06-09 10:25:40 12302

转载 【GPU编程系列之二】CUDA编程基础

转自:http://www.cnblogs.com/stewart/archive/2013/01/05/2846860.html1.什么是CUDA       CUDA(Compute Unified Device Architecture),统一计算架构,是NVidia推出的并行计算平台。NVidia官方对其的解释是:一个并行计算平台和简单(简洁)地使用图像处理单元(GPU)进行通用计算的编程...

2018-06-08 18:53:57 3680

转载 详解CUDA核函数及运行时参数

详解CUDA核函数及运行时参数核函数是GPU每个thread上运行的程序。必须通过__gloabl__函数类型限定符定义。形式如下:                __global__ void kernel(param list){  }核函数只能在主机端调用,调用时必须申明执行参数。调用形式如下:                Kernel<<<Dg,Db, Ns, S&gt...

2018-06-08 18:50:10 2001

转载 CentOS安装nvidia显卡驱动

最近折腾了CentOS的显卡驱动,踩了不少坑,最后终于装成功了,不得不感慨CentOS真是与众不同啊。常用的驱动安装方法有2种:手动编译和从ELRepo源安装,一般来说搜索的时候看到的都是前者,即“安装编译环境, 到nvidia官网下载驱动文件,把nouveau加入blacklist, 进入命令行模式重启安装……”这样的,不过这种方法适用于Ubuntu系的操作系统,CentOS的话,从网上一些文章...

2018-06-05 10:54:28 17433 2

原创 CentOS6.9 内核升级(2.6.32-696.16.1升级到4.4.135-1.el6)

CentOS6.9 内核升级(2.6.32-696.16.1升级到4.4.135-1.el6.elrepo.x86_64),操作系统是6.9 x86_64位了解一下elrepoelrepo是CentOS十分有用的稳定的软件源,与其他软件源不一样的是,这个第三方源主要是提供硬件驱动、内核更新方面的支持,如显卡、无线网卡、内核等等,现在已经支持centos7.x+,更新较快。1、查看内核[root@c...

2018-06-04 22:50:18 2100

转载 cudaMemGetInfo获取的可用显存和全部显存有问题和实际有出入?CPU多线程调用GPU

我在vs上运行cuda程序,用cudaMemGetInfo获得的总的显存是3g,但是实际应该有4g。可用的显存是3028M,那就是用了44M,但是用GPU-Z和nvidia-smi都显示用了800多M,不知道为什么是这样?这种问题很难定量。例如一台有 32GB 内存的机器,但是在 C 里面也没办法全部用上,因此操作系统会占用一部分,至于占用多少?这个是非常底层的事情。同样的,显存并非完全留给代码使...

2018-06-04 19:19:53 3919

转载 多GPU并行计算

一般一个cpu线程控制一个gpu所以多gpu使用多个cpu线程控制使用cudaSetDevice(gpuid)设置当前操作的gpu即可

2018-06-04 19:14:38 3783

原创 #pragma omp critical-----OpenMP 参考 (同步构造)CRITICAL 指令

目的:CRITICAL指令指定一块同一时间只能被一条线程执行的代码区域注意:如果一条线程正在一个CRITICAL区域执行而另一个线程到达这个区域,并企图执行,那么它将会被阻塞,直到第一个线程离开这个区域.命名是可选项,使不同的CRITICAL区域共存:命名是全局标志符.具有相同命名的不同的CRITICAL区域被当作同一个区域所有未命名CRITICAL区域被当作同一个区域限制:扩充CRITICAL ...

2018-06-04 14:14:10 16511

转载 NVIDIA GPU结构

目前市场上的NVIDIA显卡都是基于Tesla架构的,分为G80、G92、GT200三个系列。Tesla体系架构是一块具有可扩展处器数量的处理器阵列。每个GT200 GPU包含240个流处理器(streamingprocessor,SP),每8个流处理器又组成了一个流多处理器(streaming multiprocessor,SM),因此共有30个流多处理器。GPU在工作时,工作负载由PCI-E总...

2018-06-02 17:19:35 1681

翻译 Runtime API 函数:cudaGetDeviceCount,cudaGetDeviceProperties,cudaSetDevice,在cuda_runtime.h 头文件中

1. CUDA 初始化函数由于是使用 Runtime API, 所以在文件开头要加入 cuda_runtime.h 头文件。 初始化函数包括一下几个步骤: 1.1. 获取 CUDA 设备数可以通过 cudaGetDeviceCount 函数获取 CUDA 的设备数,具体用法,如下所示:// get the cuda device countcudaGetDeviceCount(&coun...

2018-06-02 16:52:53 22163 4

转载 GPU中的几个基本概念

术语: single instruction, multiple thread (SIMT): a single instruction is executed on several function units in parallelGPU的硬件结构中与CUDA相关的几个概念:thread block grid warp sp smstreaming processor(sp): 最基本的处理单...

2018-06-02 12:04:20 23241 2

转载 fprintf中使用stderr

fprintf(stderr, "%s:%d", __FILE__, __LINE__,)这里的stderr是会打印到屏幕还是生成一个文件(文件名是什么)呢?谢谢!回答:会打印到屏幕上。因为:(见 MSDN)fprintf 函数的功能是: Print formatted data to a stream格式化输出数据到流,这个流并没有特指是文件流。关于 stdin、stdout、stderr 的说...

2018-06-01 19:23:49 11325

转载 ulimit(选项)

-a:显示目前资源限制的设定;-c <core文件上限>:设定core文件的最大值,单位为区块;-d <数据节区大小>:程序数据节区的最大值,单位为KB;-f <文件大小>:shell所能建立的最大文件,单位为区块;-H:设定资源的硬性限制,也就是管理员所设下的限制;-m <内存大小>:指定可使用内存的上限,单位为KB;-n <文件数目>...

2018-06-01 13:54:03 602

转载 Linux将命令添加到PATH中及PA LD_LIBRARY_PATH用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径

Linux将命令添加到PATH中博客分类:linuxLinuxApacheBash简单说PATH就是一组路径的字符串变量,当你输入的命令不带任何路径时,LINUX会在PATH记录的路径中查找该命令。有的话则执行,不存在则提示命令找不到。比如在根目录/下可以输入命令ls,在/usr目录下也可以输入ls,但其实ls命令根本不在这个两个目录下,当你输入ls命令时LINUX会去/bin,/usr/bin,...

2018-06-01 11:43:57 1830

转载 CUDA: 简单入门

1. 准备makefile为了避免每次都要键入nvcc的命令,要准备一个makefile。makefile如下:[plain] view plain copyCUFLAG = -g  -Xcompiler -v \          -gencode=arch=compute_20,code=sm_20\          -gencode=arch=compute_20,code=compute...

2018-06-01 11:40:54 442 1

转载 python ctypes 探究-----python与c的交互

近几天使用 python 与 c/c++ 程序交互,网上有推荐swig但效果都不理想,所以琢磨琢磨了 python 的 ctypes 模块。同时,虽然网上有这方面的内容,但是感觉还是没说清楚。这里记录下来做备用,同时也给广大 python with c/c++ 派留给方便。如果你觉得我写的不好,可以参考官方文档里对 ctypes 的介绍,那里说不一定有你想要的。如有错误,请指正:)。测试环境: w...

2018-06-01 11:37:38 151

转载 NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the lat

在Azure 申请了一台 K80的虚拟机,redhat7 系统。在安装cuda时,可以成功,但在执行nvidia-smi 时,总是报错:NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed a...

2018-06-01 11:25:57 810

空空如也

空空如也

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

TA关注的人

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