Spark3.0 preview预览版可以下载使用,地址:https://archive.apache.org/dist/spark/spark-3.0.0-preview/,pom.xml也可以进行引用,如下:

  1. <dependencies>
  2. <dependency>
  3. <groupId>junit</groupId>
  4. <artifactId>junit</artifactId>
  5. <version>3.8.1</version>
  6. <scope>test</scope>
  7. </dependency>
  8. <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core -->
  9. <dependency>
  10. <groupId>org.apache.spark</groupId>
  11. <artifactId>spark-core_2.12</artifactId>
  12. <version>3.0.0-preview</version>
  13. </dependency>
  14. <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-launcher -->
  15. <dependency>
  16. <groupId>org.apache.spark</groupId>
  17. <artifactId>spark-launcher_2.12</artifactId>
  18. <version>3.0.0-preview</version>
  19. </dependency>
  20. <dependency>
  21. <groupId>org.apache.spark</groupId>
  22. <artifactId>spark-sql_2.12</artifactId>
  23. <version>3.0.0-preview</version>
  24. </dependency>
  25. </dependencies>

注意:目前阿里云镜像部分包还没有(2019年11月10日,spark-launcher_2.12下载没有),可以用国外的。

测试代码:

  1. object SparkPi {
  2. def main(args: Array[String]): Unit = {
  3. val spark = SparkSession
  4. .builder
  5. .appName("Spark Pi")
  6. .master("local[2]")
  7. .config("spark.driver.resource.gpu.discoveryScript", "D:\\gpu.bat")
  8. .config("spark.worker.resource.gpu.discoveryScript", "D:\\gpu.bat")
  9. .config("spark.driver.resource.gpu.amount", 1)
  10. .config("spark.executor.resource.gpu.amount", 1)
  11. .config("spark.worker.resource.gpu.amount", 1)
  12. .getOrCreate()
  13. val slices = if (args.length > 0) args(0).toInt else 2
  14. val n = math.min(100000L * slices, Int.MaxValue).toInt // avoid overflow
  15. val count = spark.sparkContext.parallelize(1 until n, slices).map { i =>
  16. val x = random * 2 - 1
  17. val y = random * 2 - 1
  18. if (x * x + y * y <= 1) 1 else 0
  19. }.reduce(_ + _)
  20. println(s"Pi is roughly ${4.0 * count / (n - 1)}")
  21.  
  22. spark.stop()
  23. }
  24. }

其中,gpu.bat的内容如下:

  1. @echo off
  2. echo {"name": "gpu", "addresses": [""]}

运行日志如下:

  1. 2019-11-10 00:39:33,429 [main] INFO [org.apache.spark.SparkContext] - Running Spark version 3.0.0-preview
  2. 2019-11-10 00:39:34,915 [main] INFO [org.apache.spark.resource.ResourceUtils] - ==============================================================
  3. 2019-11-10 00:39:34,918 [main] INFO [org.apache.spark.resource.ResourceUtils] - Resources for spark.driver:
  4. gpu -> [name: gpu, addresses: 0]
  5. 2019-11-10 00:39:34,919 [main] INFO [org.apache.spark.resource.ResourceUtils] - ==============================================================
  6. 20

我以为可以成功调用GPU,查看任务管理器里面的GPU显示,并没有发现,最后搜索代码,在"spark-3.0.0-preview\core\src\main\scala\org\apache\spark\scheduler\local\LocalSchedulerBackend.scala"(85,56)显示如下:

  1. def reviveOffers(): Unit = {
  2. // local mode doesn't support extra resources like GPUs right now
  3. val offers = IndexedSeq(new WorkerOffer(localExecutorId, localExecutorHostname, freeCores,
  4. Some(rpcEnv.address.hostPort)))
  5. for (task <- scheduler.resourceOffers(offers).flatten) {
  6. freeCores -= scheduler.CPUS_PER_TASK
  7. executor.launchTask(executorBackend, task)
  8. }
  9. }

注释:local mode doesn't support extra resources like GPUs right now

本地模式不支持GPU

心一凉,本来打算搭建standalone模式,最后看了一下window的搞不了,Linux的得个虚拟机了,比较笨资源有限,就暂不试了。

Spark3.0 preview预览版尝试GPU调用(本地模式不支持GPU)的更多相关文章

  1. [下载] VS 2013 Update 4 & 社群版 (Visual Studio Community) & VS 2015 Preview预览版

    这是我的备份,原文请看http://www.dotblogs.com.tw/mis2000lab/archive/2014/11/13/vs2013_update4_community_vs2015_ ...

  2. HarmonyOS 3.0.0开发者预览版全新发布

    2021年10月22日在华为开发者大会HDC.Together 2021 主题演讲上,我们发布了HarmonyOS 3.0.0开发者预览版,主要内容包括:Harmony设计系统.ArkUI 3.0.A ...

  3. wp8.1 sdk preview 预览版

    http://pan.baidu.com/s/1hqyusja?qq-pf-to=pcqq.c2c#dir/path=%2FWPSDK%208.1%20DevPreview%20Installerwp ...

  4. Blazor client-side Preview 预览版 如何调试 Debug

    首先我们使用最简单的模板案例,里面有一个Counter计数器,你可以在创建模板中找到. 首先需要设置运行调试方式为IIS Express.这意味着,MAC可能不能使用调试. 然后开启运行而不调试(Ct ...

  5. TMS WEB Core v1.2预览版:新的Electron应用程序支持

    2019年2月20日,星期三 几个月前,我们已经开始与Electron进行实验.在工作概念验证之后,我们的目标是为Delphi开发人员尽可能多地包装Electron API.但当然不仅仅是可以使用的E ...

  6. .NET 5.0预览版6发布:支持Windows ARM64设备

    2020年6月25日,微软dotnet团队在博客宣布了第六个 .NET 5.0 的预览版:https://devblogs.microsoft.com/dotnet/announcing-net-5- ...

  7. Android 7.0终极开发者预览版全攻略!

    近日,Google的工程部副总裁Dave Burke在官方博客上正式发布开发者预览版5,此预览版是android 7.0 “牛轧糖”正式发布前最后一个预览版,同时也是在性能.功能上等多方面的表现上最接 ...

  8. visual studio 2015预览版系统需求

    visual studio 2015预览版的系统需求跟visual studio 2013的一样. 支持visual studio 2015 preview的操作系统:Windows 8.1(x86 ...

  9. .NET 6 预览版 7 发布——最后一个预览版

    原文:bit.ly/2VJxjxQ 作者:Richard 翻译:精致码农-王亮 说明:文中有大量的超链接,这些链接在公众号文章中被自动剔除,一部分包含超链接列表的小段落被我删减了,如果你对此感兴趣,请 ...

随机推荐

  1. Yii2 DatePicker时间选择器的使用

    bootstrap-Date Time Picker 详细配置请参考http://www.bootcss.com/p/bootstrap-datetimepicker/ use kartik\widg ...

  2. zabbix 3.2.2 server端(源码包)安装部署 (一)

    环境准备: 操作系统 CentOS 6.8 2.6.32-642.11.1.el6.x86_64 zabbix server 172.16.10.150 zabbix agent 172.16.10. ...

  3. Redis08-击穿&穿透&雪崩&spring data redis

    一.常见概念 击穿: 概念:redis作为缓存,设置了key的过期时间,key在过期的时候刚好出现并发访问,直接击穿redis,访问数据库 解决方案:使用setnx() ->相当于一把锁,设置的 ...

  4. selenium设置Chrome浏览器不出现通知,设置代理IP

    from selenium import webdriver PROXY = "" chrome_options = webdriver.ChromeOptions() prefs ...

  5. 关于boost::asio

    // BoostServer.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream> #incl ...

  6. 使用Mutex實現單一程式執行個體的注意事項(转)

    相信大家都知道在.NET程式中若要實現單一程式執行個體,一般來說有幾種方法,像是去判斷是否已經有開啟的Process是相同的程式.用Mutex與Semaphore之類的技術來判斷是否程式正在開啟.但是 ...

  7. 部署nginx脚本

    cd nginx-1.12.2useradd -s /sbin/nologin nginx./configuremakemake installyum -y install mariadb maria ...

  8. UnicodeDecodeError: 'utf8' codec can't decode byte 0xc4 in position 0: i报错

    在程序的顶部加了下面两行就好了,中文也可以正常显示了 #!/usr/bin/env Python# coding=utf-8

  9. BZOJ 1984: 月下“毛景树” (树链剖分+线段树)

    注意赋值和加法的标记下传优先级.具体看代码. CODE #include <vector> #include <queue> #include <cstdio> # ...

  10. apache log4j将日志保存在mongodb数据库中(转)

    og4j与mongodb整合 Mongo Java driver jar包 log4mongo-java jar包 配置log4j.properties文件,使之整合mongodb: #将Mongod ...