如何部署GPU满足服务器工作负载需求

如何部署GPU满足服务器工作负载需求,第1张

选择GPU服务器时首先要考虑业务需求来选择适合的GPU型号。在HPC高性能计算中还需要根据精度来选择,比如有的高性能计算需要双精度,这时如果使用P40或者P4就不合适,只能使用V100或者P100;同时也会对显存容量有要求,比如石油或石化勘探类的计算应用对显存要求比较高;还有些对总线标准有要求,因此选择GPU型号要先看业务需求。

GPU服务器人工智能领域的应用也比较多。在教学场景中,对GPU虚拟化的要求比较高。根据课堂人数,一个老师可能需要将GPU服务器虚拟出30甚至60个虚拟GPU,因此批量Training对GPU要求比较高,通常用V100做GPU的训练。模型训练完之后需要进行推理,因此推理一般会使用P4或者T4,少部分情况也会用V100。

综上所述,选择服务器时不仅需要考虑业务需求,还要考虑性能指标,比如精度、显存类型、显存容量以及功耗等,同时也会有一些服务器是需要水冷、降噪或者对温度、移动性等等方面有特殊的要求,就需要特殊定制的服务器。

欢迎了解更多:网页链接

准备工作:

其中--gpus all 需要提前安装 nvidia-container-toolkit (即 nvidia-docker 的升级版)表示允许容器访问使用所有gpu(或指定gpu设备序列id,如--gpus 0或--gpus 0,1,2)

-e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all 等docker容器启动参数可能在部分场景下需要使用但本次部署未使用到

容器已经预安装python 3.5、3.7、3.8等常用版本,默认python3为3.5

// 或者获取服务端模型进行转换,(测试ch_ppocr_server_v2.0_rec和ch_ppocr_server_v2.0_det发现无效且返回错误码err_no:5)

获取用于测试的数据集(可选)

启动服务并将日志输出至log.txt(在同级目录下的./Pipelinexxxx/pipeline.log也记录有一部分启动运行的日志)

运行客户端访问服务测试

关于坐标,直接读取如下中的dt_boxes_list或dt_boxes_list[0]都可获得正常的坐标,但需要自己做格式处理(直接用str()函数处理示例图片结果得到的文本字符如dt_boxes_list将得到 [array([[[292, 298], [332, 298], [345, 848], [305, 848]], [[345, 298], [377, 298], [382, 660], [350, 660]]], dtype=int16)] ):

在尝试部署环境前未确认各版本对应关系就进行安装容易出问题,目前我使用PaddleOCR部署GPU的pdserving和hubserving识别环境均失败,异常为

通过各种命令查询版本未发现有误,除了我病急乱投医自己去直接pip3.7 install torch 的版本打印需求为cuda10.2(PaddleOCR环境没有这个包,且后来发现根据网文介绍还需要安装指定torch版本的基础上进行测试)

部分文章提到可能是paddle版本对不上,这个暂未尝试

2021/12/02

发现确实是paddle版本对不上,docker_hub上的镜像容器已经携带配套的paddle,但我按文档来一步步安装时,文档中安装paddle的步骤会把镜像容器中的版本卸载掉;


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/523925.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-21
下一篇2023-06-21

发表评论

登录后才能评论

评论列表(0条)

    保存