ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

使用 tensorflow sever会有时延

2019-05-14 14:53:00  阅读:315  来源: 互联网

标签:MKL 有时 线程 OpenMP TF tensorflow inter intra sever


预计延迟时间更长。MKL使用OpenMP,其线程设置不是动态的。英特尔优化的TensorFlow(我从这里称之为TF-MKL)可以提供比普通TF更好的吞吐量,并为相当静态的工作负载提供正确的设置,但是由于OpenMP线程和TF线程不同,它也可能具有更差的延迟彼此了解。使用TF-MKL的TF服务在动态工作负载中也很难工作,因为OpenMP的num个线程只设置一次作为全局设置。英特尔团队意识到了这一缺点,并正在考虑让MKL-DNN接受一个Eigen线程池(它是TF线程池的基础)作为OpenMP的替代品。(但不会在不久的将来发生。)

更深入的线程解释:
Normal TensorFlow有两个线程池:inter-op(可以同时运行多少个op)和intra-op(ops将用于执行的线程)。并发操作共享/拆分操作内线程池中的线程,因此在任何时间点最多可以有#inter + #intra线程。TensorFlow可以同时运行少于#inter ops,实际上我通常会看到3-4个(或者有时10个)ops同时运行。将#inter和#intra设置为#cores通常效果很好。

TF-MKL是不同的。每个MKL操作使用OMP_NUM_THREADS个线程。OpenMP线程池是来自线程间和内部线程池的独立线程池。因此,在更糟糕的情况下,可以运行O(OMP_NUM_THREADS * #inter + #intra)线程。如果运行多个会话,则通过乘以#concurrent_tf_serving_sessions。这可能导致核心超载。因此,我们别期待TF-MKL在TF服务胜过正常TF。

标签:MKL,有时,线程,OpenMP,TF,tensorflow,inter,intra,sever
来源: https://blog.csdn.net/weixin_38740463/article/details/90205934

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有