اجزای محدود تطابقی دوبعدی به کمک GPGPU

نوع مقاله : مقاله پژوهشی

نویسندگان

1 گروه سازه، دانشکده عمران، دانشگاه صنعتی خواجه نصیرالدین طوسی

2 گروه سازه/دانشکده مهندسی عمران/دانشگاه خواجه نصیرالدین طوسی/تهران/ایران

چکیده

با توجه به امکانات و توانایی‌های جدیدی که پردازنده‌های گرافیکی به کاربران خود جهت انجام محاسبات همه‌منظوره تحت پلتفرم کودا می‌دهند و صرفه اقتصادی مناسب پردازنده‌های گرافیکی نسبت به پردازنده‌های معمولی، در این مقاله سعی شده است الگوریتمی ارائه شود که بتوان با استفاده از پردازش همه‌منظوره بر روی پردازنده‌های گرافیکی زمان انجام محاسبات را کاهش داد. الگوریتم ارائه‌شده بر اساس تحلیل اولیه اجزای محدود، با شبکه تقریبا یکنواخت شروع می‌شود و در هر مرحله بر اساس گرادیان جابه‌جایی و به‌صورت هوشمند، شبکه را ریزسازی می‌کند. الگوریتم معمول این شیوه در چند مرحله بهبود یافته است. مرحله تشکیل وصله به کمک روش K همسایه پیاده‌سازی شده تا بتوان آن را به صورت مؤثرتر موازی نمود. در مرحله انتقال اطلاعات نیز از یک روش دینامیک جهت تعیین بهترین منحنی از دسته بهترین منحنی‌ها استفاده‌شده است. در پیاده‌سازی ایده‌ها از زبان پایتون استفاده‌شده است تا مخاطب بیشتر داشته و به‌صورت کد منبع باز منتشر شود. نتایج نشان می‌دهد که میزان تسریع این الگوریتم متناسب با تعداد المان‌ها افزایش می‌یابد. به‌ عنوان ‌مثال برای مسئله‌ای با تعداد 908 المان، سرعت پردازش برای مراحل یک الی سه از تظریف به ترتیب 6.6، 9.1 و 12.7 برابر شده است. مجموع زمان مورد نیاز برای پردازش هر سه مرحله در حالت سریال 96 ثانیه بوده که با پیاده سازی این الگوریتم به 8 ثانیه کاهش یافته است. نتایج نشان می‌دهد که این نرم افزار می‌تواند برای تسریع آنالیز به روش اجزای محدود تطابقی جهت کاهش خطای گسسته‌سازی استفاده شود.

کلیدواژه‌ها

موضوعات


عنوان مقاله [English]

Two-Dimensional Adaptive Finite Element Using GPGPU

نویسندگان [English]

  • Amir Hossein Khatami 1
  • Saeed Asil Gharebaghi 2
1 Civil Engineering Department, K. N. Toosi University of Technology
2 Structure Div/Civil Eng. Faculty/K.N. Toosi University of Technology/Tehran/Iran
چکیده [English]

Given the new capabilities provided by graphics processing units (GPUs) for general-purpose computing under the CUDA platform, and the economic efficiency of GPUs compared to standard processors, this paper aims to present an algorithm that can reduce computation time through general-purpose GPU processing. The proposed algorithm begins with an initial finite element analysis using a nearly uniform mesh and refines the mesh intelligently at each step based on the displacement gradient. The conventional algorithm has been improved at several points. The patch formation stage is implemented using the K-nearest neighbor method to facilitate more efficient parallelization. In the data transfer stage, a dynamic method is employed to select the optimal curve from a set of the best curves. Python is used for implementation to reach a wider audience and to release the code as open-source. The results show that the acceleration of this algorithm increases proportionally with the number of elements. For instance, for a problem with 908 elements, the processing speed for stages one through three increased by factors of 6.6, 9.1, and 12.7, respectively. The total time required for all three stages in serial processing was 96 seconds, which was reduced to 8 seconds using this algorithm. The results indicate that this software can be used to accelerate adaptive finite element analysis to reduce discretization error in elements.

کلیدواژه‌ها [English]

  • Data Transfer Operator
  • Adaptive Finite Element Method
  • GPU
  • GPGPU
  • Super Convergent Patch Recovery