matrix-multiplication - 英特尔 MKL 矩阵产品 gemm 是否就地工作?
问题描述
英特尔 MKL 中的 BLAS gemm 例程通常使用三个矩阵。这就像告诉你f(A, B, C) = alpha A * B + beta C
alpha 和 beta 是比例因子。
但是为了简单地得到 A = A * B可以写f(A, B, A)
吗?alpha=1,beta=0
我的意思是两个A
inf(A, B, A)
是同一个变量。(这里所有的方阵。)
当然,如果我们设置第三个变量C=A
,就f(A, B, C)
可以了。但是即使不制作这个副本也会好得多C
。
解决方案
不,这是不允许的。您要么必须引入一个临时缓冲区,要么找到另一种方法来完成这项工作。
推荐阅读
- docker - Next.js 生产 - dockerized build 找不到环境变量集
- github - 如何将 repo 及其 Pull Requests 从 bitbuket 导入到 github
- python - 如何在不使用 for 循环的情况下有条件地从我的数据框中删除列?
- javascript - 在JS中的文件中获取“:”之后的所有值
- jenkins - 使用代理 docker 时,如何在同一节点上运行 jenkins 作业的所有阶段?
- python - 如何处理正则表达式中的复合词
- javascript - 从另一个函数访问另一个属性
- docker - 无法使用 docker-maven-plugin 使用 http 推送到不安全的注册表
- python - 在 Python 中使用多个条件进行排序的问题
- swift - 为什么默认命令只返回语法?