  We present an algorithm for parallelising the TreePM code. We use both
functional and domain decompositions. Functional decomposition is used to
separate the computation of long range and short range forces, as well as the
task of coordinating communications between different components. Short range
force calculation is time consuming and benefits from the use of domain
decomposition. We have tested the code on a Linux cluster. We get a speedup of
31.4 for 128^3 particle simulation on 33 processors; speedup being better for
larger simulations. The time taken for one time step per particle is 6.5 micro
seconds for a 256^3 particle simulation on 65 processors, thus a simulation
that runs for 4000 time steps takes 5 days on this cluster.
