如果numpy已经链接到BLAS(例如MKL),那么使用cython是值得的

2024-05-15 22:12:47 发布

您现在位置:Python中文网/ 问答频道 /正文

当我把我的numpy和MKL连接起来时,我的代码得到了一些加速。它仍然不够快,所以我们正在考虑使用cython。我想到的方法是使用CythonGSL使用gsl的blas函数来执行cython中昂贵的函数。不过,这有可能是浪费时间,因为numpy已经让MKL做了一些工作。你知道吗

但是我不知道MKL到底做了多少。我的代码中昂贵的部分是np.总和以及np.点. 我怀疑通过链接MKL的代码已经是最优化的,但我不确定。那么,如果有人知道numpy+MKL的行为是什么,那么他能告诉我,我可能是在浪费时间来执行cython实现吗?你知道吗


Tags: 方法函数代码numpy链接npcythonblas
1条回答
网友
1楼 · 发布于 2024-05-15 22:12:47

别这样!去GSL执行BLAS操作可获得0收益。它只是根据您构建它的方式链接到其他一些实现。代码是什么样子的?为什么你认为它很慢?同时看看这里。你知道吗

Benchmarking (python vs. c++ using BLAS) and (numpy)

人们有各种各样的假设,为什么事情是快/慢。当您看到代码并意识到它们可能会对矩阵等进行不必要的复制时,问题通常会变得很明显

相关问题 更多 >