并行计算-CUDA开发
文章平均质量分 87
Zhang_P_Y
关注机器学习、计算机视觉、嵌入式(MCU、DSP、ARM)和桌面开发等领域
展开
-
【CUDA开发-并行计算】NVIDIA深度学习应用之五大杀器
来自吉浦迅科技 整理发布http://mp.weixin.qq.com/s?__biz=MjM5NTE3Nzk4MQ==&mid=2651231163&idx=1&sn=d48b4480da3481de8ae20e78b1ee22df&scene=23&srcid=0605uZ1nd6QlqnK6AJdMlZkI#rd第五名:Tesla K80转载 2017-08-29 11:55:34 · 1985 阅读 · 0 评论 -
【OpenGL开发】关于GLEW扩展库
GLEW是一个跨平台的C++扩展库,基于OpenGL图形接口。使用OpenGL的朋友都知道,window目前只支持OpenGL1.1的涵数,但 OpenGL现在都发展到2.0以上了,要使用这些OpenGL的高级特性,就必须下载最新的扩展,另外,不同的显卡公司,也会发布一些只有自家显卡才支 持的扩展函数,你要想用这数涵数,不得不去寻找最新的glext.h,有了GLEW扩展库,你就再也不用为找不到函数转载 2017-03-08 20:43:19 · 4644 阅读 · 0 评论 -
【CUDA开发】CUDA开发琐碎知识
## 一维矩阵的加//实现一个一维1*16的小矩阵的加法。 //矩阵大小:1*16 //分配一个block,共有16个线程并发。 #include #include #include #include #include #define VEC_SIZE 16//kernel function __global__ void vecAdd(转载 2017-01-26 23:47:21 · 471 阅读 · 0 评论 -
【CUDA开发】CUDA面内存拷贝用法总结
【CUDA开发】CUDA面内存拷贝用法总结标签(空格分隔): 【CUDA开发】主要是在调试CUDA硬解码并用D3D9或者D3D11显示的时候遇到了一些代码,如下所示:CUdeviceptr g_pRgba = 0;CUDA_MEMCPY2D memcpy2D = { 0 };memcpy2D.srcMemoryType = CU_MEMORYTYPE_DEVICE;memcpy2D.sr原创 2017-01-26 23:29:20 · 3379 阅读 · 0 评论 -
【CUDA开发】CUDA编程接口(一)------一十八般武器
子曰:工欲善其事,必先利其器。我们要把显卡作为通用并行处理器来做并行算法处理,就得知道CUDA给我提供了什么样的接口,就得了解CUDA作为通用高性能计算平台上的一十八般武器。(如果你想自己开发驱动,自己写开发库- -那我不得不佩服你很有时间,想必也不会有很多人想自己在去实现一个CUDA吧,呵呵,虽然实现一个也不是太难)。前面我们讲到了一些简单的CUDA的C语言扩展的规则,下面就具体来讲解CUDA给转载 2017-01-26 23:20:15 · 2578 阅读 · 1 评论 -
【CUDA开发】论CUDA和LAV解码器是否真的实用
先说配置,我电脑E3V3+GTX780TI视频就一个普通的720P AVC1编码MP4视频,实时检测软件是CPU-Z和GPU-Z,AIDA64【全默认设置】全部用ptoplayer默认播放时候,播放30分钟,全程满帧(输入和输出帧数相等)。显卡和CPU基本处于待机负载显卡核心频率在300MHZ,显存在600MHZ,TDP 4%,温度40℃;CPU温度42℃。机箱出风口基本无热风。【开启CUDA:L转载 2017-01-25 17:10:41 · 2188 阅读 · 0 评论 -
【图像处理与医学图像处理】NV12与YV12的区别
用videoCapture和IAMStreamConfig拿到的支持的格式列表。发现支持2中图像格式,YV12和NV12。具体是怎么样的内存分布不知道。查了些文档。自己修改了几个图。看出了点端倪YV12先看看 http://www.fourcc.org/yuv.php 上比较标准的定义:YV12This is the format of choice for转载 2016-11-10 20:34:48 · 2301 阅读 · 1 评论 -
【OpenCV开发】使用OpenCV的OpenCL(ocl)模块
参加OpenCV的OpenCL模块(以下称OCL)移植工作已经有2个月了。这里我说移植而不是开发,是因为大部分OCL模块的函数都是从已经很成熟的GPU模块移植过来的。于是目前阶段OCL模块所支持的函数接口只是GPU模块的一个子集。OpenCV的版本控制系统已经转移到了git上面(见https://github.com/itseez/opencv),最新的trunk的master分支转载 2016-11-26 10:35:09 · 1794 阅读 · 0 评论 -
【VS开发】fatal error C1853: "Debug\sift.pch"预编译头文件来自编译器的早期版本
fatal error C1853: "Debug\sift.pch"预编译头文件来自编译器的早期版本该错误是因为当项目中混合了 .cpp 和 .c 文件时,编译器会对它们采取不同的编译方式(主要是因为对函数声明的处理方式不同),因而不能共用一个预编译头文件。在 VC++ 中,默认的预编译头文件是针对 C++ 的 (stdafx.h 和 stdafx.cpp),当然也可以创建针对 C转载 2016-12-06 14:09:28 · 8659 阅读 · 0 评论 -
【VS开发】【CUDA开发】如何在MFC中调用CUDA
如何在MFC中调用CUDA 有时候,我们需要在比较大的项目中调用CUDA,这就涉及到MFC+CUDA的环境配置问题,以矩阵相乘为例,在MFC中调用CUDA程序。我们参考罗振东iylzd@163.com(国防科学技术大学计算机学院)的方法。 环境: Windows 7 SP1 Microsoft Visual Studio 2转载 2016-12-06 14:08:31 · 2258 阅读 · 0 评论 -
【并行计算-CUDA开发】 NVIDIA Jetson TX1
概述NVIDIA Jetson TX1是计算机视觉系统的SoM(system-on-module)解决方案。它组合了最新的NVIDIAMaxwell GPU架构,其具有ARM Cortex-A57 MPCore(Quad-Core)CPU族,实现性能与电源功耗的最大优化,满足下一代产品的工业视觉计算的要求。Jetson TX1 SoM设计满足低功耗环境要求,集成:l转载 2016-11-22 14:26:29 · 5975 阅读 · 0 评论 -
【并行计算与CUDA开发】英伟达硬件加速解码器在 FFMPEG 中的使用
目录(?)[-]私有驱动编译 FFMPEG使用 nvenc这篇文档介绍如何在 ffmpeg 中使用 nvenc 硬件编码器。私有驱动nvenc 本身是依赖于 nvidia 底层的私有驱动的,所以想要使用编码器首先需要安装 nvidia 的私有驱动。在 NVIDIA VIDEO CODEC SDK 的介绍中说明,最新版本的 nvenc sdk 5.转载 2016-11-10 19:45:36 · 3325 阅读 · 2 评论 -
【并行计算与CUDA开发】英伟达硬件加速编解码
硬件加速并行计算OpenCLOpenCL API VS SDK英伟达硬件编解码方案基于 OpenCL 的 API 自己写一个编解码器使用 SDK 中的编解码接口使用编码器对于 OpenCL 和 SDK 的封装硬件加速硬件加速的学术名称是 GPGPU(General-purpose computing on graphicsprocessing转载 2016-11-10 19:44:04 · 2946 阅读 · 0 评论 -
【并行计算与CUDA开发】基于NVIDIA显卡的硬编解码的一点心得 (完结)
原文:基于NVIDIA显卡的硬编解码的一点心得 (完结)1.硬解码软编码方法:大体流程,先用ffmpeg来读取视频文件的包,接着开启两个线程,一个用于硬解码,一个用于软编码,然后将读取的包传给解码器,编码出的frame download到内存,然后做scale处理,将scale后的帧和编码参数一起传给编码函数,最终生成pkt包,将其写入文件。由于CUVID中CuvideoSource不支持转载 2016-11-10 19:42:21 · 3352 阅读 · 0 评论 -
【并行计算-CUDA开发】英伟达硬件解码器分析
这篇文章主要分析 NVCUVID 提供的解码器,里面提到的所有的源文件都可以在英伟达的 nvenc_sdk 中找到。解码器的代码分析SDK 中的 sample 文件夹下的 NvTranscoder 中包含了编码器和解码器的用法,编码器的内容不在这里分析,因为 FFMPEG 中已经包含了相关的代码,不需要其他的处理。解码器在 SDK 中有一份封装,主要是 NvTranscod转载 2016-11-10 12:58:10 · 4178 阅读 · 0 评论 -
【并行计算-CUDA开发】Apple's OpenCL——再谈Local Memory
在OpenCL中,用__local(或local)修饰的变量会被存放在一个计算单元(Compute Unit)的共享存储器区域中。对于nVidia的GPU,一个CU可以被映射为物理上的一块SM(Stream Multiprocessor);而对于AMD-ATi的GPU可以被映射为物理上的一块SIMD。不管是SM也好,SIMD也罢,它们都有一个在本计算单元中被所有线程(OpenCL中称为Work I转载 2016-10-18 00:36:58 · 730 阅读 · 0 评论 -
【CUDA开发】Thrust库
Thrust库从C++的STL中得到灵感,将最简单的类似于STL的结构放在Thrust库中,比如STL中的vector。此外,Thrust库还包含STL中的算法和迭代器。 Thrust函数库提供了两个向量容器,分别为主机和设备提供了向量类并且分别驻留在主机和设备的全局内存中。向量可以使用数组下标进行读取或者修改。然而,如果向量在设备上,那么对于每个这样的访问,Thrust通过PC转载 2016-10-02 20:29:37 · 2662 阅读 · 1 评论 -
【CUDA开发】 CUDA Thrust 规约求和
1. 使用 ThrustThrust 是一个开源的 C++ 库,用于开发高性能并行应用程序,以 C++ 标准模板库为蓝本实现。官方文档见这里:CUDA Thrust/* ... */float *fMatrix_Device; // 指向设备显存int iMatrixSize = iRow * iCol; // 矩阵元素个数cudaMalloc((void**)&fMa转载 2016-10-02 11:37:08 · 2787 阅读 · 1 评论 -
【OpenGL开发】GLUT/freeglut 是什么? OpenGL 和它们有什么关系?
GLUT/freeglut 是什么? OpenGL 和它们有什么关系?OpenGL只是一个标准,它的实现一般自带在操作系统里,只要确保显卡驱动足够新就可以使用。如果需要在程序里直接使用OpenGL,会有很多非常恶心的预备工作要做,而且可能还要专门为平台的差异写一些代码。要跳过这些工作,可以用一个utility库,直接使用它提供的函数,就不用操心那些细节了。这样的库新一点的有GLEW,因为开转载 2017-03-08 20:55:53 · 5857 阅读 · 0 评论 -
【Linux开发】【CUDA开发】Ubuntu上安装NVIDIA显卡驱动
机型为戴尔Vostro3900 显卡型号为GTX 745 对于Nvidia显卡的驱动,如今很多Linux发行版会默认使用名为nouveau的驱动程序。Nouveau是由第三方为Nvidia开发的一个3D开源驱动,也没得到Nvidia的认可和支持。该驱动可以让用户安装玩系统后即可进入桌面并且有不错的显示效果。不过对于个人桌面用户来说,处于成长阶段的Nouveau并不完美。 b本文将介绍如转载 2017-06-09 00:08:09 · 1349 阅读 · 0 评论 -
【并行计算-CUDA开发】【视频开发】ffmpeg Nvidia硬件加速总结
2017年5月25日0. 概述FFmpeg可通过Nvidia的GPU进行加速,其中高层接口是通过Video Codec SDK来实现GPU资源的调用。Video Codec SDK包含完整的的高性能工具、源码及文档,支持,可以运行在Windows和Linux系统之上。从软件上来说,SDK包含两类硬件加速接口,用于编码加速的NVENCODE API和用于解码加速的NVDE转载 2017-08-27 17:49:37 · 2831 阅读 · 0 评论 -
【并行计算-CUDA开发】OpenACC与OpenHMPP
在西雅图超级计算大会(SC11)上发布了新的基于指令的加速器并行编程标准,既OpenACC。这个开发标准的目的是让更多的编程人员可以用到GPU计算,同时计算结果可以跨加速器使用,甚至能用在多核CPU上。出于显而易见的原因,NVIDIA在大力推广和支持OpenACC。但事实上PGI和Cray才是最早推动这项技术商业化的公司。PGI已经推出了一组非常类似的加速器指令,目前也成为了OpenACC标准转载 2017-08-27 17:47:41 · 2373 阅读 · 0 评论 -
【ARM-Linux开发】OpenACC并行编程实战笔记
今年运气比较好,学了cuda之后,了解到了gpu的另两种使用语言opencl和openacc, opencl(Open Computing Language ,开放计算语言)是面向异构系统的并行编程语言的免费标准,支持多种设备,包含CPU(多核多线程CPU),GPU(NVIDIA,AMD),数字信号处理器(居然还支持DSP),但缺点是对源代码进行并行改进的代码量较大; OpenACC与cu转载 2017-08-27 17:45:56 · 1968 阅读 · 0 评论 -
【并行计算-CUDA开发】GPU并行编程方法
转载自:http://blog.sina.com.cn/s/blog_a43b3cf2010157ph.html编写利用GPU加速的并行程序有多种方法,归纳起来有三种:1. 利用现有的GPU函数库。Nvidia 的CUDA工具箱中提高了免费的GPU加速的快速傅里叶变换(FFT)、基本线性代数子程序(BLAST)、图像与视频处理库(NPP)。用户只要把源代码中CPU版本转载 2017-08-27 17:43:29 · 3241 阅读 · 0 评论 -
【ARM-Linux开发】【CUDA开发】NVIDIA TEGRA X1:LINUX驱动程序包多媒体用户指南
NVIDIA TEGRA X1:LINUX驱动程序包多媒体用户指南转载请注明作者和出处:http://blog.csdn.net/u011475210嵌入式平台:NVIDIA Jetson TX1嵌入式系统:Ubuntu16.04虚拟机系统:Ubuntu14.04编者: WordZzzz一、GSTREAMER-1.0 安装和配置本部分内容将介绍如何安装和配置Gstr转载 2017-08-17 09:48:58 · 2018 阅读 · 0 评论 -
【ARM-Linux开发】【CUDA开发】NVIDIA Jetson TX2 进阶:QtCreator安装
Here we have a short article on installing Qt Creator on the NVIDIA Jetson TX1. Looky here:Note: This article is about installing Qt Creator 3.3.1 for Qt 5.5.1 on a Jetson TX1. The Jetson TX转载 2017-08-16 13:20:21 · 2349 阅读 · 0 评论 -
【ARM-Linux开发】【CUDA开发】NVIDIA Jetson TX2 进阶:Nsight Eclipse Edition
嵌入式平台:NVIDIA Jetson TX2嵌入式系统:Ubuntu16.04虚拟机系统:Ubuntu14.04一、NSight简介 Jetpack开发工具为人工智能提供了一整套软件架构,包括代码示例(Sample Code)、NSight开发工具(NSight Developer Tools)。同时也为我们提供了丰富的多媒体API(Multimedia转载 2017-08-16 10:24:18 · 5052 阅读 · 3 评论 -
【视频开发】【CUDA开发】ffmpeg Nvidia硬件加速总结
原文链接:https://developer.nvidia.com/ffmpegGPU-accelerated video processing integrated into the most popular open-source multimedia tools.FFmpeg and libav are among the most popular open-source转载 2017-06-15 09:35:42 · 5095 阅读 · 0 评论 -
【视频开发】【CUDA开发】英伟达CUVID硬解,并通过FFmpeg读取文件
虽然FFmpeg本身有cuvid硬解,但是找不到什么好的资料,英伟达的SDK比较容易懂,参考FFmpeg源码,将NVIDIA VIDEO CODEC SDK的数据获取改为FFmpeg获取,弥补原生SDK不能以流作为数据源的不足。所用SDK版本为Video_Codec_SDK_7.1.9,英伟达官网可下载。1.修改数据源 首先是FFmpeg的一些常规的初始化bool转载 2017-06-15 09:32:51 · 3684 阅读 · 0 评论 -
【视频开发】【CUDA开发】FFMPEG硬件加速-nvidia方案
1.目标显卡性能参数;方案可行性;2.平台信息2.1.查看当前显卡信息命令: lspci |grep VGA 信息: 01:00.0 VGA compatible controller: NVIDIA Corporation GK106 [GeForce GTX 645 OEM] (rev a1)解析: GK106,是一个由英伟达公司制造的适转载 2017-06-15 07:58:00 · 4269 阅读 · 0 评论 -
【视频开发】【CUDA开发】ffmpeg nvenc编码
花时间研究了一些ffmpeg的nvenc,本来想我已经有了cuvid,然后又搞出来了nvenc,应该可以做个全套的英伟达的转码了,没想到ffmpeg官网下载的动态库没有cuvid,windows上编译cuvid又老是出错,忧了个伤。1.nvenc编码 h264_nvenc是很容易调出来的,把编码器ffmpeg源码自带的例子的编码器换成h264_nvenc就行了。可是hevc_转载 2017-06-15 07:54:33 · 2868 阅读 · 0 评论 -
【ARM-Linux开发】【CUDA开发】【视频开发】关于Linux下利用GPU对视频进行硬件加速转码的方案
最近一直在研究Linux下利用GPU进行硬件加速转码的方案,折腾了很久,至今没有找到比较理想的硬加速转码方案。似乎网上讨论这一方案的文章也特别少,这个过程中也进行了各种尝试,遇到很多具体问题,以下便对之前所作的一些工作做一些总结和分享,省的时间长了自己也忘记了,也希望后来者能少走弯路,并找到适合自己的最佳方案。背景:项目需要在指定的linux服务器上对视频源进行转码存储转载 2017-06-15 07:45:04 · 2439 阅读 · 1 评论 -
【ARM-Linux开发】【CUDA开发】【深度学习与神经网络】Jetson Tx2安装相关之三
JetPack(Jetson SDK)是一个按需的一体化软件包,捆绑了NVIDIA®Jetson嵌入式平台的开发人员软件。JetPack 3.0包括对Jetson TX2 , Jetson TX1和Jetson TK1开发套件的最新L4T BSP软件包的支持。 使用最新的BSP( 用于Jetson TX1的L4T 27.1,用于Jetson TX1的 L4T 24.2.1和用于Jetson TK1转载 2017-07-15 09:06:16 · 4190 阅读 · 0 评论 -
【ARM-Linux开发】【CUDA开发】【深度学习与神经网络】Jetson Tx2安装相关之二
前言本文主要参考YouTube视频,《JetPack 3.0 - NVIDIA Jetson TX2》 视频链接如下:https://www.youtube.com/watch?v=D7lkth34rgM国外主要研究NVIDIA JETSON系列的网站JetsonHacksInstall JetPack 3.0 on a NVIDIA Develop转载 2017-07-13 16:47:25 · 2190 阅读 · 0 评论 -
【ARM-Linux开发】【CUDA开发】【深度学习与神经网络】Jetson Tx2安装相关之一
I am trying to install libraries on to Jetson Tx2 using Jetpack 3.0.The host computer has Ubuntu 16.04 installed. I tried following the instructions given in the JetPack documentation which also f转载 2017-07-13 16:46:26 · 2442 阅读 · 0 评论 -
【CUDA开发】 Check failed: error == cudaSuccess (8 vs. 0) invalid device function
最近在复现R-CNN一系列的实验时,配置代码环境真是花费了不少时间。由于对MATLAB不熟悉,实验采用的都是github上rbg大神的Python版本。在配置Faster R-CNN时,编译没有问题,一运行 ./tools/demo.py --net zf 就会出现如下错误:Loaded network ./data/faster_rcnn_models/ZF_faste转载 2017-06-23 22:17:51 · 2150 阅读 · 0 评论 -
【神经网络与深度学习】【CUDA开发】服务器(多GPU)caffe安装和编译
一. 前提多GPU交互在神经网络是常见的,所以在安装caffe之前需要安装NCCL,来保证多GPU之间的相互交流。 多GPU,这里指的是2个及2个以上英伟达显卡,而不是笔记本中的集显和独显。二.安装NCCL1.下载编译 shell终端cd ncclmake CUDA_HOME=/user/local/cuda-7.5 test #注意自己的cuda路径12转载 2017-06-23 20:32:53 · 874 阅读 · 0 评论 -
【CUDA开发】Cuda C++ Thrust API与 Cuda Runtime API程序比较
今天买了本新书《高性能CUDA应用设计与开发方法与最佳实践》,今天读了第一章有点出获,分享给大家。程序功能:给向量填充数据并计算各元素之和1. CPU串行运行的代码://seqSerial.cpp:串行执行数组的填充及求和#include#includeusing namespace std;int main(){ const int N=500转载 2016-10-02 09:59:29 · 1659 阅读 · 0 评论 -
【并行计算-CUDA开发】从零开始学习OpenCL开发(一)架构
多谢大家关注 转载本文请注明:http://blog.csdn.net/leonwei/article/details/8880012 本文将作为我《从零开始做OpenCL开发》系列文章的第一篇。 1 异构计算、GPGPU与OpenCL OpenCL是当前一个通用的由很多公司和组织共同发起的多CPU\GPU\其他芯片 异构计算(heterogeneous)转载 2016-09-30 10:34:35 · 2016 阅读 · 0 评论 -
【并行计算-CUDA开发】关于共享内存(shared memory)和存储体(bank)的事实和疑惑
关于共享内存(shared memory)和存储体(bank)的事实和疑惑主要是在研究访问共享内存会产生bank conflict时,自己产生的疑惑。对于这点疑惑,网上都没有相关描述,不管是国内还是国外的网上资料。貌似大家都是当作一个事实,一个公理,而没有对其仔细研究。还是我自己才学疏浅,不知道某些知识。比如下面这篇讲解bank conflict的文章。转载 2016-10-13 21:20:04 · 2697 阅读 · 0 评论