计算资源
  • 计算资源
  • 通用设置

计算资源

本节是关于计算资源配置的介绍。

在运行工程仿真前,需要用户配置计算资源。在软件的 Home 选项卡中,用户可以按照以下方式打开计算资源配置窗口:

  • SimWorks Cloud FDTD(SimWorks 有限差分云客户端)用户点击Cloud按钮;

  • SimWorks FD Solutions(SimWorks 有限差分完整版客户端)用户点击同位置的Resource按钮。

资源配置页面如下,可以为FDTD、FDFD、FDE三种求解器设置各自使用的计算资源,以及高级选项卡中的计算精度。该页面的按钮功能如下:

Name Description
Add 添加一个新的计算资源;
Remove 移除选中的计算资源;
Edit 编辑选中的计算资源。

用户需要点击Edit进一步配置计算资源。需要注意的是,目前有三种计算资源可以进行设置:云计算(Cloud)、本地计算(Local)和远程计算(Remote)。云客户端仅支持调用云计算资源(Cloud),而完整版客户端可同时支持三种计算资源。以下是对这三种计算资源配置的简要说明:

Name Description
Local 使用用户本地计算机算力,不支持多机并行计算,SimWorks FD Solutions支持;
Remote 可以选择多台计算机算力,支持多机并行计算,SimWorks FD Solutions支持;
Cloud 直接调用云计算资源,SimWorks Cloud FDTD与SimWorks FD Solutions均支持。

Cloud资源

SimWorks的Cloud资源依托阿里云服务器进行构建,最高可使用64核CPU与8卡NVIDIA A10 GPU计算资源,为用户提供企业级算力支持。用户通过注册SimWorks账号即可实现即开即用,系统无需本地环境部署维护,也不依赖用户端设备性能,用户仅需网络连接即可实现跨地域实时进行仿真操作。针对工程数据传输环节,SimWorks通过阿里云安全防护体系与SimWorks加密技术的双重保障,确保全流程数据安全。

资源类型

Cloud资源类型分为高性能计算(High Performance Computing, HPC)和弹性云服务器(Elastic Compute Service, ECS)。高性能计算中的实例为共享资源,当多用户选择同一个实例进行仿真时,该实例将按需分配算力给用户。弹性云服务器则实现计算资源的即开即用和弹性伸缩,其中的实例为独享实例,用户的仿真任务可以使用该实例的全部算力。

adv_resources_new

Name Description
ID 实例的序号。
Select 用于选择实例的勾选框。
Instance Specification 实例的规格。
CPUs 实例的CPU核心数。
Memory(GiB) 实例的内存大小。
Clock Speed(GHz) 实例CPU核心的主频。
GPU/FPGA 实例的GPU/FPGA的类型。
Theoretical FDTD Speed (Megacells/s) 实例的理论FDTD速度。
Price(CNY/Hour) 实例计算一小时的单价。

由于高性能计算中的实例是由云计算按需分配,可能会出现同一时间有大量仿真任务导致资源短缺的情况。用户可以点击refresh查看当前实例是否可用(资源变灰则不可用),避免因资源暂时不足而长时间排队等候。

cloud_resource_refresh

网络文件流

网络文件流(Network File Stream Type)选项卡用于选择网络传输文件流的类型,有最小尺寸(Minimum size)和全尺寸(Full size)两个选项。相比于全尺寸,选择最小尺寸时,仿真工程上传到云服务器仿真时会删除工程中存储的仿真结果。

选择全尺寸时,勾选下方的Optimizations and Sweep download children projects可以在仿真结束后自动下载优化和扫描的子工程。

Local资源

Local资源基于本地计算资源运行,其性能上限直接受限于终端设备的硬件规格。针对对仿真效率有严苛要求的场景,建议通过升级CPU/GPU算力、增加内存容量等硬件优化手段提升运行效能。该模式适用于具备高频仿真需求且拥有高性能计算设备的用户选择。

Local资源设置

Local资源可选择本地CPU/GPU算力:CPU支持多线程并行计算,可设置线程数;GPU可勾选不同的GPU ID使用本地的GPU资源进行计算。

  • CPU算力资源设置

  • GPU算力资源设置

以上各选项意义如下:

Name Description
Computing Resources 算力类型选择,目前支持CPU/GPU(CUDA)两个选项
CPU 选择CPU资源时可设置,可以设置CPU计算的线程数
MPI Settings 设置多机并行计算环境,本地资源不需要配置
Executable Settings 配置客户端执行文件目录
GPU - 1 Devices 在选择GPU资源时可选,当用户计算机拥有多个GPU资源时可以勾选对应GPU资源的ID进行计算,也可以点击All GPU Devices按钮使用全部的GPU资源进行计算
Preview - test command 实时显示资源测试命令

文件存储

使用Local资源的工程由用户选择文件路径进行保存,相关扫描以及优化工程将自动保存在对应文件目录下。

Remote资源

Remote资源基于用户自建的服务器基础设施构建多主机计算环境,实现多节点并行计算。该资源依赖于用户已有的服务器资源,具备良好的扩展性,可根据不同的仿真需求灵活部署计算节点。这种模式适用于拥有高性能计算能力,并需要进行资源共享与团队协作的企业及科研机构。

Remote资源设置

Remote资源需要用户自行配置MPI环境,用户可以去MPI官网下载对应软件进行安装配置环境。无论使用CPU还是GPU算力,均需要用户主动设置mpi host,选择对应的算力资源,多个算力资源的主机名称之间用英文逗号分隔。CPU算力资源支持设置每个主机中的进程数、线程数,GPU算力资源支持选择每个主机所拥有的GPU资源(GPU ID之间使用英文逗号分隔)。

  • CPU算力资源设置

  • GPU算力资源设置

以上各选项意义如下:

Name Description
Computing Resources 算力类型选择,目前支持CPU/GPU(CUDA)两个选项
CPU 选择CPU算力时可设置,可以设置每个主机CPU资源计算的进程数以及线程数
MPI Settings 设置中的三个选项依次为设置自定义MPI执行文件目录,配置多个MPI主机列表,以及自定义命令行参数(部分mpiexec需要额外的参数)
Executable Settings 配置客户端执行文件目录
GPU 在选择GPU算力时可选,设置每个MPI主机所使用的GPU资源,当该主机拥有多个GPU资源时,GPU ID使用英文逗号进行分隔
Preview - test command 实时显示资源测试命令

文件存储

使用Remote资源的工程同样由用户选择文件路径进行保存,相关扫描以及优化工程也将自动保存在对应文件目录下。

Resource Test

对于Cloud资源,Resource Test功能默认不启用,软件会直接跳过该测试过程。
Resource Test功能主要对Local以及Remote所配置资源的MPI与CUDA环境进行测试。资源配置完成后,点击Run tests按钮,系统会依次对已配置资源进行测试,并显示该资源是否能正常运行。在测试过程中,可以点击Stop tests停止测试。
测试完成后,测试成功在Result中显示Test completed successfully,如若测试失败,鼠标悬浮于Result列对应单元格内会显示具体失败原因,如下图。

高级

Advanced标签页用于设置计算机资源的计算精度以及加速算法,Precision Setting用于设置计算机资源的计算精度。下图为云客户端Advanced标签页。

adv_precision

Name Description
FDTD-passive 下拉选择单精度或双精度。
FDFD 下拉选择单精度或双精度。
FDE 下拉选择单精度或双精度。
Mode-matching 默认为双精度,只读参数。

Acceleration用于设置加速算法的类型。

Name Description
Avx 加速向量算法,下拉选择AVX2或AVX512。

MPI

使用MPI可以把FDTD计算区域分为几份,每个进程负责一个计算区域。MPI负责多进程之间的通信。目前仅在使用Remote资源时需要进行配置MPI环境,该资源的正常使用需要用户正确配置本地电脑的MPI环境。

GPU和CPU

本部分主要介绍CPU和GPU两种处理器的差异,用户可根据实际仿真需求选择合适的运算资源。

  • GPU拥有较多的核心,而CPU的核心较少。但GPU每个核心的计算能力低于CPU;
  • CPU擅长逻辑处理,适合顺序和复杂决策任务。GPU擅长并行处理,适合大量浮点运算;
  • CPU一般用于执行系统和应用程序,而GPU则多用于渲染图形和图像。CPU更适合运行复杂的数据处理和逻辑操作,而GPU更适合运行大量简单的数学计算。