The present CASTEP code is written in Fortran 2003 using a carefully designed modular structure. It was written to be highly portable, and with parallel computing in mind. It can run on all levels of computing hardware from desktop pcs, through to HPC clusters and National-level supercomputers.
CASTEP employs three levels of parallelism: G-vectors (ie basis-set), k-points, and bands. For certain calculations an additional "Task farming" parallelism is available. All of these parallel strategies may be employed simultaneously to achieve good scaling to well over 1000 processing elements. A version of CASTEP which can take advantage of GPU-based clusters is also available.
For more information on parallelism in CASTEP see the following talk from the CASTEP workshop: