1.NVIDIA显卡支持CUDA,什么是CUDA
2.CMake搭建OpenGL开发环境
NVIDIA显卡支持CUDA,什么是CUDA
关于CUDA:
CUDA(Compute Unified Device Architecture)是一个新的基础架构,这个架构可以使用GPU来解决商业、工业以及科学方面的复杂计算问题。它是链接器ld源码一个完整的GPGPU解决方案,提供了硬件的直接访问接口,而不必像传统方式一样必须依赖图形API接口来实现GPU的访问。在架构上采用了一种全新的计算体系结构来使用GPU提供的硬件资源,从而给大规模的数据计算应用提供了一种比CPU更加强大的计算能力。CUDA采用C语言作为编程语言提供大量的高性能计算指令开发能力,使开发者能够在GPU的强大计算能力的基础上建立起一种效率更高的密集数据计算解决方案。
关于NVIDIA CUDA技术
NVIDIA CUDA技术是当今世界上唯一针对NVIDIA GPU(图形处理器)的C语言环境,为支持CUDA技术的NVIDIA GPU(图形处理器)带来无穷的图形计算处理性能。凭借NVIDIA CUDA技术,vue源码3开发人员能够利用NVIDIA GPU(图形处理器)攻克极其复杂的密集型计算难题,应用到诸如石油与天然气的开发,金融风险管理,产品设计,媒体图像以及科学研究等领域。
CUDA™ 工具包是一种针对支持CUDA功能的GPU(图形处理器)的C语言开发环境。CUDA开发环境包括:
nvcc C语言编译器
适用于GPU(图形处理器)的公式和源码CUDA FFT和BLAS库
分析器
适用于GPU(图形处理器)的gdb调试器(在年3月推出alpha版)
CUDA运行时(CUDA runtime)驱动程序(目前在标准的NVIDIA GPU驱动中也提供)
CUDA编程手册
CUDA开发者软件开发包(SDK)提供了一些范例(附有源代码),以帮助使用者开始CUDA编程。这些范例包括:
并行双调排序
矩阵乘法
矩阵转置
利用计时器进行性能评价
并行大数组的前缀和(扫描)
图像卷积
使用Haar小波的一维DWT
OpenGL和Direct3D图形互操作示例
CUDA BLAS和FFT库的使用示例
CPU-GPU C—和C++—代码集成
二项式期权定价模型
Black-Scholes期权定价模型
Monte-Carlo期权定价模型
并行Mersenne Twister(随机数生成)
并行直方图
图像去噪
Sobel边缘检测滤波器
MathWorks MATLAB® 插件 (点击这里下载)
新的基于1.1版CUDA的SDK 范例现在也已经发布了。要查看完整的列表、下载代码,请点击此处。
技术功能
在GPU(图形处理器)上提供标准C编程语言
为在支持CUDA的NVIDIA GPU(图形处理器)上进行并行计算而提供了统一的软硬件解决方案
CUDA兼容的GPU(图形处理器)包括很多:从低功耗的笔记本上用的GPU到高性能的,多GPU的网站社群源码系统。
支持CUDA的GPU(图形处理器)支持并行数据缓存和线程执行管理器
标准FFT(快速傅立叶变换)和BLAS(基本线性代数子程序)数值程序库
针对计算的专用CUDA驱动
经过优化的,从中央处理器(CPU)到支持CUDA的GPU(图形处理器)的直接上传、下载通道
CUDA驱动可与OpenGL和DirectX图形驱动程序实现互操作
支持Linux 位/位以及Windows XP 位/位 操作系统
为了研究以及开发语言的目的,CUDA提供对驱动程序的直接访问,以及汇编语言级的访问。
CMake搭建OpenGL开发环境
在Ubuntu.环境中搭建OpenGL开发环境,主要采用GLFW和GLAD。flink源码改造
首先,编译GLFW,遵循GLFW官网提供的编译指南,利用CMake进行编译。
Ubuntu用户可以直接安装libglfw3-dev依赖。
确认所使用的环境为X系统,并安装相应依赖。
访问GLAD官网,下载zip压缩包,解压后将include文件夹移动到/usr/local/include目录,并将glad.c文件放置在工程目录中。
创建测试工程,包含CMakeLists.txt文件和main.cpp。
欲深入了解OpenGL,可参考LearnOpenGL CN主页。
加入glm库,获取链接:github.com/g-truc/glm。
步骤如下:直接将glm源码下载到thirdparty目录;
修改CMakeLists.txt文件,加入相关配置。
调整顶点着色器,添加模型常量句柄,以便与shader program链接。
使用glm库旋转度,实现特定效果。
最终结果如下所示。