CUDA-GPU-入门介绍.ppt_第1页
CUDA-GPU-入门介绍.ppt_第2页
CUDA-GPU-入门介绍.ppt_第3页
CUDA-GPU-入门介绍.ppt_第4页
CUDA-GPU-入门介绍.ppt_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-Anintroductiontobeginners,GPU/Grid尺寸dim3blockDim;/Block尺寸dim3blockIdx;/BlockIDdim3threadIdx;/Thread点CUDAC扩展:执行配置调用:my_kernel(.);实际是为gridDim和blockDim赋值决定当前线程需要处理的数据和结果存储的位置,2.CUDA架构,CUDA存储器管理GPU与CPU独立编址GPU与CPU数据交互通过PCIe总线在主机端通过API去分配/复制/销毁GPU上的存储器空间GPU存储器操作API(详见CUDA参考手册)存储空间开辟:cudaMalloc等存储空间初始化:cudaMemset等存储空间:cudaFree等存储空间拷贝cudaMemcpy等,2.CUDA架构,CUDA程序结构,3.CUDA环境搭建,所需组件CUDA完全免费,各种操作系统下的CUDA安装包均可以在,3.CUDA环境搭建,1.Windows环境要求:MicrosoftVisualStadio2005及其以后版本(1)依次安装:显卡驱动ToolkitSDK(2)语法高亮到SDK安装目录下,docsyntax_highlightingvisual_studio_8,将其中的usertype.dat文件复制到MicrosoftVisualStudio8Common7IDE下.启动VS2005,工具选项文本编辑器文件扩展名.在右边的“扩展名”对应的栏里输入“cu”;“编辑器”选择“MicrosoftVisualC+”,“添加”“确定”重启VS2005(3)设置VS2005环境打开VS2005,工具选项项目和解决方案VC+目录“显示以下内容的目录”“包含文件”:分别添加Toolkit和SDK的文件包含目录“库文件”:分别添加Toolkit和SDK的库目录“源文件”:添加SDK源文件目录,3.CUDA环境搭建,1.Windows(4)编译定义工程源文件属性常规工具自定义生产工具,在以下项添加相应内容:“命令行”:$(CUDA_BIN_PATH)nvcc.exe-ccbin$(VCInstallDir)bin-c-D_DEBUG-DWIN32-D_CONSOLE-D_MBCS-Xcompiler/EHsc,/W3,/nologo,/Wp64,/Od,/Zi,/RTC1,/MTd-I$(CUDA_INC_PATH)-o$(ConfigurationName)$(InputName).obj$(InputFileName)“输出”:$(ConfigurationName)$(InputName).obj“附加依赖项”:$(InputName)_kernel.cu右键工程名属性,打开链接器,在以下项做相应修改“启用增量链接”:否(/INCREMENTAL:NO)“附加库目录”:改为“$(CUDA_LIB_PATH)”“链接器”子项“输入”:“附加依赖项”中输入cudart.lib,3.CUDA环境搭建,2.Linux(Fedora,Redhat,Ubuntu)环境要求:gcc编译器(1)进入Linux文本界面(2)安装三个组件(具体版本具体输入)shNVIDIA-Linux-x86_64-180.22-pkg2.runshcudatoolkit_2.1_linux64_rhel5.2.runshcuda-sdk-linux-2.10.1215.2015-3233425.run(3)在.bash_profile中添加:PATH=$PATH:/binLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib64exportPATHexportLD_LIBRARY_PATH其中:为实际安装路径,4.例子GPU并行矢量求和,算法描述将两个N维矢量相加,即对应元素相加:ci=ai+bii0,N)并行算法设计每个GPU线程负责一个维度的相加GPU线程数目MN,a0,b0,c0,Th0,aN-1,bN-1,cN-1,ThN-1,a1,b1,c1,Th1,a2,b2,c2,Th0,a,b,c,Th,Th,ThM,a,b,c,4.例子GPU并行矢量求和,预处理部分cuda_runtime.h:CUDA运行时库,4.例子GPU并行矢量求和,内核函数返回值类型必须包括_global_void内核函数定义的是每一个线程的行为,所有线程并发执行操作目标通过当前线程在线程结构中的位置而确定该问题中所有线程均只执行一次加法,总计算时间为执行6770行代码一次所需时间,4.例子GPU并行矢量求和,主函数(part-1),使用线程结构的x维度,88一共64个线程,h_前缀表示变量位于Host端存储器d_前缀表示变量位于Device端存储器,还有多种其他开辟方式,4.例子GPU并行矢量求和,主函数(part-2),推荐参考,书籍/资料:NVIDIACUDAProgrammingGuideTheCUDACompi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论