- Dynamically loaded shared object libraries.
Now a single version of FMS and your application can run on a variety of machines with different hardware and software available. At startup FMS detects the presence of supporting shared object libraries and loads them if available. The optional libraries include:
Optional Dynamically Loaded Libraries Library Linux Windows 64 Windows 32 NVIDIA BLAS libcublas.so cublas64_(1).dll cublas32_(1).dll NVIDIA Management Library libnvidia-ml.so nvml.dll N/A NUMA libnuma.so.1 N/A N/A
In addition to these libraries, FMS also detects the presence of required hardware.
Linking your application now uses the same libraries for all hardware configurations.
Required FMSlib Libraries Library Linux Windows 64 Windows 32 Linking fmsnoshr.a
Shared Object fmsshr.so fmsshr.dll fmsshr.dll
- Using GPUs:
To use GPUs the appropriate NVIDIA software including the driver, CUBLAS library and NVML library must be installed. In addition, one or more GPUs with compute capability 1.3 or greater must be available. When these conditions are met, FMS will automatically use the GPU hardware. If any of these conditons are not met, FMS will automatically run without GPUs.
If you have the GPU software and hardware and choose to run without GPUs, you can specify
MAXGPU=0in the license file.
- Using Nonuniform Memory Access (NUMA) technology:
On Linux systems with a large number of processors, FMS offers the capability of binding threads to processor cores and allocating memory locally to each processor. This can significantly reduce communication and improve performance on large systems.
To use this technology, FMS must find the file libnunma.so.1. In addition the FMS Parameter NUMAFL must be set in the license file. If these conditions are not met, FMS runs without binding threads and memory is allocated globally.
Typically systems with greater than 64 processing cores can benefit from this technology.
- Support for NVIDIA Quadro and GeForce GPUs
This version of FMS supports all NVIDIA GPUs, including those designed primarily for graphics applications. This includes a GPU that may also be used for the display. While these GPUs can provide a performance benefit, they do not include Error Correcting Code (ECC) memory. Therefore FMS prints a warning message that ECC is not available on these GPUs before using them. FMS continues to support TESLA GPUs, which include ECC memory. TESLA GPUs provide the best performance for FMS applications.
New FMS Parameters
Percent of available GPU memory to use.
New Example Problems
This example generates an 8-node brick finite element mesh and uses FMSlib to assemble the matrix and solve the equations.