gpt4 book ai didi

matrix - kdb 矩阵函数改进

转载 作者:行者123 更新时间:2023-12-02 01:28:22 25 4
gpt4 key购买 nike

有人使用过 kdb 的矩阵函数吗?我发现它与其他工具相比相当慢。

对于 1000 x 1000 浮点矩阵上的逆矩阵函数 inv,执行 10 次需要 kdb+ 166,682 毫秒。对于矩阵乘法,花费了 3,380 毫秒,其中两个矩阵共享相同的维度,即 1000 x 1000。

我还在 DolphinDB 上尝试了相同的实验,DolphinDB 是一个具有内置分析功能的类似时间序列数据库 ( DolphinDB )。 DolphinDB 的 inv 函数快了约 17 倍,矩阵乘法快了约 6 倍。

我认为矩阵运算优化应该是一个很成熟的东西。 kdb专家能否解释一下其背后的原因或是否有任何改进方法?

我使用的是KDB+ 4.0 64位版本和DolphinDB_Linux_V2.00.7(DolphinDB社区版本:2核和8GB内存)。两个实验均使用 2 核 CPU 进行。

KDB 实现

// Start the server
rlwrap -r taskset -c 0,1 ./l64/q -p 5002 -s 2

// The code
ma:1000 cut (-5.0+ 1000000?10.0)
mb:1000 cut (-5.0+ 1000000?10.0)

\t do[10;inv ma]
16682

\t do[10;ma mmu mb]
3380

DolphinDB 实现

// Start the server
rlwrap -r ./dolphindb -localSite localhost:5002:local5002 -localExecutors 1

// The code
ma=(-5.0+ rand(10.0,1000000))$1000:1000;
mb=(-5.0+ rand(10.0,1000000))$1000:1000;
timer(10) ma.inv();
Time elapsed: 975.349 ms

timer(10) ma**mb;
Time elapsed: 581.618 ms

最佳答案

DolphinDB 使用 openblas 进行矩阵运算,例如 inv,而 kdb+ 则不使用。

关于matrix - kdb 矩阵函数改进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73889464/

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