Tagged: CUDA

1

GPU 共享内存bank冲突(shared memory bank conflicts)

Introduction 本文总结了GPU上共享内存的bank conflicts。主要翻译自Reference和简单解释了课件内容。 共享内存(Shared Memory) 因为shared mempory是片上的(Cache级别),所以比局部内存(local memory)和全局内存(global memory)快很多,实际上,shared memory的延迟要比没有缓存的全局内存延迟小100倍(如果线程之间没有bank conflicts的话)。在同...

1

NVIDIA Tegra TK/X系列板子的零拷贝(zero copy)问题

Introduction 本文系翻译,原文地址:Zero Copy on Tegra K1之前写过的关于cuda 零拷贝的文章:CUDA零复制内存CUDA锁页内存和零复制以下是NVIDIA论坛和Google Groups里关于tegra板子零拷贝的讨论,给出的观点也是零拷贝在unified memory上是没有发生copy行为的,强烈推荐看他们的讨论,可能需要翻墙。Jetson TK1 latency too highZero Copy vs Manage...

0

GPU寄存器

Introduction 本文将简单介绍GPU中的寄存器。 寄存器 寄存器是GPU片上高速缓存, 执行单元可以以极低的延迟访问寄存器。寄存器的基本单元式寄存器文件,每个寄存器文件大小为32bit。局部存储器对于每个线程,局部存储器也是私有的。如果寄存器被消耗完。数据将被存储在局部存储器中。如果每个线程使用了过多的寄存器,或声明了大型结构体或数据,或者编译器无法确定数据的大小,线程的私有数据就有可能被分配到local memory中,一个线程的输入和中间变量...

0

远程调试nvidia jetson tk1 tx1 cuda板子

Introduction Nvidia针对异构本身有一套开发平台,叫NVIDIA® Nsight™,有很强的debug和程序分析工具。有Nsight Visual Studio和Nsight Eclipse两个版本。在这里的平台:Host: x86_64 Ubuntu 14.04 Tegra tx 1板子: Ubuntu 14.04.4 LTS Linux tegra-ubuntu 3.10.67-gcdddc52 #1 SMP PREEMPT Mon N...

0

Tegra Tx1 硬编码解码H265

Introducation NVIDIA® TEGRA® X1 全新的移动超级芯片 全新的 Tegra X1 是我们有史以来的移动处理器。 它拥有 256 个 NVIDIA Maxwell™ GPU 核心和一颗 64 位 CPU、具备无与伦比的 4K 视频功能和超越上一代产品的节能性与性能,所有这些使其能够完美适配挑战性的移动应用。 GPU NVIDIA Maxwell 256 核 GPU DX-12、OpenGL 4.5、NVIDIA CUDA®、Ope...

0

Tegra TK1 TX1 源设置

Introducation 由于是arm平台,使用的应该是arm hf。教育网支持ipv6,改为国内的源更新会更快,速度可到10MB/s. 国内教育网的源 # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. deb http://mirrors.6.tuna.tsinghua.edu.c...

6

CUDA零复制内存

Pre 零复制(Zero Copy)(零拷贝内存) 三件事 启用零复制 分配主机内存 将常规的主机指针转换成指向设备内存空间的指针 代码参考 Reference Pre 之前的博客CUDA锁页内存和零复制只是简单介绍了下零复制内存,并没有详细说明,这里参考《CUDA并行程序设计-GPU编程指南》这本书再详细说明下。 零复制(Zero Copy)(零拷贝内存) 零复制是一种特殊形式的内存映射,它允许你将主机内存直接映射到GPU内存空间上。因此,当你对GPU上...

9

GPGPU-Sim安装

Pre 我的安装环境 CUDA Toolkit 安装 设置环境变量 GPU Computing SDK 安装 设置环境变量 处理GPGPU-Sim的依赖 设置环境 benchmark测试 编译 配置文件 运行 Debug Reference Pre GPGPU-sim 是一个模拟NVIDIA GPU的开发工具。 官方主页 我的安装环境 Ubuntu 14.04 x64 无NVIDIA显卡 Lenovo Y471A CUDA Toolkit 安装 由于gpg...

2

Cuda锁页内存和零复制

Pre 为了对某一数据集进行操作,你需要将数据从主机传输到设备上、在数据集上进行操作,然后将结果传输回主机。由于是在完全串行的方式下执行的,这将导致主机和设备在一段时间内都是闲置的,白白浪费了传输能力和计算能力。本文介绍了锁页内存(Pinned Memory/PageLocked Memory)和零复制(Zero Copy)来节省甚至去掉数据传输耗费。 锁页内存(Pinned Memory/PageLocked Memory) 主机处理器支持虚拟内存系统,...

0

Cuda基础

主机与设备 线程结构 关键特性 硬件映射 执行模型 nvcc编译器 CUDA存储器模型 主机与设备 运行在GPU上的CUDA并行计算函数成为kernel(内核函数),不是一个完整的程序,而是整个CUDA程序中一个可以被并行的步骤。一个完整的CUDA程序是有一系列的设备段kernel函数并行步骤和主机端的串行处理步骤共同组成的。这么步骤会按照程序中相应语句的顺序依次执行,满足顺序一致性 一个kernel函数中有两个层次的并行:Grid中的block间的并行和...