资源简介
openCL编程指南 随书源代码
openCL programming Guide code
OpenCL领域公认的权威著作,由OpenCL核心设计人员亲自执笔,不仅全面而深刻地解读了OpenCL规范和编程模型,而且通过大量案例和代码演示了基于OpenCL编写并行程序和实现各种并行算法的原理、方法、流程和最佳实践,以及如何对OpenCL进行性能优化,如何对硬件进行探测和调整。
代码片段和文件信息
//
// Book: OpenCL(R) Programming Guide
// Authors: Aaftab Munshi Benedict Gaster Timothy Mattson James Fung Dan Ginsburg
// ISBN-10: 0-321-74964-2
// ISBN-13: 978-0-321-74964-2
// Publisher: Addison-Wesley Professional
// URLs: http://safari.informit.com/9780132488006/
// http://www.openclprogrammingguide.com
//
// GLinterop.cpp
//
// This is a simple example that demonstrates basic OpenCL setup and
// use.
#include
#include
#include
#ifdef __APPLE__
#include
#else
#include
#include
#endif
#ifdef _WIN32
#include
#endif
#include
#include
#ifdef __GNUC__
#include
#endif
///
// OpenGL/CL variables objects
//
GLuint tex = 0;
GLuint vbo = 0;
int vbolen;
int imWidth = 0;
int imHeight = 0;
cl_kernel kernel = 0;
cl_kernel tex_kernel = 0;
cl_mem cl_vbo_mem cl_tex_mem;
cl_context context = 0;
cl_command_queue commandQueue = 0;
cl_program program = 0;
///
// Forward declarations
void Cleanup();
cl_int computeVBO();
cl_int computeTexture();
///
// Render the vertex buffer object (VBO) contents
//
void renderVBO( int vbolen )
{
glColor3f(1.0f 1.0f 1.0f);
glLineWidth(2.0f);
// Draw VBO containing the point list coordinates to place GL_POINTS at feature locations
// bind VBOs for vertex array and index array
glBindBufferARB(GL_ARRAY_BUFFER_ARB vbo); // for vertex coordinates
glEnableClientState(GL_VERTEX_ARRAY); // activate vertex coords array
glVertexPointer( 2 GL_FLOAT 0 0 );
// draw lines with endpoints given in the array
glDrawArrays(GL_LINES 0 vbolen*2);
glDisableClientState(GL_VERTEX_ARRAY); // deactivate vertex array
// bind with 0 so switch back to normal pointer operation
glBindBufferARB(GL_ARRAY_BUFFER_ARB 0);
}
///
// Display the texture in the window
//
void displayTexture(int w int h)
{
glEnable(GL_TEXTURE_RECTANGLE_ARB);
glBindTexture(GL_TEXTURE_RECTANGLE_ARB tex );
glBegin(GL_QUADS);
glTexCoord2f(0 0);
glVertex2f(0 0);
glTexCoord2f(0 h);
glVertex2f(0 h);
glTexCoord2f(w h);
glVertex2f(w h);
glTexCoord2f(w 0);
glVertex2f(w 0);
glEnd();
glDisable(GL_TEXTURE_RECTANGLE_ARB);
}
void reshape(int width int height)
{
glViewport( 0 0 width height );
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0widthheight0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
///
// Main rendering call for the scene
//
void renderScene(void)
{
glClearColor(0.0f 0.0f 1.0f 1.0f );
glClear( GL_COLOR_BUFFER_BIT );
computeTexture();
computeVBO();
displayTexture(imWidthimHeight);
renderVBO( vbolen );
glutSwapBuffers();
}
///
// Keyboard events handler
//
void KeyboardGL(unsigned char key int x int y)
{
switch(key)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-12-14 17:58 code\
文件 342 2014-12-14 17:58 code\CMakeLists.txt
目录 0 2014-12-14 17:57 code\cmake\
文件 1491 2014-12-14 17:56 code\cmake\FindDirectX.cmake
文件 1768 2014-12-14 17:57 code\cmake\FindGLEW.cmake
文件 3555 2014-12-14 17:57 code\cmake\FindOpenCL.cmake
目录 0 2014-12-14 17:54 code\khronos\
目录 0 2014-12-14 17:59 code\khronos\CL\
文件 112900 2014-12-14 17:59 code\khronos\CL\cl.hpp
文件 4859 2014-12-14 17:59 code\khronos\CL\cl_d3d10.h
目录 0 2014-12-14 18:39 code\src\
文件 463 2014-12-14 18:39 code\src\CMakeLists.txt
目录 0 2014-12-14 18:10 code\src\Chapter_10\
目录 0 2014-12-14 18:11 code\src\Chapter_10\GLinterop\
文件 839 2014-12-14 18:10 code\src\Chapter_10\GLinterop\CMakeLists.txt
文件 733 2014-12-14 18:11 code\src\Chapter_10\GLinterop\GLinterop.cl
文件 18429 2014-12-14 18:11 code\src\Chapter_10\GLinterop\GLinterop.cpp
目录 0 2014-12-14 18:12 code\src\Chapter_11\
目录 0 2014-12-14 18:13 code\src\Chapter_11\D3Dinterop\
文件 664 2014-12-14 18:12 code\src\Chapter_11\D3Dinterop\CMakeLists.txt
文件 668 2014-12-14 18:12 code\src\Chapter_11\D3Dinterop\D3Dinterop.cl
文件 25008 2014-12-14 18:12 code\src\Chapter_11\D3Dinterop\D3Dinterop.cpp
文件 1381 2014-12-14 18:13 code\src\Chapter_11\D3Dinterop\D3Dinterop.fx
目录 0 2014-12-14 17:55 code\src\Chapter_12\
目录 0 2014-12-14 18:14 code\src\Chapter_12\Sinewave\
文件 172 2014-12-14 18:13 code\src\Chapter_12\Sinewave\CMakeLists.txt
文件 991 2014-12-14 18:14 code\src\Chapter_12\Sinewave\sinewave.cl
文件 13584 2014-12-14 18:14 code\src\Chapter_12\Sinewave\sinewave.cpp
目录 0 2014-12-14 18:15 code\src\Chapter_12\VectorAdd\
文件 88 2014-12-14 18:14 code\src\Chapter_12\VectorAdd\CMakeLists.txt
文件 4597 2014-12-14 18:15 code\src\Chapter_12\VectorAdd\vecadd.cpp
............此处省略67个文件信息
- 上一篇:qt activemq mqtt 动态库
- 下一篇:实用取色器工具.zip
相关资源
- cudart64_101.zip
- CUDA找数组的最大值.cu
- CUDA by example 中文:GPU高性能编程CUD
- libemgucv-windows-universal-gpu-2.4.9.1847
- 2019 CPU GPU天梯图 Excel 可编辑
- windows intel_sdk_for_opencl
- No.1_OpenCLSampler
- shaderX1-7和GPU Pro1-5
- OpenCL 历史版本更新信息
- linux-KVM虚拟机GPU透传操作步骤.docx
- Caffe编译的配置文件Makefile.config环境:
- Notepad++插件管理器-gpup.exe
- helloGPGPU-1.0.2.zip GPU入门
- Nbody问题采用treecode算法在GPU上的并行
- intel_sdk_for_opencl_2017
- CUDA、GPU实现图像的sobel、prewitt、均值
- cuda、GPU实现向量相加
- 基于GPU的并行遗传算法
- GPU Gems 3
- FastLineRendererforUnity-GPULineandParticleSys
- 北极星架构显卡编辑器1.7版本
- GPU Games 三部曲合集
- Gpu pro1-7
- GPU pro shaderX GPU gems 全系列
- 基于CUDA架构实现GPU加速FDK重建算法研
- NVIDIA vGPU for vSphere xenserver rhel windows
- libcudnn7-doc_7.6.5.32-1+cuda10.2_amd64.deb
- 使用opengl 4.3的compute shader实现通用计
- cudart64_101.dll
- yolov3使用教程(从tensorflow-gpu环境搭建
评论
共有 条评论