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.

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, nor will it be added in the future, 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 very recently (fall 2008), due to its historical roots, the package name was "PC GAMESS", and it was distributed as the part of GAMESS (US) distribution from the ISUQCG web site. As of Autumn 2008, the Firefly Project Team, as well as Firefly itself are no longer associated with GAMESS (US) and ISUQCG group. Starting December 4, 2009, the only valid name for the former PC GAMESS package is the "Firefly" one.

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-10% 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: various Windows versions (Windows 7, 2008, Vista, 2003, XP, 2000, NT, 98/Me), OS/2, and even for ancient DOS (using Phar Lap|386 DOS-extender). There are also several different native Linux distributions of Firefly linked with various MPI implementations available for this OS. And now, by popular demand, Firefly runs under Mac OS X/Intel as well!

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. Firefly version 8.0.0 prerelease binaries can be found on our beta test pages


You must use the following Firefly Reference in your publications:

    Alex A. Granovsky, Firefly version 7.1.G, 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 7.1.G, 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. 7.1.G versions of Firefly, PC GAMESS/Firefly, and PC GAMESS

As of December 4, 2009, the support of any Firefly, PC GAMESS/Firefly, and PC GAMESS versions earlier than the Firefly version 7.1.G was abandoned and all the corresponding user licenses were terminated. Therefore, users of the outdated PC GAMESS, PC GAMESS/Firefly, or Firefly binaries (version 7.1.F and all earlier versions of Firefly or PC GAMESS/Firefly, and older PC GAMESS releases) are required to discontinue their use of the PC GAMESS/Firefly or PC GAMESS and upgrade to Firefly 7.1.G or 8.0.0 RC.



Copyright © 1994-2013 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.