./fmssr "Download and Install FMSlib"

Installing FMS

This page contains instructions on how to download and install FMSlib and supporting software.

1. Download FMSlib

The product that is right for you depends on the following 2 items: If you are unsure about your hardware and software, start with the first version in the list for your operating system (Linux or Windows).

The most recent version of the software contains performance features that take advantage of new features in GPU hardware. At startup, FMSlib determines the compute capability of your hardware. If it meets the requirements, the latest software is used. If it detects that you have older hardware, it automatically switches to the version appropriate for your system.
Linux
Product Size/Updated OS CUDA CPU Processor
FMS_Linux_CUDA116.tar.gz Size= 194M bytes
Updated Thursday, 26-Jan-2023 12:45:37 MST
64-bit Linux 11.6 64-bit Intel or AMD
FMS_Linux_CUDA112.tar.gz Size= 146M bytes
Updated Thursday, 14-Apr-2022 17:58:26 MDT
64-bit Linux 11.2 64-bit Intel or AMD
FMS_Linux_CUDA101.tar.gz Size= 112M bytes
Updated Monday, 11-Mar-2019 10:41:43 MDT
64-bit Linux 10.1 64-bit X86 with SSE42 or newer instructions
FMS_Linux_CUDA10.tar.gz Size= 81M bytes
Updated Monday, 11-Mar-2019 10:52:02 MDT
64-bit Linux 10.0 64-bit X86 with SSE42 or newer instructions
FMS_Linux_CUDA91.tar.gz Size= 71M bytes
Updated Saturday, 28-Apr-2018 18:00:18 MDT
64-bit Linux 9.1 64-bit X86 with SSE42 or newer instructions
FMS7_Linux_CUDA80.tar.gz Size= 32M bytes
Updated Monday, 15-May-2017 14:26:39 MDT
64-bit Linux 8.0 64-bit X86 with SSE42 or newer instructions
Windows
Product Size/Updated OS CUDA CPU Processor
FMS_W64_CUDA116.exe Size= 314M bytes, Updated Friday, 15-Apr-2022 10:17:32 MDT 64-bit Windows 11.6 64-bit Intel or AMD
FMS_W64_CUDA112.exe Size= 195M bytes, Updated Friday, 15-Apr-2022 10:14:52 MDT 64-bit Windows 11.2 64-bit Intel or AMD
FMS_W64_CUDA101.exe Size= 79M bytes, Updated Wednesday, 03-Jul-2019 23:50:50 MDT 64-bit Windows 10.1 64-bit X86 with SSE42 or newer instructions
FMS_W64_CUDA10.exe Size= 77M bytes, Updated Thursday, 04-Jul-2019 07:33:11 MDT 64-bit Windows 10.0 64-bit X86 with SSE42 or newer instructions
FMS_W64_CUDA91.exe Size= 71M bytes, Updated Wednesday, 25-Apr-2018 15:02:29 MDT 64-bit Windows 9.1 64-bit X86 with SSE42 or newer instructions
FMS7_W64_CUDA80.exe Size= 38M bytes, Updated Monday, 15-May-2017 11:11:22 MDT 64-bit Windows 8.0 64-bit X86 with SSE42 or newer instructions
FMS7_W64_CUDA65_SSE2.exe Size= 29M bytes, Updated Monday, 15-May-2017 11:18:59 MDT 64-bit Windows 6.5 64-bit X86 with SSE2 instructions
(For older machines)
FMS7_W32.exe Size= 21M bytes, Updated Monday, 15-May-2017 11:28:26 MDT 32-bit Windows 6.5 32 or 64-bit X86

NOTE: If you are using Windows to download and encounter any security messages, you may need to do one of the following:

2. Install FMSlib

Linux

gunzip FMS71_Linux_CUDA91.tar.gz
tar -xvf FMS71_Linux_CUDA91.tar

Windows

If you saved the files during the download, double-click on the product.
It will self-extract to C:\FMS. You will be given the option of changing this directory during the installation.

Build Date

Each release of the FMSlib software is time-stamped with the build date. If you have multiple releases of FMSlib on your system, you can use this tool to uniquely identify the software. To obtain the date, run the follwing command:

./FMSBuildDate

The output is in the form mmddyyyy.

3. Install GPU software

If you are not using GPUs, skip to Step 4.

Obtaining NVIDIA Software

You may obtain the latest NVIDIA drivers from their website at:

http://www.nvidia.com/Download/index.aspx

This link also includes instructions for installing the NVIDIA software.

The NVIDIA software consists of two components:

1. A Device Driver

This provides the low-level interface to the hardware. Its function is similar to other device drivers (printers, etc.) You may determine which driver is installed on your system by running the command
nvidia-smi -a .

If the program nvidia-smi is not in your PATH, you may need to include the PATH in the above command:

(Linux) /usr/bin/nvidia-smi -a
(Windows) "C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe -a"

The driver number listed must be equal to or greater than the version of FMSlib you are installing. FMSlib uses the following shared-object libraries provided by this driver installation:

NVIDIA Device Driver Software used by FMSlib
Operating System Default Install Directory Files Used
64-bit Linux /usr/lib64 libnvidia-ml.so
64-bit Windows C:\Program Files\NVIDIA Corporation\NVSMI NVML.DLL

2. Compute Unified Device Arcitecture (CUDA) libraries (CUDA Toolkit)

The CUDA Toolkit provides utilities for software development. All components from this toolkit required by FMSlib are included with this distribution.

On Linux systems, the necessary components are already linked into FMSlib, which is distributed as a single file.

On Windows systems, the CUBLAS library is provided as a separate file with the distribution. If GPUs are detected, this file is automatically loaded dynamically at runtime.

4. Define the FMS file system

FMS needs to know where you want to store the data on disk. FMS contains options for a file striping system which allows you complete control over where FMS stores the data. Section 6.5 of the FMS manual describes this file striping system in detail.

In the simplest case where only one disk is used, define FMSDISK to point to a directory on that disk. There is a slightly different procedure for performing this under Linux and Windows.

5. Define additional Environment variables.

The following environment variables define directories where files are located or generated.

6. Run MatrixWarrior

The FMS and optional NVIDIA software are now installed. You can now test the installation by running the MatrixWarrior application provided with the distribution. MatrixWarrior will build and solve a system of simultaneous equations. Instructions for running MatrixWarrior can be found in the Quick Start Guide, which is automatically displayed when MatrixWarrior starts, or in the MatrixWarrior section of the FMS manual.

7. Download and install the Intel compilers and Run Time Libraries

FMS is compatible with the following list of compiler options. For convenience, you may want to define the environment variables in the following table.

FMS Environment Variables
64-bit Linux 64-bit Windows
FMS_FORTRAN_COMPILER
ifort ifort
FMS_FORTRAN_FLAGS
(required)
-real_size 64
-integer_size 64
-align:dcommons,rec16byte,sequence
-auto
-reentrancy threaded
-fpic

(optional)
-fma
-fomit-frame-pointer
-axCOMMON-AVX512
-O3
-c
-nologo
-march=core-avx2(1)

(linking)
-threads
-static
-nofor-main(2)
(required)
/real_size:64
/integer_size:64
/align:dcommons,rec16byte,sequence
/auto
/reentrancy:threaded
/iface:cref,nomixed_str_len_arg

(optional)
/Qfma
/Oy
/Qax:COMMON-AVX512
/O3
/c
/nologo

(linking)
/threads
/static

FMS_C_COMPILER
icc icl
FMS_C_FLAGS
(required)
-align
-fpic

(optional)
-axCOMMON-AVX512
-O3
-fma
-fomit-frame-pointer
-c
-nologo
-march=core-avx2(1)

(linking)
-threads
-static
-nofor-main(2)
(required)




(optional)
/Qax:COMMON-AVX512
/O3
/Qfma
/Oy
/c
/nologo

(linking)
/threads
/static
/MT
FMS_ARCHIVE
ar lib
FMS_ARCHIVE_FLAGS
-r /nologo
NOTES:
(1) Setting this flag may provide performance improvements in your code but it will prevent your code from running on systems that do not support this feature.
(2) Use this option if the main program was not written in FORTRAN

8. Link Example Problems and Program DEMO

FMS includes a large number of example problems. One of these is probably close to your application. A description and source code is contained in Chapter 5 of the manual. FMS also contains program DEMO, which is described in Appendix F of the manual. To link the examples and program DEMO using the software installed above, execute the following script provided with the distribution:

NOTE: Starting with the Intel compiler 2013_SP1 the architecture flag changed from

__intel_new_proc_init

to

__intel_new_feature_proc_init

This symbol is defined in the file libirc.a. If you get an unsatisfied external __intel_new_feature_proc_init when linking and your compiler libraries are before SP1, download the new libirc.a and include it in the link.
File Size/Updated OS Processor
libirc.a Size= 605K bytes, Updated Tuesday, 04-Feb-2014 08:21:59 MST 64-bit Linux 64-bit X86 with SSE42 or newer instructions

9. Link Your Application

The following table shows the libraries and options required to link your application with FMSlib:
Linker Options and Libraries
Variable 64-bit Linux 64-bit Windows
FMS_LINKER ifort link
FMS_LINKER_FLAGS -auto
-threads
-reentrancy threaded
-fpic
-ftz
/ENTRY:mainCRTStartup
/LARGEADDRESSAWARE
/MACHINE:X64
/NODEFAULTLIB:MSVCRT
FMS_LIBRARY fmsnoshr.a
fmsshr.so
fmsnoshr.lib
fmsshr.lib
FMS Shared Object fmsshr.so fmsshr.dll

10. License Files

FMSlib uses a .txt license file for authorizaton and to set Parameter values at startup. The following license files are automatically generated when the corresponding applications are run for the first time:

If a license file by that name does not exist, it will automatically be generated. If one exists, the existing file will be used.

To use FMS in your application requires a commercial license file fmslic.txt.

FMS is licensed on an annual basis. The license fee includes the following:

11. FMS Manual

The manual for FMS is available in HTML and PDF formats. Either version may be viewed online or downloaded. To obtain information on viewing or downloading the manual, click on the FMS Manual link at the top of this page.

12. Getting Help

For additional information, or to obtain a quotation,
mailbox
E-mail: rcy@fmslib.com