This document provides a survey of improving the performance of artificial neural networks (ANNs) through parallel programming on GPUs. It discusses different ANN training strategies that can be parallelized, such as perceptrons, support vector machines, and spiking neural networks. GPUs provide significant speed advantages over CPUs for ANN training. The document reviews various studies that have implemented ANNs using GPUs and FPGAs, finding that GPUs reduce training time compared to CPUs, especially for algorithms involving large matrix operations like support vector machines. Spiking neural networks are better suited to FPGAs or custom circuits due to their complex temporal dynamics. The document concludes that GPUs are generally the best approach for ANN parallelization, but the