gpt4 book ai didi

python - pycuda.gpuarray.dot() 第一次调用时非常慢

转载 作者:行者123 更新时间:2023-12-01 05:40:52 26 4
gpt4 key购买 nike

我在 pycuda 中有一个有效的共轭梯度方法实现,我想对其进行优化。它使用自写的矩阵向量乘法和 pycuda 原生的 gpuarray.dotgpuarray.mul_add 函数

使用 kernprof.py/line_profiler 分析程序返回了收敛花费在一次 gpuarray.dot() 调用上的大部分时间 (>60%)。 (约0.2秒)接下来的所有 gpuarray.dot() 调用大约需要 7 微秒。所有调用都具有相同类型的输入向量(大小:400 个 double )

有什么理由吗?我的意思是,最终它只是一个常数,但它使分析变得困难。我想在 pycuda 邮件列表上问这个问题。但是我无法使用@gmail.com 地址进行订阅。如果有人对奇怪的 .dot() 行为有任何解释,或者我无法订阅该邮件列表,请给我一个提示;)

最佳答案

原因之一是 Pycuda 在上传内核之前对其进行编译。据我记得认为这只应该在第一次执行时发生。

一种解决方案可能是通过执行一次内核来“预热”内核,然后启动分析过程。

关于python - pycuda.gpuarray.dot() 第一次调用时非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17574547/

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