  Neural network training entails heavy computation with obvious bottlenecks.
The Compute Unified Device Architecture (CUDA) programming model allows us to
accelerate computation by passing the processing workload from the CPU to the
graphics processing unit (GPU). In this paper, we leveraged the power of Nvidia
GPUs to parallelize all of the computation involved in training, to accelerate
a backpropagation feed-forward neural network with one hidden layer using CUDA
and C++. This optimized neural network was tasked with predicting the level of
glycated hemoglobin (HbA1c) from non-invasive markers. The rate of increase in
the prevalence of Diabetes Mellitus has resulted in an urgent need for early
detection and accurate diagnosis. However, due to the invasiveness and
limitations of conventional tests, alternate means are being considered.
Limited Joint Mobility (LJM) has been reported as an indicator for poor
glycemic control. LJM of the fingers is quantified and its link to HbA1c is
investigated along with other potential non-invasive markers of HbA1c. We
collected readings of 33 potential markers from 120 participants at a clinic in
south Trinidad. Our neural network achieved 95.65% accuracy on the training and
86.67% accuracy on the testing set for male participants and 97.73% and 66.67%
accuracy on the training and testing sets for female participants. Using 960
CUDA cores from a Nvidia GeForce GTX 660, our parallelized neural network was
trained 50 times faster on both subsets, than its corresponding CPU
implementation on an Intel Core (TM) i7-3630QM 2.40 GHz CPU.
