Advertisement

TVM Reduction减少算力

阅读量:

这是介绍如何优化计算资源消耗(TVM)的文章。在现代算法设计中,“sum / max / min”等基本操作通常被视为线性代数运算的核心组成部分。
本文将展示如何优化计算资源消耗。
from future import absolute_import, print_function

import tvm
import tvm.testing
from tvm import te
import numpy as np
描述行数
假设要计算行总数作为示例。用numpy语义可以写成B = numpy.sum(A, axis=1)
以下几行描述了行求和算子。创建归约公式,使用 te.reduce_axis来声明归约轴。te.reduce_axis降低算力的范围。 te.sum接受要降低算力的表达式以及降低算力轴,并计算声明范围内所有k的值之和。
等效的C代码如下:
for (int i = 0; i < n; ++i) {
B[i] = 0;
for (int k = 0; k < m; ++k) {
B[i] = B[i] + A[i][k];
}
}
n = te.var(“n”)
m = te.var(“m”)
A = te.placeholder((n, m), name=“A”)
k = te.redu

全部评论 (0)

还没有任何评论哟~