BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #89913同步于 2016/1/16
CPP机器人发帖

[问题]有偿咨询gpu cuda编程优化问题

bupt0909
2016/1/16镜像同步0 回复
背景: 项目的大背景是图片监控,首先从网络留中截获一幅一幅的图片,首先图片解码,然后每张图片进行特征提取,提取完特征后跟后台的一个特征库匹配,如果匹配成功,就返回给上层程序,上层程序执行封堵动作,打断这张图片的传输。由于图片是以流的形式过来,同时要给封堵留下时间,所以要求上述加粗部分的图片特征提取以及图片匹配速度极快。目前在cpu上测出的响应时间是平均每张图片30ms,吞吐量就是每秒30张左右(包括上述两个部分,提取和匹配),然后需求方想让我们用gpu加速,gpu卡还是比较好的k40。同时,图片特征提取以及图片匹配算法cpu版本都已经开发好了,图片特征提取算法的gpu版本貌似也有(opencv提供了),但是图片的匹配算法没有gpu版本的。 工作: 我们需要做的主要分两个阶段。 第一阶段,把图片特征提取算法gpu化,保证性能最大化(响应时间(每张图片的处理时间)和吞吐量(系统每秒能处理的图片数量))。这块,基本的算法由于opencv已经提供,我已经写完了,但是性能还不够,gpu利用率只有20%左右,想通过某些gpu手段提高gpu的利用率,从而提高整个系统的吞吐量,响应时间能提高多少是多少,目前gpu K40上的响应时间是11ms多一点(只包括特征提取算法),吞吐量,由于没有用到什么异步的手段,特征提取算法只能到七八十张,不知道有没有什么手段提高吞吐量,比如用stream技术,多股流同时运算,这样不但提高的gpu的利用率,还提高的吞吐量。 第二阶段,把图片匹配算法gpu化。这个阶段是暂定,有可能不需要做,由于没有opencv库的支持,需要所有算法都用cuda编程实现,而且目前的匹配算法貌似不容易做并行,同时貌似gpu并行的必要也不大。因为在cpu上测速时(图片特征提取和图片匹配),发现80%的时间都消耗在图片特征提取上。 时间方面,最好在年前完成,至少第一阶段,越快越好。我一般晚上肯定有空,主要看您的时间。开发环境,如果您那边没有的话,可以用teamviewer远程连接我的电脑。不过最好的话,开始您大概写个demo,我按照您的demo改程序,跑程序,测试。 其他: 我现在是研究生,学生一名,这个项目是导师给我的项目。个人认为,我的编程底子还行,但是这个gpu的东西我不太感兴趣,跟我以后工作的内容也不相关,所以想找个熟悉的人咨询一下,尽快完成。另外,钱的问题,如果能让我导师满意,应该能上四位数,虽然也不是很多,但是钱是我自己出的,学生财力有限,项目有比较大的进展了,我就把钱打过来,比如第一阶段的吞吐量达到预期了,我就打一部分过来,第一阶段的响应时间少了,我再打一部分过来等等。这种合作需要双方的相互信任。 差不多就是这些,如果有任何问题,比如项目或者钱的问题,随时跟我联系,如果由于各种原因,您不打算接这个项目,请麻烦提前告知我,这些活儿我自己慢慢干也行,只是要消耗比较多的时间。 QQ:568794995[ema0] [ema0][ema25]
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。