What hardware do you recommend for COMSOL Multiphysics?

Solution Number: 866
Title: What hardware do you recommend for COMSOL Multiphysics?
Platform: All Platforms
Applies to: All Products
Versions: All versions
Categories: Installation
Keywords: hardware recommendation license memory

Problem Description

I am going to buy a new dedicated computer for running COMSOL Multiphysics. What hardware do you recommend?

Solution

Selecting appropriate hardware for optimal COMSOL Multiphysics performance is dependent primarily upon the size of the models that you wish to solve. Different sizes of models have different optimal hardware, so you should choose your hardware based upon the largest models that you anticipate solving.

Model Size and RAM Memory Requirements

The single most important factor in choosing hardware is to determine the physical memory (RAM) needed to solve the largest models you anticipate that you will run. If the amount of memory needed to solve your largest models exceeds the available physical RAM then you will notice a marked decrease in solution speed. Predicting RAM requirements is done by solving smaller models that contain the same physics that you want to solve in your largest models. Monitor the memory used and the degrees of freedom from these smaller models. Fit a curve of the form A x (dof)^N, where A and N are fitting coefficients and dof is the number of degrees of freedom, to the data and use this to predict the memory requirements for your larger models.

Be aware that memory usage versus degrees of freedom can be very different between combinations of physics, so you may need to repeat this procedure for every type of model you wish to solve.

Hardware Recommendations

Once you know your RAM memory requirements, you can select optimal hardware. The following factors affect the performance of the software, starting with the most important.

Number of Processors

COMSOL Multiphysics can take advantage of all of the available processors (CPU's) in a single shared-memory computer and will by default solve using all available resources, utilizing all CPU's in a single shared-memory computer in parallel. However, there is a computational cost to this parallelization that is a function of model size. Therefore, for models that will use less than 16GB of RAM, a single CPU computer is sufficient and recommended. For models that will use between 16-256GB RAM, a dual-CPU (two-socket) computer is recommended. For models needing more than 256GB RAM, solving on a distributed-memory computer (a cluster) becomes a good option. Please contact COMSOL Technical Support for personalized guidance if you anticipate solving models of such size.

There is no benefit, at this time, of using four-socket or eight-socket motherboard systems to solve very large problems, since these do have slower bus speed than two-socket systems. This slower bus speed outweighs the benefit of the additional sockets.

Number of Memory Channels

COMSOL Multiphysics models are typically very memory-intensive, they pass a lot of data back and forth between the CPU and the RAM memory. This is the primary bottleneck in simulation speed. To maximize the speed at which data is passed back and forth between the CPU and RAM, computers use multi-channel memory bus architecture. Having multiple channels lets data get passed back and forth over different channels at the same time, parallelizing the data transfer. Current generation high-end CPU's all have four memory channels.

Memory Speed

RAM memory chips (DIMM's) have a listed maximum clock speed. Current generation maximum memory speed is 2400MHz. However, some entry-level processors cannot support the maximum memory speed and will use a lower memory speed. Your hardware vendor should be able to provide this information.

The maximum memory speed also depends upon how many DIMM's are installed. For example, a typical four-channel single-CPU computer will have four banks (one for each memory channel) and each of these banks has four open slots for a total of 16 open slots. However, if more than two slots are used in any bank then the memory speed does get reduced. For example, if you want to install 16GB of RAM, then install either 4x4GB or 8x2GB DIMM's, rather than 16x1GB. Also, do not install 1x16GB or 2x8GB DIMM's since then some of the memory channels would be unused.

Number of Cores on the CPU

All CPU's have at least one core per memory channel. Having additional cores on the CPU will enable an additional level of parallelization, but this introduces an additional computational cost. In many cases there is only a marginal benefit (and sometimes even a decrease in performance) to using more than two cores per memory channel. Therefore, for a CPU with four memory channels, consider either a four-core or an eight-core CPU, but not substantially more.

If you already have a computer with substantially more than two cores per memory channel, you can change the number of cores used by COMSOL Multiphysics by supplying the option -np to the COMSOL Multiphysics start command or by changing Number of cores in Preferences under Multicore and Cluster Computing. For example, on a dual-CPU machine with 18 cores per processor there are a total of 36 cores and 8 memory channels. On this dual-CPU machine using only 16 cores often results in optimal performance. The optimal Number of cores setting can depend upon model type, solver choice, and model size.

Processor Clock Speed

Processor clock speed is the least important consideration. Solution time is primarily governed by the time that it takes to get data in and out of memory. Unless you have a very small model that does not use a lot of memory the processor speed has only a very minimal effect upon solution time, assuming all other quantities (memory channels, memory speed, cores) are held constant.


General Recommendations

Parametric Sweeps

If you plan to solve for many geometric variations, different meshes, different sets of materials, or other parameters within each unique model then you will be using the Parametric Sweep functionality. For example, a sweep over 10 variations of a part dimension along with a sweep over 10 different materials and 10 different model parameters would require solving a similar model 1000 times, and the solution time when running this as a single job on a single computer will be (in the worst case) just about exactly 1000 times greater.

Solution time for sweeps over large numbers of parameters can be reduced by running jobs in parallel, either on a single computer, using any license type, or on a cluster computer, using the Floating Network License.

To solve in parallel on a single computer, use the Batch Sweep functionality. Running parametric sweeps in parallel on a single computer is only advised if one instance of the model itself is relatively small. For example, if one instance of the model requires 3GB of RAM to solve, then it can make sense to run four simultaneous jobs on a 16GB RAM computer. For very small models, ~1GB RAM to solve, you may see an improvement running as many simultaneous jobs as there are cores. The relative speedup when using Batch Sweep is both model- and hardware-dependent.

To solve Parametric Sweeps in parallel on a cluster, use the Cluster Sweep functionality. There is no limit to the number of parallel jobs that you can run at once (up to the number of of available nodes on the cluster.) You can run on your own cluster or use a third-party cluster. COMSOL maintains a list of Technology Partners who provide on-demand computing resources for cluster computations. Each node of the cluster need only meet the requirements described for running a unique model. For further guidance on cluster hardware, see Knowledge Base 1116.

Always consider if you can avoid large sweeps by using the Optimization Module.

OS

The choice between Windows, Linux, or Mac OS X will not significantly affect performance.

Graphics

We recommend modern AMD FirePro or NVIDIA based dedicated graphics cards. A list of tested graphics cards can be found on the system requirements page. The larger the memory in the graphics card, the more complex models can be visualized. Note that just because a models require large amounts of RAM memory to solve does not necessarily mean it will require a large video card to display, and vice-versa. When using the FNL it is also advantageous to use Client-Server mode.

GPU's

General-purpose computing on graphics processing units (also referred to as GPGPU) or the Intel Phi Co-processor is currently not supported by COMSOL.

Hard Drives

Hard drive speed does not affect COMSOL performance as long as the problem fits into main memory. If main RAM memory is insufficient, the hard drive swap will affect performance severely, regardless of which hard disk you have.

See Also

Selecting hardware for a compute cluster, solution 1116.
COMSOL and Multithreading, solution 1096.


Disclaimer

COMSOL makes every reasonable effort to verify the information you view on this page. Resources and documents are provided for your information only, and COMSOL makes no explicit or implied claims to their validity. COMSOL does not assume any legal liability for the accuracy of the data disclosed. Any trademarks referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark details.