问题标签 [rapids]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
154 浏览

numba - 滚动线性回归,用于 cuDF 数据帧上的 groupby 操作

我想使用 cuML LinearRegression 计算 y_value 在 x_value 上的滚动斜率。

样本数据(cuDF 数据框):

使用 LinearRegression 的简单函数:

我想做的事:

但是,我收到一个错误:NotImplementedError: Handling UDF with null values is not yet supported. 有没有办法克服这个错误?谢谢你。

0 投票
1 回答
1271 浏览

rapids - ModuleNotFoundError:谷歌 colab 中没有名为“cudf”的模块

我尝试导入 cudf 并收到以下错误:

我错过了什么?

0 投票
2 回答
928 浏览

python - MemoryError: std::bad_alloc: rapids.ai Dask-cuDF

我想加载 5.9 GB CSV,但我不使用 pandas 库。我有 4 个 GPU。我使用rapids.ai更快地加载这个大型数据集,但每次我尝试时,都会向我显示这个错误,尽管我的其他 GPU 内存中有空间。一开始GPU的内存使用情况是:

代码是:

提示:

0 投票
2 回答
3290 浏览

python - GPU 处理 - cuDF 安装问题(操作系统或硬件问题?)

我的目标是探索具有 10,000 到 10M+ 记录的表格数据的 GPU 加速。我最熟悉 Pandas,所以 cuDF 似乎是一个不错的起点。

我发现混合结果:cuDF 是否会在我的系统上运行(Windows 7 Pro 64 位、i7-6820HQ、32GB RAM、NVidia Quadro M2000M 4GB)。还有一个板载显卡。

根据 gitHub 页面(https://github.com/rapidsai/cudf):

CUDA/GPU 要求

  • CUDA 10.0+(是的 - 我有 v10.1.120)
  • NVIDIA 驱动程序 410.48+(是的 - 我有 432.06)
  • Pascal 架构或更好的架构 (NO - Maxwell)

我听说 Pascal 架构是首选/最佳而不是要求,但也许那是针对旧版本的 cuDF?就在今天早上,我听说它将在 Win 64 上运行,尽管性能优势也可能会降低。尽管如此,我有兴趣试一试。

当我使用我的 CUDA 版本推荐的命令从 conda 提示符(python 3.6 env)安装时:

conda install -c rapidsai -c nvidia -c numba -c conda-forge cudf=0.13 python=3.6 cudatoolkit=10.1

我得到:

收集包元数据(repodata.json):完成求解环境:初始冻结求解失败。使用灵活的求解重试。

PackagesNotFoundError:当前频道不提供以下软件包:

  • cudf=0.13

当前频道:

要搜索可能提供您正在寻找的 conda 包的替代频道,请导航至

并使用页面顶部的搜索栏。

当我访问 anaconda.org 并搜索 cuDF(或 RAPIDS)时,我发现的只是 Linux 安装。

我今天早些时候参加了 Anaconda 赞助的网络研讨会,演讲者说它将在 Win-64 中运行,尽管这篇较旧的帖子建议我可能需要从源代码构建:

安装 CuSpatial 或 CuDf 库时找不到包错误

我还没准备好尝试从源代码构建。我只是在浪费时间吗?感谢建议(用于使用我的系统或替代软件包解决 cuDF)。

0 投票
1 回答
201 浏览

python - 使用 cudf 和 cuspatial 计算组的半正弦距离

我正在尝试使用加速(GPU 支持)计算进行距离计算,但在处理 pandas 和 cudf 之间的细微差别时遇到了很多麻烦。

我有一个带有车辆和时间点(lat、lng、timestamp)的df,我基于cpu的计算大致是这样的:

其中基本上计算使用运算符对齐连续点get_distance实现的纬度、经度列之间的距离。.shift()

事实证明,尝试使用cudfcuspatial来自 RAPIDSAI 非常令人困惑。

我正在尝试做:

我的gpu_distance功能(什么不起作用)在哪里

这还不是我的完整用例,但我正在努力构建它,收到有关实际模块的错误

任何有问题的想法都将不胜感激,或者如果有更好的文档。

cuspatial.haversine_distance当不在 groupby 语句中运行时,我能够运行该函数,以下代码正常执行

0 投票
1 回答
798 浏览

nvidia - 如何安装最新版rapids,无需指定版本号

我想在不指定版本号的情况下安装最新版本的rapids。

从这里:https ://rapids.ai/start.html

conda install -c rapidsai -c nvidia -c conda-forge -c defaults rapids=0.15 python=3.7 cudatoolkit=10.1

哪个工作正常。但是如果我们去掉版本号(0.15)

conda install -c rapidsai -c nvidia -c conda-forge -c defaults rapids python=3.7 cudatoolkit=10.1

conda 安装 0.01

如果我们移除急流,什么都不会安装

我如何设置它以每次都获得最新版本?

0 投票
1 回答
134 浏览

rapids - Spark Rapids:简单的 HashAggregate 示例

[大家好,我是 Spark Rapids 的新手。我正在阅读 Spark Rapids 的基本介绍,其中我得到了一个图(附加),解释了 hashaggregate 示例中基于 CPU 和 GPU 的查询计划之间的区别。计划中的所有内容,除了转换为行格式的最后阶段之外,我不清楚。任何人都可以提出这背后的原因。]

0 投票
1 回答
86 浏览

python - 无法在 Kaggle Notebook 环境中导入“cuxfilter”包

我正在使用大于 5GB 的 CSV 文件来参加 Kaggle 比赛。我正在使用 cudf 和 cuml 进行数据预处理和机器学习。但对于可视化,我的计划是使用 Plotly 使用 GPU 加速可视化。由于 Kaggle docker 还没有包含 Rapids,我使用下面的 Dataset 来安装它。
https://www.kaggle.com/cdeotte/rapids
但即使在使用上述数据集安装rapids 后,我也无法在Kaggle 笔记本中导入“cuxfilter”包。

正在给出 ModuleNotFoundError

有没有办法在 Kaggle 中安装这个包?

我也尝试使用 conda 安装该软件包,但没有成功。使用的命令如下

另请在 kaggle 论坛中找到我的帖子以获取更多详细信息 https://www.kaggle.com/cdeotte/rapids/discussion/190432#1046557

0 投票
1 回答
510 浏览

python - scipy.lfilter 的替代品

有没有办法在 scipy 中实现 lfilter 的替代实现?我想使用 cusignal 库,目前不支持 lfilter。

这是我想要加速的当前代码:

有没有办法可以使用 numpy 的 convolve 函数或 scipy 的 fftconvolve 或 firfilter 来执行此操作?最终,我想比当前版本更快地执行上面的代码片段。

任何想法或想法将不胜感激!

0 投票
1 回答
492 浏览

gpu - NetworkX all_pairs_dijkstras 的 CuGraph 实现

我正在尝试将我必须的 cpu 绑定算法转换为 GPU 算法,并且我在使用 cugraph 时遇到了各种麻烦。其中一些是我的无知,另一部分只是 cugraph 的起步和不发达,最后一部分是我只是在寻找优雅的矢量化方法。

假设我有 m 个由 n 个特征组成的数据观察。我通过计算来自所有观测值的所有观测值的欧几里德距离来创建一个距离矩阵(注意:这不是我需要帮助的部分,也不是最佳的。只需添加此部分以获取易于理解、可重现的代码)

第一个挑战

其中输入 W 矩阵是欧几里得空间中的平方距离矩阵(节点最初由 x 特征组成)。例如,第 1 行 col 9 是节点 1 和节点 9 之间的距离,第 20 行 col 30 是节点 20 和节点 30 之间的距离,等等。该图现在绘制连接节点之间的边,边的权重是欧几里得距离测量。

我花了大约 8 个小时试图弄清楚如何将其转移到 GPU,但即使在 NVIDIA 自己的文档中,他们声称

该代码块非常适合 NetworkX。然而,迭代数据帧并一次添加一个节点的过程对于 GPU 来说是有问题的,我们试图避免这种情况。cuGraph 将数据存储在列(即数组)中。调整数组大小需要分配一个大一个元素的新数组,复制数据并添加新值。那不是很有效。

如果您的代码遵循上述一次插入一个元素的模型,我们建议您重写该代码或在 NetworkX 中按原样使用它,并使用 cuGraph 加速算法。

所以我放弃了,让那部分保持原样。算法的下一部分使用dijkstra算法,计算所有节点到所有其他节点的最短路径

在 cugraphs 实现中,它们只有单个源 dijkstra,它以图形和源节点作为参数。这与 networkx 的库形成对比,后者带有上述方法,并在所有节点上普遍应用 dijkstra。这意味着我必须为每个节点迭代调用 SSSP(cugraph 的 dijkstra 的实现)(更多用于循环)。

在通过连接节点获得距离后,我创建另一个平方距离矩阵,该矩阵现在基于通过连接节点的距离,而不是最初采用欧几里德距离。

我一辈子都不知道如何为 GPU 向量化这些。任何朝着正确方向的帮助将不胜感激。目前对于我的算法运行的数据集,CPU 绑定算法需要大约 5 分钟才能运行 698 个节点。因此,为什么我试图加快 GPU 明智的速度