点击上方“蓝字”关注我们
“ Wolfram 计算服务处理所有配置和编排工作,让您能够即时、稳健地以超级计算机规模运行任何 Wolfram 计算,并可访问大规模并行计算、大容量内存、大型 GPU等资源。
”
《Wolfram Mathematica 15 系列:新增AI Assistant工具》
《Wolfram Mathematica 15 系列:Wolfram Foundation Tool》
Wolfram 计算服务
即时扩展您的 Wolfram 计算能力
无需配置的超级计算体验
适用于任意规模的研究、开发与生产工作负载
配备稳健的任务管理与监控机制
无需安装或配置,可从任何 Wolfram 系统直接运行
无需额外订阅,使用 Wolfram 服务积分即可
Wolfram 计算服务的主要功能
机器实例类别
Wolfram 计算服务提供四种机器类别,以满足多样化的计算需求。
基础型:适用于常规计算
基础实例提供资源均衡且经济高效的计算方案,适用于日常计算任务(如求解数值系统、批量创建可视化图表等)。
内存型:用于内存密集型任务
内存实例专注于高内存计算(如图论计算、穷举组合搜索、高分辨率图像和视频处理等)。
计算型:用于计算密集型任务
计算实例专注于内核数量较大的任务,可与 Wolfram 语言并行计算配合使用。
GPU:对于通过使用 GPU 加速的任务
GPU 实例提供一个或多个本地连接的 GPU,用于加速神经网络的训练/推理、CUDALink 编程和其他 GPU 计算。
完全掌控您的计算成本
Wolfram 计算服务作业消耗服务积分,可根据需要购买。您可以在 Wolfram 账户面板上监控服务积分余额和使用情况,并随时充值。所有任务均可配置特定的积分限额或时间限制。
优化与 GPU 加速持续推进
Wolfram 语言内置大量算法复杂的函数,我们一直在持续提升它们的运行效率。性能提升一部分来源于采用全新算法(其中不少是我们自主研发的算法);另一部分则来自新增硬件加速支持,尤其是 GPU 加速。
在 15 版本中,系统各处都带来大量性能优化。对于配备 NVIDIA 显卡的用户,核心线性代数与核心图论功能还新增了(实验性)加速能力。借助Method->"HybridCPUGPU",诸如LinearSolve这类函数可以自动同时调用 CPU 与 GPU 硬件,在处理 10000×10000 矩阵这类场景下,实现性能的大幅跃升。
高效利用 GPU 的一大难题,是需要让运算所用的数据驻留在 GPU 显存当中。在《Wolfram 语言与 Mathematica 14.2 版本发布:大数据、计算与人工智能的交汇》一文中,我们引入了GPUArray,专门用于将数据存放在 GPU 显存。后续每一个版本,我们都在让更多函数可以直接对GPUArray对象执行运算。
15 版本新增了一批基于 GPU 的数组重排函数。举个例子,这里有一个 2000×2000 的 GPU 数组:
只要你的计算机配有适配的 GPU,就可以高效生成另一个 GPU 数组,它的维度形态和原始数组差异很大。
使用 GPU 目前仍然存在不少繁琐问题:不同 GPU、不同计算机系统的硬件能力各不相同。我们正在系统性地为更多 GPU 硬件配置适配更多函数,为每一种场景编写高度优化的 GPU 内核程序。
事实上,除 GPU 之外,适配各类硬件还存在诸多复杂问题。举例来说,15 版本为LinearSolve求解稀疏数组新增了Method->"MUMPS"求解器,在 ARM、苹果自研等处理器平台上,大幅加快大规模数值偏微分方程求解这类任务的运算速度。
将 CUDA 内核作为外部函数调用
如果你希望自行编写 GPU 代码,并把它集成到 Wolfram 语言当中该怎么做?15.0 版本提供了一种全新机制,可以创建能够执行 CUDA 内核的ExternalFunction(外部函数)对象。注意该功能仅可在支持 CUDA、并且安装了对应显卡的设备上使用。下面这个示例直接传入原生 CUDA‑C++ 代码,生成一个可运行这段代码的外部函数:
接下来创建一份保存在 GPU 显存中的GPUArray
在该数组上运行刚才定义好的 CUDA 函数:
得到运行结果(本例中这个 CUDA 内核实现的逻辑十分简单:为数组里每一个元素加上 1000)。
CUDA 代码本身层级很低,很容易变得冗长复杂。因此 15.0 版本还提供另一种 GPU 开发途径:基于 Wolfram 编译器,使用 Wolfram 语言来编写 GPU 程序,再通过LibraryFunction调用底层 CUDA 内置函数。下面是和前面完全相同功能的 CUDA 内核,改用 Wolfram 语言搭配 Wolfram 编译器实现:
和前面直接运行原生 CUDA 代码一样,可以直接执行并拿到运算结果。
Wolfram 计算服务现已支持 GPU
去年年底,我们正式推出 Wolfram Compute Services,旨在实现流畅、无缝的大规模远程计算任务。过去数月中我们为该服务新增了多项功能,现已全部内置集成至 15 版本。最关键的升级:Wolfram 计算服务除 CPU 资源以外,现在可以调度高端 GPU 算力。
只要你的 Wolfram 语言代码调试完成,即可直接通过RemoteBatchSubmit函数,将任务提交至 Wolfram Compute Services 云端运行。
下面是一个神经网络训练案例,任务被提交到 NVIDIA L40S GPU 上执行运算。
大约 40 分钟之后,我们收到一封邮件,提示计算结果已经就绪
随后我们即可取回计算结果:
Wolfram 计算服务还新增一项配置选项RemoteGeoZone,可以指定远程计算任务实际运行所在的地理区域;目前可选区域仅有 UnitedStates(美国) 和 EuropeanUnion(欧盟)。
Wolfram 计算服务当前依托公有云基础设施运行。与此同时我们正在研发高性能计算工具包(High‑Performance Computing Kit),未来用户可搭建私有集群、企业内部基础设施,并使其能够配合RemoteBatchSubmit远程任务提交接口使用。
Wolfram 计算服务Q&A
如何在我的 Wolfram 产品中启用 Wolfram 计算服务?
若您在桌面端使用 Mathematica、Wolfram|One 或 Wolfram Engine 14.3, 运行 RemoteBatchSubmissionEnvironment["WolframBatch"]一次即可启用。 该功能目前在 Wolfram 云中已自动可用,未来版本的 Wolfram 桌面客户端也将支持。
我可以提交哪些类型的计算任务?
Wolfram 计算服务支持独立任务和阵列任务。独立任务启动单个计算实例。阵列任务根据输入数组的规模自动启动多个计算实例。您可以指定输入数组在计算实例间的分配方式。更多信息请参阅 RemoteBatchSubmit 和 RemoteBatchMapSubmit 的文档。
支持哪些版本的 Wolfram 语言?
Wolfram 计算服务的批量任务需通过 Wolfram 语言 14.3 或更高版本提交。提交的任务始终使用最新发布的 Wolfram Engine 执行。
必须购买服务积分才能使用 Wolfram 计算服务吗?
不一定。许多 Wolfram 订阅计划包含少量服务积分,足以尝试小型远程任务。 对于更大规模或更频繁的计算,您可以随时购买额外积分。 也可设置自定义额度的自动充值功能,便于保持账户余额充足。
Wolfram 计算服务在什么环境下运行?
Wolfram 计算服务作业在 Wolfram Engine Docker 镜像下运行,该镜像使用 Ubuntu Linux 系统。
计算结果的存储选项有哪些?
计算结果将由 Wolfram 计算服务临时存储 14 天,期间您可以下载并存储至本地。您也可使用 CloudPut 等函数或 AWS 服务连接将结果上传至 Wolfram Cloud 或其他云存储服务。
*上海卡贝信息技术有限公司是WOLFRAM MATHEMATICA中国区合作伙伴,如果您对MATHEMATICA感兴趣,有任何需要,欢迎与我们联系!
-------------------------------------------------------



