【问题标题】:Does Apache Spark 3 support GPU usage for Spark RDDs?Apache Spark 3 是否支持 Spark RDD 的 GPU 使用?
【发布时间】:2021-11-15 06:29:13
【问题描述】:

我目前正在尝试使用 Hail(用 python 和 Scala 编写的基因组分析库)运行基因组分析管道。最近,Apache Spark 3 发布,它支持 GPU 使用。

我尝试spark-rapids library 使用 gpu 节点启动本地 slurm 集群。我能够初始化集群。但是,当我尝试运行 hail 任务时,执行者不断被杀死。

在冰雹论坛上查询,我得到了回复

这是 Spark-SQL 的 GPU 代码生成器,Hail 不使用任何 Spark-SQL 接口,仅使用 RDD 接口。

那么,Spark3 不支持 RDD 接口使用 GPU 吗?

【问题讨论】:

  • Apache Spark 3.0+ 允许用户提供一个插件来替代 SQL 和 DataFrame 操作的后端...请注意,该插件不能加速直接操作 RDD 的操作。请参阅nvidia.github.io/spark-rapids/Getting-Started/… 了解更多信息。
  • 感谢您的快速回复。是否有任何其他库或插件可以允许直接操作 RDD 或允许将 GPU 用于 RDD 接口?
  • 如果您启用了 gpu 的 spark,也许您只需将代码从 rdd 更改为 dataframe。 stackoverflow.com/questions/29383578/…

标签: apache-spark gpu rdd rapids spark3


【解决方案1】:

目前,spark-rapids 不支持 RDD 接口使用 GPU。

来源:Link

Apache Spark 3.0+ 允许用户提供一个插件来替代 SQL 和 DataFrame 操作的后端。这不需要 API 更改 来自用户。该插件将替换它支持的 SQL 操作 GPU 加速版本。如果不支持某个操作,它将 回退到使用 Spark CPU 版本。注意插件不能 加速直接操作 RDD 的操作。

这里是 spark-rapids 团队的回答

来源:Link

我们目前不支持在 GPU 上运行 RDD API。只有我们 支持 SQL/Dataframe API,即使这样也只是 运营商。这是因为我们正在翻译单个催化剂 将运算符转换为启用 GPU 的等效运算符。我很想成为 能够支持 RDD API,但这需要我们能够 获取任意 java、scala 和 python 代码并在 GPU 上运行。我们 正在研究尝试完成其中一些的方法,但正确 现在很难做到。对于图书馆来说尤其如此 像Hail,它使用python作为API,但是数据分析完成了 在 C/C++ 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-10
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-05
    • 1970-01-01
    • 2017-03-07
    相关资源
    最近更新 更多