![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习系统
mlxaaa
这个作者很懒,什么都没留下…
展开
-
TVM引发的思考
引言 TVM不仅仅是一个编译器,也可以看做一个编程模型。他的计算与调度分离的哲学使得用户无需关心后端代码的执行优化。 TVM 如何对算子进行优化? TVM针对CPU、GPU、ASIC(FPGA)三个硬件后端做了统一的端到端的后端优化,现在我们剥离图优化层,单拎出来对不同后端的算子优化做出解释。 不同的硬件特性导致对统一个算子的优化也会有不同的影响,FlexTensor文章列出了针对不同后端的优化技术。 TVM对不同的优化技术提出了多种调度原语,包括: ...原创 2021-05-13 09:55:08 · 177 阅读 · 0 评论 -
2020-05-15-用于深度学习训练的分布式多租户GPU集群分析
Analysis of Large-Scale Multi-Tenant GPU Clusters for DNN Training Workloads 作者提出分布式机器学习系统中出现的三个问题: 作业调度 GPU利用率 训练中会产生的错误 作业调度 由于分布式机器学习中要求资源限制而使用gang调度算法,因此会产生资源碎片导致利用率不高。 由于需要同步参数因此分布式作业locality非常重要,但也由于locality的调度限制也产生了排队延时。作者研究表明,通过放宽locality的限制可以减少原创 2020-07-01 14:29:02 · 824 阅读 · 0 评论 -
Horovod源码剖析(一)
Horovod源码剖析: 核心模块 – operations horovod/common/operations.h 首先了解一下mpi常见的通信操作 MPI-Scatter:scatter与broadcast类似都是一对多的通信,将一段array 的不同部分发送给所有的进程 MPI-Boardcast:与scatter进行区分,broadcast是将0号进程将相同的信息发送给所有的进程; MPI-Gather:MPI_Gather和scatter刚好相反,他的作用是从所有的进程中将每个进程原创 2020-07-01 14:23:21 · 992 阅读 · 0 评论