Version 1.0 of the Tensor Contraction Engine (TCE) is available,
and we are looking for quantum chemists who are interested in
making use of the TCE in their software development efforts and
are willing to work with
us to broaden the capabilities of the TCE and give us
feedback on its use.
TCE v1.0 is the Python-based tool which we often refer to as the
"prototype" TCE. It has already been used to generate
implementations of a broad range of many-body methods. It
provides reasonable performance in most cases (but may or may not
be up to typical hand-coded implementations), and modest parallel
scalability. We are simultaneously working on an
"optimizing" TCE, which is expected to provide much higher
performance and scalability, even better than most hand-written
code. The optimizing TCE is not yet available.
TCE v1.0 is distributed as part of
and code generated by TCE is most easily interfaced with NWChem
(for integrals, reference wavefunction, etc.). There is
nothing intrinsic to the TCE which ties it to NWChem, and it can
be used independently -- we're just not in a position right now to
easily distribute it separately. We do not determine the
schedule of NWChem releases, so you might find that the version in
the distribution lags somewhat behind what you might hear TCE
people talking about. If there's something in particular you
need that's newer, please don't hesitate to contact us.
TCE-generated code has also been interfaced with
UTCHEM from the
University of Tokyo, and there is nothing to prevent it from being
interfaced to other quantum chemistry packages as well, but we
haven't done it yet. Eventually, we would like things to be
much more general and much simpler; the broader experience we have
going into this redesign, the better job we'll be able to do.
Documentation for TCE v1.0 is, er, modest at present. The
slides and the beginnings of a User's Manual, as presented at our
workshop at the
in March 2004, are available below.
we're looking for patient, friendly users who do not expect the
TCE to be a magic wand yet and are willing to work with us to
make it better.
NWChem is free, but requires you to complete a license
agreement. Please see the Downloads section of the NWChem
The current release of NWChem is version 4.6. New releases that
include updated TCE functionality will be announced on the TCE-announce mailing list.
Other Required Software
Code generated by the TCE currently expects to be able to find
certain other libraries. These libraries are also used
extensively within NWChem and are included in the NWChem software
distribution -- you should not need to download them
(there's a good chance it is already on your system)
- Global Arrays
(a distributed array package for parallel computing)
(parallel I/O utilities: Disk Resident Arrays (DRA), Exclusive
Access Files (EAF), Shared Files (SF))
NWChem runs on nearly all platforms of interest to quantum
chemists. TCE-generated code should also run on pretty much
anything, however it has
been tested primarily on Linux platforms so far. The TCE
itself should run anywhere Python will run, including Windows.
TCE/OCE Implemented Methods
Here is a list (certainly incomplete) of some of the methods that
have already been implemented with the TCE. Links point to
OCE input files.
- CCD, CCSD, CCSDT, CCSDTQ
- iterative MBPT(2), MBPT(3), MBPT(4)
- EOM-CCSD, EOM-CCSDT, EOM-CCSDTQ
- CCSD-lambda/dipole, CCSDT-lambda/dipole, CCSDTQ-lambda/dipole
- LCCD, LCCSD
- CISD, CISDT, CISDTQ
- one-component relativistic of all of the above
- two- and four-component relativistic
except for EOM-CC (in UTChem), CCSD(T), CCSD[T]
- integral-direct CCSD, avoiding <ab||ci> and <ab||cd>
- Localized orbital/AO CCSD/MBPT (currently sequential only)
- CCSD(T) using AO basis <ab||cd>
- CEPA, CEPA(T)
From the March 2004 Sanibel Symposium workshop:
- Computer Aided Implementation of Many-Body Methods:
The Tensor Contraction Engine (Marcel Nooijen, University of Waterloo)
- Structure of TCE (So Hirata, Pacific Northwest National Laboratory)
- User's Manual (Alex Auer)
- Sample inputs and outputs for CCSD and scripts for running OCE/TCE
- Future Plans (P. Sadayappan)
These references include discussions specifically relevant to the
v1.0 TCE. For a comprehensive list of publications relating to the
TCE, please return to our
Many of the papers there relate to optimizations being developed
for the optimizing TCE.
- Higher-order equation-of-motion coupled-cluster equations.
S. Hirata, J. Chem. Phys.
Third-order Douglas–Kroll relativistic coupled-cluster
theory through connected single, double, triple, and
quadruple substitutions: Applications to diatomic and
S. Hirata, T. Yanai, W. A. de
Jong, T. Nakajima, and K. Hirao,
J. Chem. Phys.
120, 3297-3310 (2004).
Tensor Contraction Engine:
Abstraction and Automated Parallel Implementation of
Configuration-Interaction, Coupled-Cluster, and Many-Body
So Hirata, J. Phys. Chem. A
107, 9887-9897 (2003),
Synthesis of High-Performance Parallel Programs for a Class
of Ab Initio Quantum Chemistry Models.
G. Baumgartner, A. Auer, D.E. Bernholdt, A. Bibireata, V. Choppella,
D. Cociorva, X. Gao, R.J. Harrison, S. Hirata, S. Krishnamoorthy,
S. Krishnan, C. Lam, M. Nooijen, R.M. Pitzer, J. Ramanujam,
P. Sadayappan, A. Sibiryakov. Proceedings of the IEEE,
submitted November 2003, to appear.
A High-Level Approach to Synthesis of High-Performance Codes for
G. Baumgartner, D.E. Bernholdt, D. Cociorva, R.J. Harrison, S. Hirata,
C. Lam, M. Nooijen, R.M. Pitzer, J. Ramanujam, P. Sadayappan.
In Proceedings of Supercomputing 2002,
Baltimore, Maryland, 16-22 November 2002.
IEEE Computer Society Press, 10 pages.
This work has been supported by the following sponsors:
We also wish to express our gratitude to the organizers of the
and in particular
Prof. Rod Bartlett
for providing the venue and otherwise facilitating our
- At PNNL by the U.S. Department of Energy, Office of Basic
Energy Science and Office of Biological and Environmental
Research under contract DEAC06-76RLO 1830 with Battelle Memorial
- At OSU, Waterloo, and LSU by the National Science Foundation
(NSF) Information Technology Research (ITR) Program
- At ORNL by the Laboratory Directed Research and Development
Program. Oak Ridge National Laboratory is managed by
UT-Battelle, LLC for the U. S. Dept. of Energy under contract
Last update: $Date: 2005/08/20 06:05:10 $