Download and Installation

Yutaka Masuda

August 2026

Back to index.html.

Additional installation

You may see an error message when running a BLUPF90 program. This is usually a system error, not a software bug.

When this occurs, you should install additional software libraries provided by Intel. The BLUPF90 family is compiled with the Intel Fortran Compiler and depends on software libraries such as the Intel oneAPI Math Kernel Library (often called MKL) and the Intel Fortran Compiler runtime library. These library packages are freely available at no charge.

You may need one or both of the packages shown below. Download the packages suitable for your operating system (Windows or Linux).

Note that Intel often changes its page addresses, so an Internet search is the best way to find the current pages. To find the library packages, simply search for “MKL” or “Fortran runtime library.” For details, please check the official DokuWiki page at UGA.

Additional settings

The BLUPF90 programs may use a large amount of memory, especially when the data set is large and a genomic model is applied. Heavy memory consumption often leads to a program crash with a segmentation fault (or bus error). A segmentation fault occurs when a program attempts to access memory in an inappropriate way or location. Note that this error can happen even if your computer has a lot of free memory. This is because the operating system (Linux, macOS, or Windows) imposes limitations on the memory usage of each program. More specifically, the system limits the amount of memory allocated to the stack, and our programs use a large stack to achieve maximum performance.

This is a common issue with large data sets. You may encounter it when updating to a newer version of the program while using the same input files. Even a small code change can affect memory usage.

You can either remove the limitation or increase the stack size. The following settings are recommended even if you haven’t encountered this problem yet. More details are available on our website: http://nce.ads.uga.edu/wiki/doku.php?id=faq.segfault.

Increase stack size

This setting is required on Linux and macOS. First, type the following command in your shell (terminal):

ulimit -s

If it shows unlimited, the configuration is fine. If you see a number (like 8192), it is likely to be a problem. This number represents the stack size and it should be unlimited. To change the stack size, type the following command before running our programs:

ulimit -s unlimited

You can also add this command at the end of your .bash_profile in your home directory. This way, the setting will be applied automatically every time you log in.

Increase stack size for OpenMP

There is a separate setting for defining the stack size for OpenMP. This value is independent of the system stack size explained above. You can set it using an environment variable.

Linux and macOS

To check the current value, type the following command in your shell:

echo $OMP_STACKSIZE

If it shows nothing or a small value such as 4M, it might be too small. The default value is usually 4M, which is likely insufficient. Before running the program, set it using the following command (with no spaces around =):

export OMP_STACKSIZE=64M

This sets the stack size to 64 megabytes. If the program still fails with the same error, increase the size gradually (e.g., to 128M, 192M, etc.). However, a large value can lead to high memory usage because each thread can allocate this much stack. There is no universally appropriate value—it depends on your system, so adjust it empirically.

For a one-time setting, you can add the variable inline when you run the program (no export):

OMP_STACKSIZE=64M ./blupf90

As with ulimit, you can save this setting permanently in your .bash_profile.

Windows

On Windows, you can set the OMP_STACKSIZE environment variable either temporarily through the Command Prompt or permanently through the system settings in Control Panel.

To check the current value, type:

set %OMP_STACKSIZE%

To set a value (e.g., 64 megabytes), type:

set OMP_STACKSIZE=64M

This setting lasts only for the current session, so you must run the BLUPF90 programs in the same session after setting it. To make it permanent, use the Control Panel. For instructions, search for terms such as Windows environment variable using a search engine.

The value should include a number and unit, such as 64M for 64 megabytes. Start with 64M, and if the problem persists, increase the value (e.g., 128M or more). As with other systems, a value that is too large will result in high memory consumption because each thread may use that much memory. You will need to determine an appropriate value based on your computer’s resources.

Useful command-line features

Most BLUPF90 programs support command-line options. Some programs accept only a few command-line options, whereas others are controlled almost entirely through them. Several command-line options are common across many programs, although not all programs support them.

A typical command-line argument is the name of a parameter file (or instruction file) describing the operational details. For example, the following command lets BLUPF90+ read the parameter file param.txt.

blupf90+ param.txt

Major programs accept --help to show a list of possible command-line options.

blupf90+ --help

Some programs accept the option to show a minimal template of the parameter file for analysis (or the instruction file for the renumbering operation).

blupf90+ --show-template

Back to index.html.