




已阅读5页,还剩62页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
TeslaK40c加速卡的安装及使用 目录 硬件设备安装软件环境搭建CDUA编程简介 硬件篇 硬件篇 设备 NVIDIATeslak40c计算卡一块带有至少一个PCI ex16x的主板800w以上电源一个CPU 内存 硬盘等取高配 硬件篇 安装 组装主板PCI插槽插入加速卡电源接线开机 硬件篇 Note 无显示输出 台式机集显独显切换问题TCC驱动模式 fornon displaydevice目前解决方案 远程登陆未实践的解决方案 1 安装普通独立显卡2 BIOS中切换 软件篇 软件篇 当前软件环境 实验室软件环境介绍操作系统 win864bitvs版本 2013远程登录信息 LAN地址 192 168 1 222user Administratorpwd 1111 软件篇 环境搭建需要 一个GPU一个Windows操作系统一个VisualStudio NVIDIACUDAToolkit 参考地址 官方指南下载CUDA 软件篇 CUDA简介 ComputeUnifiedDeviceArchitecturecpu gpuparallelParallelComputingPlatformfriendofGPUhundredsofcoresthousandsofcomputingthreads 软件篇 cudatoolkit安装路径分解 1 CUDAToolkit路径 C ProgramFiles NVIDIAGPUComputingToolkit CUDA v6 5子目录 Bin thecompilerexecutablesandruntimelibrariesInclude theheaderfilesneededtocompileCUDAprogramsLib thelibraryfilesneededtolinkCUDAprograms 软件篇 cudatoolkit安装路径分解 1 Doc theCUDAdocumentation including CUDACProgrammingGuideCUDACBestPracticesGuidedocumentationfortheCUDAlibrariesotherCUDAToolkit relateddocumentation 软件篇 cudatoolkit安装路径分解 2 CUDASamples路径C ProgramData NVIDIACorporation CUDASamples v6 5不同类型的例子分别在 0 Simple 1 Utilities 2 Graphics 3 Imaging 4 Finance 5 Simulations 6 Advanced 7 CUDALibraries 软件篇 环境测试 硬件测试nvidia smiincmd加速卡安装驱动CUDA环境 软件篇 环境测试 编译测试nvcc Vincmd编译环境CUDA环境 软件篇 重要工具及文档 nvidia smi路径 C ProgramFiles NVIDIACorporation NVSMIGPU的控制台 状态监测 模式切换nvidia smi h查看命令帮助 在其目录下有nvidia smi pdf使用文档重要命令 nvidia smi dm1 0更改显卡的驱动模式1 TCC 0 WDDMnvcc路径 C ProgramFiles NVIDIAGPUComputingToolkit CUDA v6 5 binNvidiaCUDA世界的编译器 关于NVCC 软件篇 注意事项 Note0 必须保证系统当前的驱动环境在TCC模式下 Note1 许多工具都是通过cmd打开 并在命令行下工作如果命令提示 不是系统命令 把该命令所在的路径添加到环境变量path中 Note2 如果直接双击 exe文件 会闪退看不到结果 需要在cmd运行 Note3 运行samples时 可以在C ProgramData NVIDIACorporation CUDASamples v6 5 bin win64 Release找到所有 exe文件 软件篇 直接运行Samples 在文件夹内的空白处 按住shift 右键选择 在此处打开命令窗口 直接输入程序名 如deviceQuery 软件篇 直接运行Samples deviceQuery的运行结果 软件篇 TCC与WDDM WDDM WindowsDisplayDriverModelTheWDDMdrivermodelisusedfordisplaydevicesWDM WindowsDriverModelTheTeslaComputeCluster TCC modeoftheNVIDIADriverisavailablefornon displaydevicessuchasNVIDIATeslaGPUs itusestheWindowsWDMdrivermodel 一旦使用TCC模式 GPU就不能用作displaydeviceGeFource系列显卡不支持TCC 三 CUDA编程篇 目录 VisualStudio下的CUDA工程Matlab下的CUDA工程程序分析可用库 CUDA6 5 VS2013下的c c 1 CUDA6 5 VS2013下的c c 1 新建win32控制台项目 2 在向导的应用程序设置中选择空项目复选框 1 CUDA6 5 VS2013下的c c 3 向项目添加 cpp文件 写名称时可直接将 cpp改为 cu文件 也可之后重命名 4 项目名 右键 生成依赖项 生成自定义 在打开的对话框中选择CUDA6 5 1 CUDA6 5 VS2013下的c c 5 右键 cu文件 项类型选择CUDAc c 6 项目名 右键 属性 链接器 输入 附加依赖库 添加cudart lib 1 CUDA6 5 VS2013下的c c 7 在 cu文件中编写代码即可导入头文件 stdio h或iostream等 cuda runtime h等 8 在VS下直接生成 运行 1 CUDA6 5 VS2013下的c c 9 如需要对 cu文件进行手动编译 利用工具nvcc 利用命令 nvcc cudatest cu keep详见或官方nvccguide另 附上cudadocument该文档给出了各类Samples API Guide CUDA6 5 Matlab2014a 作用原理 cu o Matlab程序 Matlab函数 nvmex vs 命令步骤 1 编写基于CUDA的 cu程序 2 下载nvmex tool压缩包下载 解压缩 3 将解压缩后的nvmex pl文件复制至Matlab安装文件夹下的Bin文件夹内 X Matlab R2009a Bin 4 将压缩后的nvmex tool文件夹内的nvmex m文件 nvmex helper m文件以及nvmexopts bat文件放至你的 cu文件 使他们位于同一文件夹内 命令步骤 5 将该文件夹设为Matlab当前工作目录6 使用两步进行编译 以Szeta cu文件为例 1 nvmex c fnvmexopts batSzeta cu IC cuda include LC cuda lib lcudart lcufft该步将产生一个对应于 cu文件的 obj文件 2 mexSzeta obj IC cuda include LC cuda lib lcufft lcudart该步生成最终的 mexw32文件 7 Done 一个CUDA程序 编程之前 为什么快 CPU 主机Host 与GPU 设备Device 区别 1 线程资源CPU所支持的同时运行的线程数是极其有限 例如 4个6核心处理器的服务器处理器在同一时刻只能同时运行24个线程 GPU则可以支持同一时刻数千个活动线程同时运行 为什么快 CPU 主机Host 与GPU 设备Device 区别 2 线程切换代价在CPU中线程切换由于涉及到上下文 Context 的改变 代价很大 GPU中的线程则非常轻巧 切换几乎没有代价 GPU内的线程层次 线程格 Grid 线程块 Block 线程 Thread GPU内的线程层次 每一个线程都有其线程ID 线程的ID信息由变量threadIdx给出可以用一维 二维 三维量表示线程的索引与线程ID之间存在着直接的换算关系 对于一个索引为 x y z 1 如果线程块 block 是一维的 则线程ID x2 如果线程块是二维的 块尺寸为 Dx Dy 则线程ID x y Dx3 如果线程块是三维的 其尺寸为 Dx Dy Dz 那么线程ID x y Dx z Dx Dy GPU内的线程层次 在内核函数内部 CUDA为我们内建了一些变量用于访问线程格 线程块的尺寸和索引等信息可以用一维 二维 三维量表示1 gridDim 代表线程格 grid 的尺寸 gridDim x为x轴尺寸如上图 gridDim x 3 gridDim y 2 gridDim z 12 blockIdx 代表线程块 block 在线程格 grid 中的索引值如上图 blockIdx x 1 blockIdx y 13 blockDim 代表线程块 block 的尺寸 blockDIm x为x轴尺寸如上图 blockDim x 4 blockDim y 34 threadIdx 线程索引指的是一个block中的索引号 GPU的内存层次 本地内存 localMemory 属于一个thread共享内存 sharedmemory 属于一个block全局内存 globalmemory 属于所有thread 核函数内存申请传参方法运行时间 运行结果 200个线程 512个线程 增加进程数目到1024 增加进程数目到2048 线程数1024 1 Why 2020 4 19 继续改进 加入block 20个块改进结果 继续改进 sharedmemory Sharedmemory结果 多维块的使用 kernel main 2020 4 19 优化过程 1 分析 Assess 分析可优化项 2 并行化 Parallelize 使用CUDA对原有C C 程序进行初步改写 利用库cuBLAS cuFFT以及Thrust 3 优化 Optimize 优化是对并行化后的程序重复进行APOD的过程 4 部署 Deploy 比较改写后与改写前程序运算的结果 以验证改写的正确性 2020 4 19 循环的优化过程 系统学习CUDA编程 可用的CUDA库 1 NPP NVIDIAPerformancePrimitives NPPUserGuide NPPSamples 不需要cpu与gpu之间进行传参操作基本运算统计算法Mean StdDev NormDiff Sum MinMax HistogramEven RectStdDev几何变换Mirror WarpAffine WarpAffineBack WarpAffineQuad WarpPerspective WarpPerspectiveBack WarpPerspectiveQuad Resize颜色转换RGBToYCbCr YcbCrToRGB YCbCrToYCbCr Co
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自拟肝肾气血汤治疗脊髓型颈椎病(肝肾亏虚型)的临床疗效观察
- 农业保险承保理赔管理暂行办法
- 工程项目承包管理办法
- ppp项目财政管理暂行办法
- 广东乡镇经费管理办法
- 建业固定资产管理办法
- 平安银行预算管理办法
- 市场租赁运营管理办法
- 工程过程造价管理办法
- 广西技能大奖管理办法
- 市医院开展“小金库”专项治理工作方案
- PDCA提高便秘患者肠镜检查肠道准备合格率
- 淮南新东辰控股集团有限责任公司招聘笔试题库2024
- 03D201-4 10kV及以下变压器室布置及变配电所常用设备构件安装
- 人民网删除稿件(帖文)申请登记表
- DL-T997-2020燃煤电厂石灰石-石膏湿法脱硫废水水质控制指标
- (正式版)YBT 6328-2024 冶金工业建构筑物安全运维技术规范
- 2022年袋鼠数学竞赛真题一二年级组含答案
- 2024年内蒙古交通集团赤峰分公司招聘笔试参考题库附带答案详解
- 诊所中药饮片清单
- 零信任安全架构-第1篇
评论
0/150
提交评论