We present the main properties of the spectral-element method, which is well suited for numerical calculations of synthetic seismograms for three-dimensional Earth models. The technique is based upon a weak formulation of the equations of motion and combines the flexibility of a finite-element method with the accuracy of a pseudospectral method. The mesh is composed of hexahedral elements and honors the main discontinuities in the Earth model. The displacement vector is expressed in each element in terms of high-degree Lagrange interpolants, and integrals are computed based upon Gauss-Lobatto-Legendre quadrature, which leads to an exactly diagonal mass matrix and therefore drastically simplifies the algorithm. We use a fluid-solid coupling formulation that does not require iterations at the core-mantle or inner-core boundaries. The method is efficiently implemented on parallel computers with distributed memory based upon a message-passing methodology. We present two large-scale simulations for a realistic three-dimensional Earth model computed on the Japanese Earth Simulator at periods of 5 s and longer.