بررسی تاثیر تنظیمات پارامترهای سخت¬افزاری بر انرژی مصرفی در الگوریتم ضرب برداری ماتریس¬های تنک بر روی پردازنده¬های گرافیکی
محورهای موضوعی : عمومىمینا عاشوری 1 , فرشاد خون جوش 2 *
1 - مهندسی معماری کامپیوتر، دانشگاه شیراز، شیراز
2 - دانشگاه شیراز
کلید واژه: ضرب برداری ماتریس¬های تنک, انرژی مصرفی, کارآیی, قالب¬های ذخیره سازی تنک, پردازنده¬ی گرافیکی,
چکیده مقاله :
ضرب برداری ماتریس های تنک الگوریتمی ساده اما بخش بسیار مهمی از برنامه های جبر خطی و علمی در حوزه ی ریاضی و فیزیک است و به دلیل طبیعت قابل موازی سازی آن، پردازنده های گرافیکی یکی از گزینه های بسیار مناسب و مهم برای انتخاب بستر اجرایی آن است. در طی سال های اخیر با توجه به تاکید محققان برای در نظر گرفتن انرژی مصرفی به عنوان یکی از اهداف اصلی طراحی در کنار کارآیی، تلاش های بسیار کمی جهت بهبود انرژی مصرفی این الگوریتم بر روی پردازنده ی گرافیکی انجام شده است. در این مقاله از منظر بهینگی مصرف انرژی در کارآیی به دست آمده، به این مسئله پرداخته شده است. با بهره وری از قابلیت تنظیم پیکربندی که در پردازنده های گرافیکی مدرن معرفی شده است، با بررسی آماری رفتار این الگوریتم هنگام استفاده از قالب های مختلف ذخیره سازی ماتریس تنک و تنظیمات مختلف سخت افزاری برای بیش از 200 ماتریس نمونه ی تنک، بهترین تنظیمات پیکربندی برای الگوریتم ضرب برداری ماتریس تنک با قالب های مختلف ذخیره سازی بر روی پردازنده ی گرافیکی به دست آمده است. این پیکربندی برای هر قالب ذخیره سازی، به گونه ای انتخاب شده است که در تمام نمونه های بررسی شده به عنوان بهترین پیکربندی نتیجه داده باشد.
Multiplication of thin algorithmic matrices is a simple but very important part of linear and scientific algebra programs in mathematics and physics, and due to its parallel nature, GPUs are one of the most suitable and important options. To select its executive platform. In recent years, due to the emphasis of researchers to consider energy consumption as one of the main design goals along with efficiency, very little effort has been made to improve the energy consumption of this algorithm on the GPU. In this article, this issue is addressed from the perspective of energy efficiency in efficiency obtained. Utilizing the configuration capability introduced in modern GPUs, by statistically examining the behavior of this algorithm when using different thin matrix storage formats and different hardware settings for more than 200 matrices Slim example, the best configuration settings for the thin matrix multiplication algorithm with different storage formats on the GPU are obtained. This configuration for each storage format is selected to give the best configuration in all samples tested.
1. J. Im and K. Yelick, “Optimization of Sparse Matrix Kernels for Data Mining,” in Proc. of the Workshop on Text Mining, 2001.
2. L. N. Trefethen and D. Bau, III, Numerical Linear Algebra. Society for Industrial and Applied Mathematics,1997.
3. R. Gilbert, S. Reinhardt, and V. B. Shah, “Highperformance Graph Algorithms from Parallel Sparse Matrices,” in Proc. of the Int’l Workshop on Applied Parallel Computing, 2006.
4. Owens JD, Luebke D, Govindaraju N, Harris M, Krüger J, Lefohn AE, Purcell TJ (2007) “A survey of general-purpose computation on graphics hardware,” In: Computer graphics forum, vol 26. Wiley Online Library, pp 80–113.
5.Bell and M. Garland, “Efficient sparse matrix-vector multiplication on CUDA,” Nvidia Technical Report NVR-2008-004, Nvidia Corporation2008.
6. S. Yan, C. Li, Y. Zhang, and H. Zhou, “yaspmv: Yet another spmv framework on gpus,” in ACM SIGPLAN Notices, 2014, pp. 107-118.
7. J. W. Choi, A. Singh, and R. W. Vuduc, “Model-driven autotuning of sparse matrix-vector multiply on GPUs,” in ACM Sigplan Notices, 2010, pp. 115-126.
8. Bolz, Ian Farmer, Eitan Grinspun, and Peter Schrooder, “Sparse matrix solvers on the GPU: Conjugate gradients and multigrid,” ACM Trans. Graph., 22(3):917-924, 2003.
9. R. Gilbert, S. Reinhardt, and V. B. Shah, “Highperformance Graph Algorithms from Parallel Sparse Matrices,” in Proc. of the Int’l Workshop on Applied Parallel Computing, 2006.
10. NVIDIA, “NVIDIA Corporation. CUDA Toolkit Reference Manual, 8.0 edition. Available on line at: http://developer.nvidia.com/cuda-toolkit-80.
11. Benatia, W Ji, Y Wang, F Shi, “Energy evaluation of Sparse Matrix-Vector Multiplication on GPU “ in Green and Sustainable Computing Conference ,2016, p. 1-6. N.
12. Bell and M. Garland, “Implementing sparse matrix-vector multiplication throughput-oriented processors,” In Proc. of Int'l Conf. on High Performance Computing Networking, Storage and Analysis, SC '09, pages 18:1-18:11. ACM, 2009.
13. S. Mullen, M. M. Wolf, and A. Klein, “Pakck: Performance and power analysis of key computational kernels on cpus and gpus,” in High Performance Extreme Computing Conference (HPEC), 2013 IEEE, 2013, pp. 1-6.
14. H. Anzt, S. Tomov, and J. Dongarra, “Energy efficiency and performance frontiers for sparse computations on GPU supercomputers,” in Proceedings of the sixth international workshop on programming models and applications for multicores and manycores, 2015, pp. 1-10.
15. Burtscher, I. Zecena, and Z. Zong, “Measuring GPU power with the K20 built-in sensor,” in Proceedings of Workshop on General Purpose Processing Using GPUs, 2014, p. 28.
16. S. Song, C. Su, B. Rountree, and K. W. Cameron, “A simplified and accurate model of power-performance efficiency on emergent gpu architectures,” in Parallel & Distributed Processing (IPDPS), 2013 IEEE 27th International Symposium on, 2013, pp. 673-686.
17. Zardoshti, P., Khunjush, F. & Sarbazi-Azad, H, “Adaptive sparse matrix representation for efficient matrix–vector multiplication,” Journal of Supercomputing (2016) 72: 3366. https://doi.org/10.1007/s11227-015-1571-0.
18. NVIDIA, “NVIDIA Corporation (2014) Tuning CUDA applications for Kepler,” Technical report, August 2014. http://docs.nvidia.com/cuda/pdf/Kepler_Tuning_Guide.pdf