parallel computing experiences with cuda .
Optimization principles and application performance evaluation of a multithreaded GPU using CUDA