![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
GPU
mydear_11000
这个作者很懒,什么都没留下…
展开
-
GPU优化思路
1 each SM support maximum 8 block2 each SM support maximum 1024? thread3 SM split block into warp(32)4 max shared memory 16K5 max register?6 IO / calulate 7 bank conflict8原创 2015-10-20 21:03:12 · 815 阅读 · 0 评论 -
MMX与SSE优化策略描述
上回讲到针对整数运算的MMX优化技术,然而真正大运算量的图形和声音处理大都用的是浮点运算,而且现在对浮点运算的要求也是越来越高,在这样一个条件下INTEL终于在Pentium III处理中增加针对浮点运算优化的SSE指令,所以所有用过SSE指令的程序必须在Pentium III或者Althon XP以后的CPU上才来运行。 SSE全新定义了8个新的128位寄存器xmm0-xmm7,比MMX转载 2016-03-11 15:47:24 · 1828 阅读 · 0 评论 -
transpose with gpu
#include #include #include #include #include #include #include #include #include #include #include #include /**********************//* cuBLAS ERROR CHECK *//**********************/#ifn转载 2016-05-11 17:23:00 · 749 阅读 · 0 评论 -
深度 | 为你的深度学习任务挑选最合适GPU:从性能到价格的全方位指南
当你在深度学习中使用 GPU 时,你会一次又一次地为它带来的速度提升而感到惊叹:在一般问题中能获得相对于 CPU 快 5 倍的速度提升,在一些更大的问题中还能获得相对快 10 倍的速度提升。在 GPU 的帮助下,你可以更快地试验新的想法、算法和实验,并迅速得到反馈——哪些是可行的、哪些是不可行的。如果你对深度学习是认真的,那么你一定要使用 GPU。但是,你应该选择哪一种呢?在这篇博客中我将指导你选转载 2016-07-19 14:06:51 · 22794 阅读 · 2 评论 -
Tegra TX1 安装配置 + caffe run
Jetson开箱后的第一步就是登陆。你可以接上一个显示器和键盘,但是我推荐你仅仅将它插入到一个本地的路由器,然后使用ssh登陆(elinux.org/Jetson/Remote_Access有更多的细节),在你的本地网络Jetson会显示为“tegra-ubuntu.local”,用户名是“ubuntu”。ssh ubuntu@tegra-ubuntu.local[此处如无法登录,建转载 2016-07-20 14:40:47 · 4453 阅读 · 2 评论 -
NVidia TensorRT 运行 Caffe 模型
前面的话NVidia发布了TensorRT,支持fp16,可以在TX1和Pascal架构的显卡,如gtx1080上运行半精度。官方说法是TensorRT对inference的加速很明显,往往可以有一倍的性能提升。而且还支持使用caffe的模型。但不足的是还不支持自定义层,只有常用的一些层可以选用,NVidia论坛上也表示近期不太可能支持自定义层。 目前网上关于如何将TensorRT转载 2016-11-30 16:45:59 · 11578 阅读 · 0 评论 -
Installing CUDA 7.5 on CentOS 7 - Unable to locate the kernel source
First of all, all of this is done as root. I've been trying to install the CUDA 7.5 drivers on a CentOS 7 SATA DOM. The issue I'm running into is the following:Installing the NVIDIA display driver..转载 2016-10-25 09:05:20 · 7575 阅读 · 0 评论 -
cuDNN: efficient Primitives for Deep Learning 论文阅读笔记
这篇论文主要讨论如何针对CNN做一些GPU矩阵计算的优化。传统CNN计算主要开销是在convolutions, activation function, pooling.首先,我们看convolution的操作过程:参数表:O是输出input feature map,F是filter, D0是input feature map. 从公式看到如果用循环操作,需转载 2017-02-27 19:02:07 · 656 阅读 · 0 评论 -
Winograd 方法快速计算卷积
在 ConvNet 中, 大部分的计算耗费在计算卷积的过程中, 尤其是在端上设备中, 对于性能的要求更为苛刻. 程序的性能优化是一个复杂而庞大的话题. 高性能计算就像系统设计一样, 虽然有一些指导原则, 但是, 对于不同的场景需要有不同的设计方案, 因此, 对于同一个优化问题, 不同的人可能会给出完全不同的优化方案. 本文不是探讨硬件和代码级的优化, 仅针对计算卷积的一个特定方法 — Winogr...转载 2018-10-18 09:55:52 · 2698 阅读 · 0 评论 -
Nearest Neighbor Search
Product Quantizer2011年在IEEEE上发表的论文《Product Quantization for Nearest Neighbor Search》中提出来的.•提出目的:在内存和效率之间求得一个平衡,既保证图像索引结构需要的内存足够,又使得检索质量和速度比较好。•思想:把空间分解到低维子空间的笛卡尔乘积,然后分别独立量化每一个子空间。(训练模型可以并行进行)pq算...转载 2018-11-01 11:18:36 · 1072 阅读 · 0 评论 -
NVIDIA Documentation
NVIDIA官网提供四大类的帮助文档,其中本文以这四类为基础提供有可能在高性能计算上使用的library。1. CUDA Toolkit Documentation 1.1 AmgX AmgX提供了一个简单路径来加速对英伟达 GPU 核心solver技术。它是一种高性能、以及包括柔性 state-of-the-art 函数库求解器的组合系统 , 用户可以轻松地构建复杂的嵌套转载 2016-03-10 15:18:21 · 1542 阅读 · 0 评论 -
Introduction to Petuum
https://github.com/petuum/bosen/wikiForeword - please readPetuum is a distributed machine learning framework. It takes care of the difficult system "plumbing work", allowing you to focus o转载 2016-01-12 14:28:54 · 766 阅读 · 0 评论 -
cudaEncode编码详细过程 H.264
一,ParseInputParams(argc, argv,&sEncoderParams)//配置参数:输入、输出文件,配置文件,基本的参数 二,pCudaEncoder = new VideoEncoder (&sEncoderParams); 执行的详细过程:1,fpIn= fopen(m_pEncoderParams->inputFile,"rb")输入文件2转载 2015-11-16 14:56:46 · 3360 阅读 · 1 评论 -
Opencv + cuda 混编模式
利用OpenCV中提供接口,并结合Cuda API编程 利用OpenCV已经提供的部分接口,完成一些Cuda编程的基本处理,简化编程的复杂程度;只是根据自己业务需求,自定义内核函数或扩展OpenCV已提供的内核函数。这样既可以充分利用OpenCV的特性,又可以满足业务的不同需求,使用方便,且易于扩展。下面是简单的示例程序://swap_rb.cu#include using转载 2015-10-24 10:42:20 · 1472 阅读 · 0 评论 -
OpenCV环境下CUDA编程示例
在CUDA平台上对图像算法进行并行加速是目前并行计算方面比较简单易行的一种方式,而同时利用OpenCV提供的一些库函数的话,那么事情将会变得更加easy。以下是我个人采用的一种模板,这个模板是从OpenCV里的算法CUDA源码挖掘出来的,我感觉这个用起来比较傲方便,所以经常采用。首先大牛们写的源码都很鲁棒,考虑的比较全面(如大部分算法将1,3,4通道的图像同时搞定),感觉还有一个比较神奇的地方在于转载 2015-10-24 10:49:17 · 1982 阅读 · 2 评论 -
代码性能优化策略
一 应用级别 编译器选项 调用高性能库 去除全局变量 受限的指针 条件编译二 算法级别 缓冲优化(索引顺序,缓冲分块),提高多级缓冲的命中率,数据访问局部化 软件预取 查表法三 函数级别 函数调用参数 内联小函数(少于10行且无分支的函数)四 循环级别转载 2015-10-27 11:19:35 · 610 阅读 · 0 评论 -
ubuntu compile surfGPU
1 download git clone https://github.com/cudpp/cudpp.git2 copy cub into cudpp/ext/cub3 copy moderngpu into cudpp/ext/moderngpu4 cmake5 make install原创 2015-11-13 11:53:54 · 430 阅读 · 0 评论 -
NVIDIA Jetson TK1开发板上手
Jetson TK1是NVIDIA基于Tegra K1开发的一块低成本开发板,板载一块Tegra K132-bit(Logan)芯片,开发板上还有一个HDMI输出,一个以太网口,一个USB 3.0,一个microUSB口,SATA,miniPCIe,SD卡插槽,调试口有串口DB9和JTAG,以及众多的IO接口引出。可以说是麻雀虽小,五脏俱全。TegraK1有一颗和桌面GPU同架构的Kepler转载 2015-10-15 10:25:40 · 1389 阅读 · 0 评论 -
Jetson TK1
http://elinux.org/Jetson_TK11、硬件特性:1.10 规模:5" x 5"(127mm * 127mm)板1.11 Tegra TK1 SOC(CPU + GPU + ISP在单一芯片,功耗在1到5瓦之间):GPU:NVIDIA Kepler “GK20a” GPU 192 SM3.2 CUDA核(超过300 GFLOPS!)CPU:NVIDIA “4转载 2015-10-15 10:29:36 · 5472 阅读 · 0 评论 -
Cuda编程总结2013-10-120:32:46
学习cuda例子中的总结1、__constant__和__device__,__shared__的使用说明...22、分配二位数组实现两个二位数组相加...23、用cudaMemcpyPitch和cudaMemcpy2D实现二位数组的分配和拷贝...54、cudaMalloc3D()和cudaMemcpy3D()函数的用法...75、不带共享存储器的矩阵的相乘...96、带转载 2015-11-30 10:33:02 · 708 阅读 · 0 评论 -
CUDA纹理对象简介
大家知道,CUDA纹理只能定义为静态全局变量,而不能作为参数传到Kernel中C/C++ code?1234567texturefloat, 2, cudaReadModeElementType> cuda_tex; __global__void Kernel(...){ float texel =转载 2015-12-01 11:58:34 · 2804 阅读 · 0 评论 -
PQ(product quantization) 算法
转自:http://vividfree.github.io/ 1. 引言Product quantization,国内有人直译为乘积量化,这里的乘积是指笛卡尔积(Cartesian product),意思是指把原来的向量空间分解为若干个低维向量空间的笛卡尔积,并对分解得到的低维向量空间分别做量化(quantization)。这样每个向量就能由多个低维空间的量化code组合表示。为简洁描...转载 2018-11-05 14:25:44 · 5462 阅读 · 0 评论