  In this paper we describe and demonstrate a C++ code written to determine the
trajectory of particles traversing oriented single crystals and a CUDA code
written to evaluate the radiation spectra from charged particles with arbitrary
trajectories. The CUDA/C++ code can evaluate both classical and quantum
mechanical radiation spectra for spin 0 and 1/2 particles. We include multiple
Coulomb scattering and energy loss due to radiation emission which produces
radiation spectra in agreement with experimental spectra for both positrons and
electrons. We also demonstrate how GPUs can be used to speed up calculations by
several orders of magnitude. This will allow research groups with limited
funding or sparse access to super computers to do numerical calculations as if
it were a super computer. We show that one Titan V GPU can replace up to 100
Xeon 36 core CPUs running in parallel. We also show that choosing a GPU for a
specific job will have great impact on the performance, as some GPUs have
better double precision performance than others.
