众所周知,GPU是图形处理器,在很多任务中,GPU占据着重要作用,如深度学习领域。为增进大家对GPU的了解,本文将对GPU服务器加以介绍,并对GPU的工作原理予以探讨。
一、GPU服务器
GPU服务器,简单来说,GPU服务器是基于GPU的应用于视频编解码、深度学习、科学计算等多种场景的快速、稳定、弹性的计算服务,我们提供和标准云服务器一致的管理方式。出色的图形处理能力和高性能计算能力提供极致计算性能,有效解放计算压力,提升产品的计算处理效率与竞争力。
下面几个场景我们可以使用CPU服务器,如果办公场景需要建议大家配置GPU服务器,如果场景无关,使用普通的服务器也无妨。上海国经网络也会根据大家的使用场景给到大家相匹配的服务器类型和配置!
1.简单深度学习模型,使用GPU
服务器为机器学习提供训练或者预测,腾讯GPU云服务器带有强大的计算能力,可作为深度学习训练的平台,可直接与外界连接通信。可以使用GPU服务器作为简单深度学习训练系统,帮助完成基本的深度学习模型。
2.复杂深度学习模型,腾讯云GPU服务器具有强大的计算能力,可以将GPU服务器作为深度学习训练的平台。结合云服务器 CVM提供的计算服务、对象存储COS提供的云存储服务、云数据库MySQL提供的在线数据库服务、云监控和大禹提供的安全监控服务,图片、视频编解码,可以采用GPU服务器进行渲染,利用 GPU 加速器指令,让数以千计的核心为您所用,加快图形图像编码渲染速度。
这些是一些可以用到GPU服务器的场景,所以如果您的使用需要比较高端,建议还是使用GPU服务器。
二、gpu工作原理
简单的说gpu就是能够从硬件上支持T&L(Transform and LighTIng,多边形转换与光源处理)的显示芯片,因为T&L是3D渲染中的一个重要部分,其作用是计算多边形的3D位置和处理动态光线效果,也可以称为“几何处理”。一个好的T&L单元,可以提供细致的3D物体和高级的光线特效;只不过大多数PC中,T&L的大部分运算是交由cpu处理的(这就也就是所谓的软件T&L),由于cpu的任务繁多,除了T&L之外,还要做内存管理、输入响应等非3D图形处理工作,因此在实际运算的时候性能会大打折扣,常常出现显卡等待cpu数据的情况,其运算速度远跟不上今天复杂三维游戏的要求。即使cpu的工作频率超过 1GHz或更高,对它的帮助也不大,由于这是PC本身设计造成的问题,与cpu的速度无太大关系。
gpu图形处理,可以大致分成 5 个步骤,如下图箭头的部分。分别为 vertex shader、primiTIve processing、rasterisaTIon、fragment shader、tesTIng and blending。
第一步,vertex shader。是将三维空间中数个(x,y,z)顶点放进 gpu 中。在这一步骤中,电脑会在内部模拟出一个三维空间,并将这些顶点放置在这一空间内部。接着,投影在同一平面上,也是我们将看到的画面。同时,存下各点距离投影面的垂直距离,以便做后续的处理。
这个过程就像是本地球观看星星一般。地球的天空,就像是一个投影面,所有的星星,不管远近皆投影在同一面上。本地球的我们,抬起头来观看星星,分不出星星的远近,只能分辨出亮度。gpu 所投影出的结果,和这个情况类似。
从地球所看到的星空,星星就像是投影到一球面上,除非使用特别的仪器,不然分不出星星和地球的距离
第二步,primitive processing。是将相关的点链接在一起,以形成图形。在一开始输入数个顶点进入 gpu 时,程序会特别注记哪些点是需要组合在一起,以形成一线或面。就像是看星座的时候一样,将相关连的星星连起来,形成特定的图案。
第三步,rasterisation。因为电脑的屏幕是由一个又一个的像素组成,因此,需要将一条连续的直线,使用绘图的演算法,以方格绘出该直线。图形也是以此方式,先标出边线,再用方格填满整个平面。
第四步,fragment shader。将格点化后的图形着上颜色。所需着上的颜色也是于输入时便被注记。在游玩游戏时,这一步相当耗费 gpu 的计算资源,因为光影的效果、物体表面材质皆是在这一步进行,这些计算决定着游戏画面的精细程度。因此在游玩游戏时,调高游戏画面品质大幅增加这一步的计算负担,降低游戏品质。
将一个三角形,用方格呈现近似原始图案,并着上颜色。一块又一块的方格,就是显示器上的像素
最后一步,testing and blending。便是将第一步所获得的投影垂直距离取出,和第四步的结果一同做最后处理。在去除被会被其他较近距离的物体挡住的物体后,让剩下的图形放进 gpu 的输出内存。之后,结果便会被送到电脑屏幕显示。