GPGPU::数学基础教程 本教程的目的是为了介绍GPU编程的背景及在GPU上运算所需要的步骤,这里通过实现在GPU上运算一个线性代数的简单例子,来阐述我们的观点。saxpy() 是BLAS库上的一个函数,它实现的功能主要是这样的:已知两个长度为N的数组 x 和 y ,一个标量alpha,要求我们计算缩放比例数组之和:y = y + alpha * x。这个函数很简单。我们的目的只是在于向大家阐明一些GPGPU编程入门的必备知识和概念。本教程所介绍的一些编程实现技术,只要稍作修改和扩充,便能运用到复杂的GPU运算应用上。 GPGPU 概念1: 数组 = 纹理 在CPU上建立数组 在 GPU上生成浮点纹理 数组索引与纹理坐标一一对应 使用纹理作渲染对像 把数据从CPU数组传输到GPU的纹理 把数据从GPU的纹理传输到CPU数组 一个简单的示例 GPGPU 概念 2: 内核 = 着色器 面向循环的CPU运算 vs.面向内核的数据并行运算 用Cg着色语言生成一个着色器 建立Cg运行环境 用OpenGL语言建立一个高级着色环境 GPGPU 概念 3: 运算 = 渲染 准备运算的内核 设定用于输入的数组/纹理 设定用于输出的数组/纹理 开始运算 GPGPU 概念 4: 返馈 多次渲染传递 使用乒乓技术
查看原文:http://www.physdev.com/articles/GPGPU_math_Tutorial.htm
代码: |
// GPGPU CONCEPTS Introduced: // // 1.) Texture = Array // 2.) Fragment Program = Computational Kernel. // 3.) One-to-one Pixel to Texel Mapping: // a) Data-Dimensioned Viewport, and // b) Orthographic Projection. // 4.) Viewport-Sized Quad = Data Stream Generator. // 5.) Copy To Texture = feedback. // // For details of each of these concepts, see the explanations in the // inline "GPGPU CONCEPT" comments in the code below. |
basic_math_tutorial_cg.rar | |||
描述: |
| 下载 | |
文件名: | basic_math_tutorial_cg.rar | ||
文件大小: | 105.92 KB | ||
下载过的: | 文件被下载或查看 397 次 |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14741601/viewspace-371997/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/14741601/viewspace-371997/