大数跨境
0
0

即刻启用超级计算:Wolfram 计算服务正式上线

即刻启用超级计算:Wolfram 计算服务正式上线 WOLFRAM
2025-12-17
0
导读:只需使用RemoteBatchSubmit一键提交任务,8小时的任务可以在3分钟内完成
line-height: 0;box-sizing: border-box;">

本文译自>>

https://blog.wolfram.com/2025/11/07/announcing-the-2025-innovator-award-winners/

引用格式>>

Stephen Wolfram (2025), "Instant Supercompute: Launching Wolfram Compute Services," Stephen Wolfram Writings. writings.stephenwolfram.com/2025/12/instant-supercompute-launching-wolfram-compute-services.




想在 14.3 版 Wolfram 桌面系统中即刻体验 Wolfram Compute Services?

只需运行下面这行代码,即可一键开启:
RemoteBatchSubmissionEnvironment["WolframBatch"]

(注:该功能在 Wolfram Cloud 中已默认启用✨。)

Wolfram Cloud>>

https://www.wolfram.com/cloud/



轻松扩展您的计算规模


想象一下:您已在 Wolfram Language 中完成了一项计算,现在想把它扩展到 1000 倍甚至更多。这在过去可能需要复杂的设置,但别担心——今天我们发布了一个极其高效的新方法:只需将要扩展的计算任务封装于 RemoteBatchSubmit,它就会自动提交到我们全新的 Wolfram Compute Services (Wolfram 计算服务)系统。无论任务在一分钟、一小时还是一天后完成,系统都会及时通知您,届时即可获取计算结果。

Wolfram Language>>
https://www.wolfram.com/language/

今天我们发布了>>
https://www.wolfram.com/compute-services/

RemoteBatchSubmit>>
http://reference.wolfram.com/language/ref/RemoteBatchSubmit.html

Wolfram Compute Services 系统>>
https://www.wolfram.com/compute-services/


数十年来,我常常需要运行大规模、高强度的计算任务(通常是科研相关)。这些计算常涉及海量数据、数百万个案例,以及高度不可简化的复杂计算过程。坦白说,我家里的计算资源比大多数人都多——如今大约相当于 200 个计算内核。即便如此,我仍常在夜间让所有计算资源全速运转,却依然觉得不够。而从今天起,我们为所有人提供了一个简单解决方案:只需将您的计算任务无缝提交至 Wolfram 计算服务,即可几乎以任意规模执行计算。

通常是科学研究相关>>

https://writings.stephenwolfram.com/all-by-date/

不可简化的复杂计算>>
https://www.wolframscience.com/nks/chap-12--the-principle-of-computational-equivalence#sect-12-6--computational-irreducibility


近 20 年来,Wolfram 语言中内置的 ParallelMap 和 ParallelTable 等函数,已能轻松实现子计算的并行化。然而,真正要实现规模扩展,计算资源始终是核心瓶颈。如今,随着全新的 Wolfram Compute Services推出,这一瓶颈已被打破。现在,每个人都能即时获取所需的计算力,让大规模扩展变得触手可及。

ParallelMap>>

http://reference.wolfram.com/language/ref/ParallelMap.html

ParallelTable>>
http://reference.wolfram.com/language/ref/ParallelTable.html


实际上,支持 Wolfram 计算服务的底层工具在 Wolfram 语言中已存在多年。而今天, Wolfram 计算服务所做的,是将这一切整合起来,打造出极致流畅的一站式体验。例如,当您在笔记本中逐步构建计算流程,并最终确定需要扩展规模的部分时,通常这一步骤会依赖于之前多个环节的中间结果。而现在,您完全不必担心这些——只需将待扩展的输入内容提交至 RemoteBatchSubmit 即可,Wolfram 计算服务将自动处理所有依赖关系。

底层工具>>
https://reference.wolfram.com/language/guide/RemoteBatchJobs.html


此外,RemoteBatchSubmit 与 Wolfram 语言中的所有函数一样,处理的是符号表达式,这些表达式可表征从数值表格、图像、图形、用户界面到视频等任意对象。这意味着您得到的结果可以立即使用,比如直接在您的 Wolfram Notebook 中进一步操作,无需任何导入步骤。


那么,您可以在哪些机器上运行计算呢?Wolfram 计算服务为您提供了灵活的选择,以适应不同计算需求和预算。最基础的配置是单核 8GB 内存,适合“把计算从本地设备上解放出来”。您也可选择更大内存的机器——目前最高可达约 1500 GB。或选用更多核心的配置——目前最多支持 192 核。若您需要更大规模的并行计算,Wolfram 计算服务同样能胜任,因为 RemoteBatchMapSubmit 可以将函数映射到任意数量的元素上,并在多台机器的任意数量核心上并行执行。

灵活的选择>>

https://www.wolfram.com/compute-services/#machine-instance-categories

RemoteBatchMapSubmit>>
http://reference.wolfram.com/language/ref/RemoteBatchMapSubmit.html



一个简单的例子


现在让我们来看一个非常简单的示例——这个例子恰巧出自我前段时间做的一些科学研究。我们先定义一个名为 PentagonTiling 的函数,它能在图簇中随机添加互不重叠的五边形:



我前段时间做的一些科学研究>>
https://writings.stephenwolfram.com/2023/11/aggregation-and-tiling-as-multicomputational-processes/#polygonal-shapes


对于20个五边形的情况,我可以在自己的计算机上快速运行此计算:



但如果要生成 500 个五边形呢?这时计算几何变得相当复杂,耗时之长让我不愿让自己的计算机长时间被占用。而现在有了更好的选择:使用 Wolfram 计算服务


我只需要将自己的计算任务提交给 RemoteBatchSubmit



随即,一个作业就创建成功了(所有必要的依赖项都会被自动处理),并进入执行队列。几分钟后,我收到一封邮件



由于不确定需要等多久,我就先去忙别的事了。但过了一阵子,我好奇想看看作业进展如何。点击邮件里的链接,我直接进入了一个实时控制面板——界面上清晰显示着我的作业正在顺利运行:



于是我又继续处理其他工作。突然,又收到一封邮件:



任务完成了!邮件里还附带了结果预览图。如果想把结果以表达式形式导入 Wolfram Language 会话中,我只需运行邮件中的这行代码:



现在它就变成了一个可计算对象,我可以进一步操作它,比如计算总面积:



或者统计孔洞数量:




大规模并行计算

Wolfram 计算服务的一大亮点,在于它让大规模并行计算变得异常轻松。你想在数百个核心上并行运行计算任务吗?用 Wolfram 计算服务就对了!


以下是我近期研究中的一个实例:我正在寻找一个能生成“寿命”恰好为 100 步的元胞自动机规则。这里我先测试了 1 万个随机规则——耗时几秒钟,但一无所获:



为了测试 10 万个规则,我用 ParallelSelect 在笔记本电脑的 16 个核心上并行运行:


ParallelSelect>>

http://reference.wolfram.com/language/ref/ParallelSelect.html


仍然没有收获。那么测试 1 亿个规则呢?这时候就该 Wolfram Compute Services 登场了!最简单的做法就是提交一个请求多核心机器的作业(这里选择 192 核,是目前提供的最大配置):



几分钟后,我收到邮件通知作业开始执行。过段时间查看作业状态,发现仍在运行中:



我便继续处理其他工作。几小时后,我收到邮件通知作业已完成,而且邮件里的预览图显示——这次真的找到了!



我获取了最终结果:



下图就是我们通过1亿次测试,在计算宇宙中筛选出的规则:



但如果我们想在几个小时内得到结果呢?那就需要更强的并行能力。事实上,Wolfram Compute Services 通过 RemoteBatchMapSubmit 也能满足这个需求。您可以将 RemoteBatchMapSubmit 理解为强化版的 ParallelMap——它能够将函数映射到任意长度的列表上,把计算任务拆分到不同机器的多个核心上,并以可扩展的方式处理数据和通信。


由于 RemoteBatchMapSubmit 是一个“纯粹的 Map”操作,我们需要稍微调整一下计算结构——让它运行 10 万次“从 1000 个随机实例中筛选”的任务:


Map>>
http://reference.wolfram.com/language/ref/Map.html


系统决定将我的 10 万个案例分配到 316 个独立的“子任务”中,每个子任务都在独立核心上运行。任务运行情况如何?我可以直接调出动态可视化监控界面,随时掌握进度:



没过几分钟我就收到了作业完成的邮件通知:



是的,虽然我只等了 3 分钟就得到了结果,但所有核心累计使用的计算时间总计约8小时。


现在我可以通过Catate将生成的所有独立片段合并,从而检索所有结果:


Catate>>
http://reference.wolfram.com/language/ref/Catenate.html


当然,如果愿意增加投入,还可以进行更大规模的搜索,把 10 万次测试提升到更高数量级;RemoteBatchMapSubmit 和 Wolfram Compute Services 将无缝扩展以满足需求。




一切皆可编程!


与 Wolfram Language 的所有功能一样,Wolfram Compute Services 也是完全可编程的。当您提交一个作业时,可以设置多种选项。我们已经见过 RemoteMachineClass 选项,它允许您选择要使用的机器类型。目前可选的类型包括从“ Basic1x8”(1 核,8 GB内存)到“Basic4x16”(4 核,16 GB内存),再到适用于“并行计算”的“ Compute192x384”(192 核,384 GB内存)以及“大内存”配置的“Memory192x1536”(192 核,1536 GB内存)。

RemoteMachineClass>>
https://reference.wolfram.com/language/ref/RemoteMachineClass.html


不同类型的机器运行时需要消耗不同数量的点数。为了确保一切可控,您可以设置“TimeConstraint”(最长运行时间,以秒为单位)和“CreditConstraint”(最大可用点数)等选项。

TimeConstraint >>

http://reference.wolfram.com/language/ref/TimeConstraint.html

CreditConstraint >>
https://reference.wolframcloud.com/language/ref/CreditConstraint.html


其次是通知机制。默认设置下,系统会在作业开始时发送一封邮件,在作业完成时再发送一封。通过“RemoteJobName”选项,您可以为每个作业命名,这样就能轻松识别邮件对应的是哪个作业,或在网页控制面板中定位作业(如果你不为作业命名,系统将使用分配给它的 UUID 来标识)。

RemoteJobName >>
https://reference.wolfram.com/language/ref/RemoteJobName.html


RemoteJobNotifications”选项允许您设置所需的通知类型及接收方式。您可以设置在作业状态发生变化时、在特定时间间隔、或在消耗特定点数时接收通知。通知方式可选择电子邮件或短信。当然,如果您收到作业即将耗尽点数的通知,随时可以登录 Wolfram 账户门户进行点数充值。

RemoteJobNotifications>>
https://reference.wolfram.com/language/ref/RemoteJobNotifications.html

Wolfram 账户门户>>
https://account.wolfram.com/login/oauth2/sign-in


您可以查询作业的诸多属性。其中最核心的属性是“EvaluationResult”,而例如“EvaluationData” 则会为您提供所有相关信息的完整关联:


EvaluationData>>
http://reference.wolfram.com/language/ref/EvaluationData.html


如果作业执行成功,很可能您只需要“EvaluationResult”。但如果出现问题,您可以轻松深入查看作业执行的详细情况,例如通过“JobLogTabular”进行分析。


如果您想了解所有已发起的作业,除了随时查看网络控制面板外,还可以通过以下方式获取作业的符号化表示:



对于这些作业对象,你可以查询其属性,也可以使用 RemoteBatchJobAbort来中止它们。

RemoteBatchJobAbort>>
https://reference.wolfram.com/language/ref/RemoteBatchJobAbort.html


作业完成后,其结果将存储在 Wolfram Compute Services 中,但仅保留有限的时间(目前为两周)。当然,获得结果后,您可以轻松将其永久保存,例如使用 CloudPut[ expr ] 将其上传到 Wolfram Cloud。(如果您确定要永久存储结果,也可以在 RemoteBatchSubmit 内部直接调用 CloudPut 。)

CloudPut>>

https://reference.wolfram.com/language/ref/CloudPut.html


谈到 Wolfram Compute Services 的编程应用,这里还有另一个例子:假设您希望每周生成一份计算密集型报告。那么,您可以编写几个高级的 Wolfram 语言函数,部署一个计划任务,该任务将在 Wolfram Cloud 中运行,以启动 Wolfram Compute Services 的作业:



是的,您可以从任何 Wolfram Language  系统启动 Wolfram Compute Services 作业,无论是在桌面端还是在云端中。





更多功能即将上线……


Wolfram Compute Services 对许多用户极具实用价值。但实际上,它只是我们能力星图中一颗璀璨的引路星——我们正致力于拓展 Wolfram Language 的应用方式。


Mathematica 和 Wolfram 语言始于 1988 年,最初是作为桌面系统而设计的。但即便在当时,我们也已经支持在一台机器上运行笔记本前端,在另一台机器上调用“远程内核”。(那时我们还支持通过电话线进行通信!)2008 年,我们推出了诸如 ParallelMap 与 ParallelTable 这类内置并行计算功能。 2014 年,我们推出了 Wolfram Cloud——既在网页端复现了 Wolfram Notebook 的核心功能,也提供了即时API 计划任务等服务。不久后,我们进一步推出了 Enterprise Private Cloud——Wolfram Cloud 的私有化版本。2021 年,我们推出了 Wolfram Application Server 以提供高性能的 API(例如,我们现用于 Wolfram|Alpha 的服务)。2019 年,我们发布了 Wolfram Engine,作为 Wolfram Language 的轻量级服务器和命令行部署形式。围绕 Wolfram Engine,我们构建了 WSTPServer,以便在本地网络中提供服务,同时,我们推出了 WolframScript,为用户提供与部署环境无关的命令行式 Wolfram Language 代码运行方案。2020年,我们发布了 RemoteBatchSubmit 的第一个版本,用于 AWS 和 Azure 等云服务。但与如今的 Wolfram Compute Services 不同,当时需要用户自行配置云服务并获得许可。而现在,这一切在 Wolfram Compute Services 中已实现了自动化。


始于 1988 年>>

https://www.wolfram.com/mathematica/scrapbook/

远程内核>>
https://reference.wolfram.com/language/howto/ConnectToARemoteKernel.html

Wolfram Cloud>>
https://www.wolframcloud.com/

Wolfram Notebook>>
https://www.wolfram.com/notebooks/

即时 API>>
https://reference.wolfram.com/language/guide/CreatingAnInstantAPI.html

计划任务>>
https://reference.wolfram.com/language/ref/ScheduledTask.html

Enterprise Private Cloud>>
https://www.wolfram.com/enterprise-private-cloud/

Wolfram Application Server>>
https://www.wolfram.com/application-server/

Wolfram|Alpha>>
https://www.wolframalpha.com/

Wolfram Engine>>
https://www.wolfram.com/engine/

WSTPServer>>
https://www.wolfram.com/wstpserver/

WolframScript>>
https://www.wolfram.com/wolframscript/

2020年,我们发布了>>
https://writings.stephenwolfram.com/2020/12/launching-version-12-2-of-wolfram-language-mathematica-228-new-functions-and-much-more/#big-computations-send-them-to-a-cloud-provider

AWS>>
https://reference.wolfram.com/language/ref/batchcomputationprovider/AWSBatch.html

Azure>>
https://reference.wolfram.com/language/ref/batchcomputationprovider/AzureBatch.html

用户自行配置>>
https://reference.wolfram.com/language/workflow/SetUpTheAWSBatchComputationProvider.html

那么,接下来会有什么呢?一个重要方向是即将推出的 Wolfram HPCKit ——专为拥有自身大规模计算设施的组织设计,帮助他们构建与 RemoteBatchSubmit 等对接的后端。RemoteBatchSubmit 的构建方式非常通用,支持接入不同的“批量计算服务提供商”。Wolfram Compute Services 最初仅支持一个标准批处理计算提供程序:“WolframBatch”。HPCKit 将允许组织配置自己的计算设施(通常在我们的协助下)作为批量计算提供者,从而将 Wolfram Compute Services 的流畅体验延伸至本地或组织内的计算设施中,并自动化处理以往颇为繁琐的作业提交流程(不得不说,这让我想起 1970 年代使用大型机作业控制系统的经历)。

批量计算服务提供商>>

https://reference.wolfram.com/language/guide/RemoteBatchJobs.html#179238631


目前,Wolfram 计算服务纯粹定位于批量计算环境。但在 Wolfram 系统内部,我们其实已具备支持同步远程计算的能力,并计划将此功能扩展至 Wolfram Compute Services 中——届时,用户将能够无缝在大型或特殊配置的远程机器上运行远程内核。


不过,这些属于未来展望。今天,我们正式推出 Wolfram Compute Services 的第一个版本。它将使“超级计算能力”即刻适用于任何 Wolfram Language 计算任务。我相信,这将为广泛的 Wolfram 语言用户带来极大便利。就我个人而言,我已经准备好频繁使用它了。



购买 Wolfram 计算服务>>

https://www.wolfram.com/compute-services/

 

url="https://mmbiz.qpic.cn/sz_mmbiz_png/P9GG5qvyzM4QZkU1zd3I78sDWIRQo3lDq05YtvGvC3MOEuxkUPj7UdTMfiakhnTLnT5tbANFxubvWe1CRBEIb8w/640?wx_fmt=png&from=appmsg" linktype="image" tab="innerlink" data-itemshowtype="0" target="_blank" data-linktype="1">

【声明】内容源于网络
0
0
WOLFRAM
Wolfram语言涵盖几何分析、高性能科学计算、机器学习、图像处理、数据分析、人工智能等高科技领域;Wolfram产品(Mathematica, SystemModeler,WA等)是世界500强、世界顶级大学以及中小学必备的软件工具。
内容 926
粉丝 0
WOLFRAM Wolfram语言涵盖几何分析、高性能科学计算、机器学习、图像处理、数据分析、人工智能等高科技领域;Wolfram产品(Mathematica, SystemModeler,WA等)是世界500强、世界顶级大学以及中小学必备的软件工具。
总阅读18
粉丝0
内容926