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:- Operating system (64-bit Linux, 64-bit Windows)
- If you have GPUs, the NVIDIA driver version. The version you download must be less than or equal to the version of your installed driver. It is recommended that you update your driver to the latest version and run the latest version of this software.
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.
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 |
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:
- Add http://www.fmslib.com as a trusted site.
Navigate to Internet Options/Security/Trusted sites/Sites
Uncheck the box "Require server verification (https:) for all sites in this zone"
Enter http://www.fmslib.com in the upper box and then click Add - Enable downloads
Navigate to Internet Options/Security/Internet/Custom level
Scroll down to "Downloads" and click Enable
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
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"
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.
- Linux
- Enter the command
df -T
to list the available mount points and the type of file system they use. -
Optionally create a new directory on one of these mount points or its subdirectory. For example
mkdir /usr/tmp/FMS
-
Point to the directory using one of the following two methods:
- Set an environment variable
export FMSDISK=/usr/tmp/FMS (ksh)
or
setenv FMSDISK /usr/tmp/FMS (csh)
- Create a soft link
- Change to the directory where you installed FMS and will be running your application
cd (directory containing FMS software)
-
Create a soft link pointing to the directory you established under 2 above
ln -s /usr/tmp/FMS FMSDISK
- Change to the directory where you installed FMS and will be running your application
- Set an environment variable
- Enter the command
- Windows
- Using Windows Explorer (right-click on the Windows icon in the lower left corner) find a location where you want to store the FMS data.
-
Optionally create a new folder. For example you could create a folder named FMS in C:\Temp
C:\Temp\FMS
-
Create an environment variable named FMSDISK to point to that directory.
- Open the control panel
- Select System
- Select Advanced system settings
- Select Environment Variables
- Under System variables select New
- Enter FMSDISK under Variable name
- Enter the directory you created under Variable value. For the case above, enter C:\Temp\FMS
- select OK
- select OK again
- select OK again
5. Define additional Environment variables.
The following environment variables define directories where files are located or generated.- FMS_LICENSE
Directory containing fmslic.txt
Default value: Current working directory. - FMSMAN
Directory containing FMS_Manual.html
Default value: http://www.fmslib.com/fmsman - FMSHTML
Directory where html files from the performance report are written.
Default value: Current working directory.
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.
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 |
(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:
- Linux
./link_exm.ksh
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: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:- mwlic.txt from MatrixWarrior,
- exlic.txt from DEMO or the EXAMPLE problems.
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:
- Right to use the software,
- Support in English by Email,
- Maintenance and updates,
- Documentation in html format (which you have already downloaded in Step 1)
- Distribution over the Internet (which you have already downloaded in Step 2)
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,E-mail: rcy@fmslib.com