The section describes configuration of computing resources.
Before running project simulation, users need to configure computing resources. In the Home tab of the software, users can open the computing resource configuration window as follows:
The resource configuration page is as follows, where you can set the computing resources used by the FDTD, FDFD, and FDE solvers, as well as the computational precision in the advanced options tab. The button functions on this page are as follows:
Name | Description |
---|---|
Add | Add a new resource; |
Remove | Remove the selected resources; |
Edit | Edit the selected resources. |
Users need to click Edit to further configure computational resources. It should be noted that there are currently three types of resources available for configuration: Cloud, Local, and Remote. SimWorks Cloud FDTD only supports Cloud resources, while SimWorks FD Solutions supports all three types. Below is a brief description of the three resources:
Name | Description |
---|---|
Local | Use the computational power of the user's local computer and does not support multi-machine parallel computing. SimWorks FD Solutions supports this resource. |
Remote | Enables the use of multiple computers. SimWorks FD Solutions supports this resource. |
Cloud | Directly accesses cloud computing resources. Both SimWorks Cloud FDTD and SimWorks FD Solutions support. |
SimWorks’ Cloud resources are built on Alibaba Cloud Server, delivering enterprise-grade computing power with support for up to 64-core CPUs and 8 NVIDIA A10 GPUs. Users gain instant access by registering a SimWorks account; no local setup or maintenance is required, and there is no dependency on device performance. All that’s needed is an internet connection to run real-time simulations across different locations. For project data transmission, SimWorks ensures end-to-end data security through the combined protection of Alibaba Cloud Security and our encryption technology.
The Cloud resource types are categorized into High Performance Computing (HPC) and Elastic Compute Service (ECS). Instances in HPC are shared resources; when multiple users select the same instance for simulation, the instance allocates computing power to users as needed. The ECS services enable ready-to-use and elastic scaling of computing resources. Instances in ECS service are dedicated, allowing users' simulation tasks to utilize the full computing power of the instance.
Name | Description |
---|---|
ID | The serial number of the instance. |
Select | The checkbox used to select the instance. |
Instance Type | The type of the instance. |
CPUs | The number of CPU cores of the instance. |
Memory (GiB) | The memory size of the instance. |
Clock Speed (GHz) | The frequency of the CPU clock. |
GPU/FPGA | The type of GPU/FPGA of the instance. |
Theoretical FDTD Speed (Megacells/s) | Theoretical speed of FDTD simulations for cloud instances. |
Price (CNY/Hour) | The price of the instance per hour for calculation. |
Because the instance in HPC allocates computing power to users as needed, there may be a shortage of resources caused by a large number of simulation tasks at the same time. Users can click refresh to check the availability of the current instance (If resources turn gray, they will be unavailable.) and avoid long waiting queues.
In the Network File Stream Type section, user can select the type of network file stream. The types of network file streams are divided into Minimum size and Full size. Compared to Full size, minimum size will delete the stored simulation results in the project when uploading the simulation project to the cloud server for simulation.
When selecting Full size, checking the Optimizations and Sweep download children projects option allows user to download the optimized and sweep sub-projects after the simulation is completed.
The Local resource utilizes on-premises computing capabilities, with its performance strictly governed by the hardware specifications of the local device. For applications demanding high simulation efficiency, performance can be enhanced by upgrading CPU/GPU compute power or increasing memory capacity. This resource is best suited for users who require frequent simulations and own high-performance computing hardware.
Local resources allow selection of CPU/GPU computational power. CPU: Enables multi-threaded parallel computing, allowing users to configure the number of threads. GPU: Users can select different GPU IDs to leverage local GPU resources for calculations.
The meanings of the above options are as follows:
Name | Description |
---|---|
Computing Resources | Select the type of computation resources: CPU or GPU (CUDA) supported. |
CPU | This option becomes available when selecting CPU resources, allowing users to set the number of threads for CPU. |
MPI Settings | Set up a multi-machine parallel computing environment. When local resources are selected, no configuration is required. |
Executable Settings | Set the directory for client executable files. |
GPU - 1 Devices | When selecting GPU resources, this option allows users to either manually choose specific GPUs or click the All GPU Devices button to automatically utilize all available GPU resources for computation. |
Preview - test command | Real time display of resource testing commands. |
For projects using Local resources, users select the file path for saving. The related sweep and optimization projects will be automatically saved in the corresponding file directory.
The Remote resource creates a multi-host computing environment using the user's server infrastructure, enabling parallel computing across multiple nodes. It relies on the user's existing server resources, offering scalability to flexibly deploy compute nodes based on different simulation requirements. This model is ideal for enterprises and research institutions with high-performance computing capabilities that need resource sharing and team collaboration.
To utilize Remote computational resources, users must manually configure the MPI environment by installing compatible implementations from the official MPI website. Regardless of whether users use the CPU or GPU, users need to actively set the mpi host. In the mpi host field, specify the target host addresses, separating multiple hosts with English commas. For CPU resources: Users may define the number of processes and threads per host. For GPU resources: Users must enter the GPU IDs (e.g., 0,1) of the host to select the corresponding physical GPU devices for computation. Separate multiple IDs with English commas.
The meanings of the above options are as follows:
Name | Description |
---|---|
Computing Resources | Computation Resources Type Selection:Supported compute types: CPU or GPU (CUDA). |
CPU | This option becomes available when CPU is selected as the compute type, allowing user to set the number of processes and threads per CPU host for resource computation. |
MPI Settings | The three options in the settings are: setting a MPI executable directory, configuring a list of MPI hosts, and defining command-line arguments (some mpiexec tools require extra parameters). |
Executable Settings | Configure client executable file directory. |
GPU | When selecting GPU resources, this option allows users to specify the GPU resources allocated to each MPI host, with GPU IDs separated by commas if the host has multiple GPUs available. |
Preview - test command | Real time display of resource testing commands. |
For projects using Remote resources, users also select a file path for saving. The related sweep and optimization projects will be automatically saved in the corresponding file directory.
Resource test is disabled and will be skipped directly for the Cloud resource.
The Resource Test feature is designed to validate whether the configured resources (Local and Remote) are correctly set up and fully functional, including their MPI and CUDA environments. After completing resource configuration, click the Run tests button to sequentially test all configured resources, and the system will display whether each resource can function properly. During testing, user may click Stop tests to terminate the process.
Upon completion, successful tests will show the message "Test completed successfully" in the Result column. If a test fails, hovering over the corresponding cell in the Result column will display detailed error messages, as shown below.
The Advanced tab is used to configure computational precision and acceleration algorithms for computing resources. The Precision Setting is used to configure the computational precision of the computing resources. The following figure shows the Advanced tab of the SimWorks Cloud FDTD.
Name | Description |
---|---|
FDTD-passive | Select either single precision or double precision by drop-down. |
FDFD | Select either single precision or double precision by drop-down. |
FDE | Select either single precision or double precision by drop-down. |
Mode-matching | It is double precision and read-only by default. |
Acceleration is used to set the type of acceleration algorithm.
Name | Description |
---|---|
AVX | Advanced Vector Extensions (AVX), select either AVX2 or AVX512. |
With MPI, FDTD computation domain is divided into multiple parts, where each process is responsible for a specific computation part. MPI handles communication between multiple processes. Currently, configuring the MPI environment is only required when using Remote resources. For these resources to function properly, users must correctly set up the MPI environment on their local computer.
This section mainly describes differences between CPU and GPU processors, and users can choose appropriate computing resources based on their actual simulation requirements.