摘要: 6、Nvdia GPU Femi架构GTX480-Compute 2.0 capability:有15个core或者说SM(Streaming Multiprocessors )。 每个SM,一般有32 cuda处理器。 共480个cuda处理器。 带ECC的global memory 每个SM内的线程按32个单位调度执行,称作warp。每个SM内有2个warp发射单元。一个cuda核由一个ALU和一个FPU组成,FPU是浮点处理单元。SIMT和SIMDSIMT是指单指令、多线程。硬件决定了多个ALU之间要共享指令。通过预测来处理多个线程间的Diverage(是指同一个warp中的指令执行路径阅读全文
posted @ 2012-01-31 19:20 迈克老狼2012 阅读(1407) | 编辑
AMD opencl大学课程(6)
摘要: GPU架构内容包括:1.OpenCLspec和多核硬件的对应关系AMD GPU架构 Nvdia GPU架构 Cell Broadband Engine2.一些关于OpenCL的特殊主题OpenCL编译系统 Installable client driver 首先我们可能有疑问,既然OpenCL具有平台无关性,我们为什么还要去研究不同厂商的特殊硬件设备呢?了解程序中的循环和数据怎样映射到OpenCL Kernel中,便于我们提高代码质量,获得更高的性能。 了解AMD和Nvdia显卡的区别。 了解各种硬件的区别,可以帮助我们使用基于这些硬件的一些特殊的opencl扩展,这些扩展在后面课程中会讲到。阅读全文
posted @ 2012-01-31 19:18 迈克老狼2012 阅读(1460) | 编辑
AMD opencl大学课程(5)
摘要: OpenCL内存模型 OpenCL的内存模型定义了各种各样内存类型,各种内存模型之间有层级关系。各种内存之间的数据传输必须是显式进行的,比如从host memory到device memory,从global memory到local memory等等。 WorkGroup被映射到硬件的CU上执行(在AMD 5xxx系列显卡上,CU就是simd,一个simd中有16个pe,或者说是stream core),opencl并不提供各个workgroup之间的一致性,如果我们需要在各个workgroup之间共享数据或者通信之类的,要自己通过软件实现。Kernel函数的写法每个线程(workitem)阅读全文
posted @ 2012-01-30 21:09 迈克老狼2012 阅读(1801) | 编辑
AMD opencl大学课程(4)
摘要: Kernel对象: Kernel就是在程序代码中的一个函数,这个函数能在OpenCL设备上执行。一个Kernel对象就是kernel函数以及其相关的输入参数。Kernel对象通过程序对象以及指定的函数名字创建。注意:函数必须是程序源代码中存在的函数。运行时编译: 在运行时,编译程序和创建kernel对象是有时间开销的,但这样比较灵活,能够适应不同的opencl硬件平台。程序动态编译一般只需一次,而Kernel对象在创建后,可以反复调用。创建Kernel后,运行Kernel之前,我们还要为Kernel对象设置参数。我们可以在Kernel运行后,重新设置参数再次运行。arg_index指定该参数为阅读全文
posted @ 2012-01-30 21:00 迈克老狼2012 阅读(1809) | 编辑
AMD opencl大学课程(3)
摘要: OpenCL内存对象: OpenCL内存对象就是一些OpenCL数据,这些数据一般在设备内存中,能够被拷入也能够被拷出。opencl内存对象包括buffer对象和image对象。buffer对象:连续的内存块----顺序存储,能够通过指针、行列式等直接访问。image对象:是2维或3维的内存对象,只能通过read_image() 或 write_image()来读取。image对象可以是可读或可写的,但不能同时既可读又可写。 该函数会在指定的context上创建一个buffer对象,image对象相对比较复杂,留在后面再讲。flags参数指定buffer对象的读写属性,host_ptr可以是N阅读全文
posted @ 2012-01-30 20:36 迈克老狼2012 阅读(2273) | 编辑
AMD opencl大学课程(2)
摘要: 1、OpenCL架构 OpenCL可以实现混合设备的并行计算,这些设备包括CPU,GPU,以及其它处理器,比如Cell处理器,DSP等。使用OpenCL编程,可以实现可移植的并行加速代码。[但由于各个OpenCL device不同的硬件性能,可能对于程序的优化还要考虑具体的硬件特性]。 通常OpenCL架构包括四个部分:平台模型(Platform Model)执行模型(Execution Model)内存模型(Memory Model)编程模型(Programming Model)2、OpenCL平台模型 不同厂商的OpenCL实施定义了不同的OpenCL平台,通过opencl平台,主机能够和阅读全文
posted @ 2012-01-30 20:28 迈克老狼2012 阅读(2957) | 编辑
AMD opencl 大学课程(1)
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/shenmilingyu/article-4201-3.html
让人匪夷所思
luna怎么好像去整容了变化好大