gpt4 book ai didi

c++ - 为什么有一个用于 argmax abs 的 blas 子例程 (ISAMAX) 而没有用于 argmax?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:23:02 25 4
gpt4 key购买 nike

为什么会有一个blas子程序 ISAMAX适用于 argmax abs 但不适用于 argmax

在 C++ 中使用 std::max_element使用编译器优化标志 -O3 我得到的速度与 blas_isamax 相当(16 毫秒对 9 毫秒),所以目前我的问题更多是出于兴趣而不是出于对速度的需要。

最佳答案

BLAS 旨在提供实现常见线性代数运算所需的低级例程(它毕竟是“基本线性代数子程序”)。

仅列举众多用途中的一个,在 LU factorization 中选择枢轴需要获取 vector 的最大量值元素,这是线性代数最基本的主力之一。相比之下,线性代数基本上不需要获取最大元素,这就是为什么它不是 BLAS 操作之一*。

(*) 2001 年 BLAS 技术论坛标准中实际上建议将 max 操作添加到 BLAS 中,但尚未得到广泛采用。

关于c++ - 为什么有一个用于 argmax abs 的 blas 子例程 (ISAMAX) 而没有用于 argmax?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28436305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com