Introduction to the Firefly



The official Firefly Logo

What is Firefly?

Firefly (previously known as the PC GAMESS) is a freely available ab initio and DFT computational chemistry program developed to offer high performance on Intel-compatible x86, AMD64, and EM64T processors. Firefly package is being developed by the Firefly Project Team. The project coordinator and leading developer is Dr. Alex A. Granovsky. A number of other researchers have made significant contributions to the project over last years, especially those of Drs. Anastasia V. Bochenkova and James W. Kress are to be mentioned.

Firefly has a rather long history. The project was launched in 1994. Initially, it was named "the PC GAMESS" and was based on the GAMESS (US) source code of ISUQCG (versions of up to October 25, 1999), while extending its functionality in many important areas. However, since 1999, no part of the GAMESS (US) was incorporated into the PC GAMESS, as the development of the PC GAMESS (now Firefly) became completely independent of the GAMESS (US) development. Nevertheless, the high-level compatibility of input and output files between these two packages was enforced to as much extent as possible for different programs.

However, until 2008, due to its historical roots, the package name was "the PC GAMESS", and it was distributed as the part of GAMESS (US) distribution from the ISUQCG web site. Since autumn 2008, the Firefly Project Team, as well as Firefly itself became completely disassociated from ISUQCG group and with GAMESS (US). Since December 4, 2009, the package name was finally changed to "Firefly".

Design Philosophy for Speed

Initially, all time-critical sections of the legacy GAMESS (US) code were modified to achieve the maximum possible performance. Over time, almost all of legacy parts were rewritten from the scratch or completely replaced by the much more efficient code developed by the Firefly team. At moment, Firefly includes no more than 5% of the legacy code.

Furthermore, very efficient assembler-level libraries, both self-made and those provided by vendors like Intel's MKL are used throughout. Most of the Firefly source code is compiled by the set of several high-quality Fortran and C compilers (in particular, Intel Compilers vv. 6.0-9.1), while very flexible but somewhat outdated Watcom Fortran 77 compiler v. 11.0 is used primary as a glue to compile the rest of the sources and to link all the different style object modules and libraries together to produce the working Firefly binaries.

Design Philosophy for Features

Firefly has been constantly being developed to incorporate new functionality, improve performance, and extend existing features. For example, Firefly uses real time data compression/decompression, efficient modern algorithms of 2-e integral evaluation for direct calculation methods, very efficient MP2 energy and energy gradient modules, very fast RHF MP3/MP4 energy code, and state-of-the-art DFT, TDDFT, MCSCF, MRMP2, MCQDPT, and XMCQDPT implementation. Firefly runs parallel on SMP systems, clusters of computers, or both; with special attention paid to good scalability even on large clusters and many-core systems.

How to obtain Firefly

Firefly is freely available for all main PC operating systems: Windows, Linux, and Mac OS X. Firefly supports various Windows versions including Windows 10, Windows 8, Windows 7, Windows Server 2008, Vista, 2003, XP, 2000, NT, and 98/Me. There are also several different native Linux distributions of Firefly linked with various MPI implementations available for this OS. Finally, the specially configured Windows Firefly binaries run sequentially or in parallel under Mac OS X/Intel using the dedicated version of Wine yet without incurring any performance penalty.

The most current officially released binaries are Firefly version 8.2.0. The latest Windows/Linux Firefly binaries are directly available from the Downloads section of the Firefly web server. Mac OS X/Intel distribution files can be found on our Firefly for MAC OS X page.


You must use the following Firefly Reference in your publications:

    Alex A. Granovsky, Firefly version 8, www http://classic.chem.msu.su/gran/firefly/index.html

This reference should be explicitly given in the appropriate section of your paper just like any other regular references are. Specifically, this should not be just a reference given in pass within the main body of paper. The recommended form of citation is as follows:

    Firefly QC package [1], which is partially based on the GAMESS (US) [2] source code.

  1.     Alex A. Granovsky, Firefly version 8, www http://classic.chem.msu.su/gran/firefly/index.html

  2.     M.W.Schmidt, K.K.Baldridge, J.A.Boatz, S.T.Elbert, M.S.Gordon, J.H.Jensen, S.Koseki, N.Matsunaga, K.A.Nguyen, S.Su, T.L.Windus, M.Dupuis, J.A.Montgomery J.Comput.Chem. 14, 1347-1363 (1993)



Note for users of pre-Firefly v. 8.0 versions of Firefly, PC GAMESS/Firefly, and PC GAMESS

As of September 5, 2013, the support of any Firefly, PC GAMESS/Firefly, and PC GAMESS versions earlier than the Firefly version 8.0.0 is abandoned and all the corresponding user licenses are terminated. Therefore, users of the outdated PC GAMESS, PC GAMESS/Firefly, or Firefly binaries (i.e. Firefly version 7.1.G and all earlier versions of Firefly, PC GAMESS/Firefly, and older PC GAMESS releases) are required to discontinue their use of outdated releases and upgrade to Firefly 8.2.0



Copyright © 1994-2016 by Alex A. Granovsky

Web design by Kalju Kahn and Alex A. Granovsky

Firefly icon and logo original design by Lyndsey Vernon, Chemistry, University of Liverpool

You are the th person, who visited this page since May 20, 1997.