چگونه تعداد هستههای CPU را برای حل سریعتر در انسیس تنظیم کنیم؟
در دنیای تحلیلهای مهندسی، زمان به معنای واقعی کلمه، هزینه است. هرچه یک شبیهسازی پیچیدهتر باشد، زمان حل آن طولانیتر شده و این امر میتواند بهرهوری مهندسان و سرعت عرضه محصولات به بازار را به شدت تحت تأثیر قرار دهد. یکی از اصلیترین و مؤثرترین راهها برای افزایش سرعت حل در انسیس، بهرهگیری از پردازش موازی (Parallel Processing) از طریق افزایش تعداد هستههای پردازنده (CPU) است. این رویکرد به نرمافزار اجازه میدهد تا محاسبات سنگین را بین چندین هسته تقسیم کرده و زمان لازم برای رسیدن به نتیجه را به طور چشمگیری کاهش دهد.
این مقاله به صورت جامع، ابتدا دلایل تأثیرگذاری تعداد هستهها بر عملکرد را بررسی کرده، سپس محدودیتهای کلیدی مرتبط با لایسنسینگ را توضیح میدهد و در نهایت، راهنمای گامبهگام تنظیمات در نرمافزارهای مختلف انسیس به همراه بهترین شیوهها برای دستیابی به حداکثر کارایی را ارائه خواهد کرد.
آنچه در این مقاله میخوانید
بدنه اصلی: از تئوری تا عمل
چرا افزایش تعداد هستهها سرعت حل را بهبود میبخشد؟
درک اصول پردازش موازی و تأثیر آن بر گردش کار شبیهسازی به مهندسان کمک میکند تا تصمیمات آگاهانهتری برای بهینهسازی تحلیلهای خود بگیرند. گردش کار یک تحلیل المان محدود (FEA) به طور کلی به سه مرحله اصلی تقسیم میشود که تأثیرپذیری هر یک از قدرت پردازشی سیستم متفاوت است:
پیشپردازش (Pre-processing): این مرحله شامل وارد کردن مدل، تعریف مواد و ایجاد مش (Mesh) است. این فرآیند بیشتر تعاملی بوده و به سرعت عمل مهندس و همچنین حافظه سیستم (RAM) وابسته است.
حل (Solution): این مرحله که شامل محاسبات سنگین ماتریسی برای حل معادلات است، بیشترین زمان را در فرآیند شبیهسازی به خود اختصاص میدهد. تکمیل این مرحله تقریباً به طور کامل به سرعت سیستم وابسته است، نه سرعت مهندس. مرحله حل به شدت به قدرت CPU، میزان حافظه و به خصوص پهنای باند حافظه (Memory Bandwidth) وابسته است و دقیقاً همان جایی است که پردازش موازی بیشترین تأثیر را دارد.
پسپردازش (Post-processing): این مرحله نیز مانند پیشپردازش، تعاملی است و شامل تحلیل نتایج، ایجاد کانتورها و انیمیشنها میشود. پسپردازش بیشتر به حافظه و قدرت پردازنده گرافیکی (GPU) متکی است.
با توجه به اینکه مرحله حل گلوگاه اصلی زمانی در شبیهسازیهاست، افزایش تعداد هستههای CPU میتواند تأثیر شگرفی بر بهرهوری داشته باشد. نتایج بنچمارکهای انجام شده توسط انسیس این موضوع را به وضوح نشان میدهد:
- یک سیستم ۳۲ هستهای در تحلیلهای غیرخطی، به طور متوسط نزدیک به ۷ برابر سریعتر از یک سیستم ۲ هستهای عمل میکند.
- این صرفهجویی در زمان میتواند به بیش از ۸۰ ساعت افزایش بهرهوری در سال برای هر کاربر منجر شود.
- برای درک بهتر، یک شبیهسازی که روی سیستم دو هستهای ۷ ساعت طول میکشد، میتواند روی یک سیستم ۳۲ هستهای به کمتر از یک ساعت کاهش یابد. این تفاوت به مهندسان اجازه میدهد تا در یک روز کاری چندین سناریو را بررسی کنند، نه اینکه منتظر تکمیل یک تحلیل یک شبه بمانند.
این بهبود عملکرد چشمگیر، با بهرهگیری از روشهای پردازش موازی متفاوتی که انسیس برای سناریوهای مختلف ارائه میدهد، ممکن میشود که در ادامه به بررسی آنها میپردازیم.
آشنایی با انواع پردازش موازی در انسیس
انسیس برای بهرهبرداری از سختافزارهای چند هستهای، روشهای مختلف پردازش موازی را ارائه میدهد که هرکدام برای سناریوها و سختافزارهای خاصی بهینهسازی شدهاند. درک تفاوتهای این روشها به انتخاب بهترین گزینه برای تحلیل شما کمک میکند.
پردازش موازی حافظه-مشترک (Shared-Memory Parallel – SMP): این روش روی یک ماشین واحد (مانند یک ورکاستیشن) اجرا میشود که در آن تمام هستههای CPU به یک حافظه مشترک (RAM) دسترسی دارند. این روش برای تعداد هستههای کمتر، معمولاً حداکثر تا ۴ الی ۸ هسته، مؤثر است. با افزایش تعداد هستهها در این حالت، به دلیل ایجاد گلوگاه در پهنای باند حافظه، کارایی آن کاهش مییابد.
پردازش موازی حافظه-توزیعشده (Distributed-Memory Parallel – DMP): این روش میتواند روی یک ماشین واحد یا چندین ماشین متصل به هم در یک شبکه (کلاستر) اجرا شود. در حالت DMP، مدل به دامنههای (Domains) کوچکتر تقسیم شده و هر دامنه به یک فرآیند (Process) جداگانه اختصاص مییابد. این روش مقیاسپذیری (Scalability) بسیار بهتری نسبت به SMP دارد و معمولاً برای ۸ تا ۳۲ هسته کارآمدترین عملکرد را ارائه میدهد.
پردازش موازی ترکیبی (Hybrid Parallel): این روش، همانطور که از نامش پیداست، ترکیبی از دو حالت SMP و DMP است. در این حالت، مدل به چند فرآیند DMP تقسیم شده و هر فرآیند خود از چندین هسته به صورت SMP استفاده میکند.
استفاده از این قابلیتهای قدرتمند، مستقیماً به مدل لایسنسینگ انسیس بستگی دارد که در بخش بعدی به آن میپردازیم.
محدودیت اصلی: لایسنسهای HPC انسیس
مهمترین عاملی که تعداد هستههای قابل استفاده در یک شبیهسازی را تعیین میکند، سختافزار شما نیست، بلکه لایسنسهای High-Performance Computing (HPC) انسیس است. درک این مدل لایسنسینگ برای بهرهبرداری کامل از قدرت سختافزار ضروری است.
Ansys HPC Packs لایسنسهایی هستند که تعداد کل هستههای قابل استفاده در یک حل را مشخص میکنند. با افزایش تعداد این پکها، تعداد هستههای مجاز به صورت تصاعدی افزایش مییابد.
به طور پیشفرض و بدون داشتن هیچ HPC Pack، کاربران میتوانند از ۱ تا ۴ هسته برای حل مسائل خود استفاده کنند. برای استفاده از تعداد هستههای بیشتر، نیاز به تهیه HPC Pack دارید. ساختار افزایش هستهها به شرح زیر است:
تعداد HPC Pack | تعداد کل هستهها |
0 | 4 |
1 | 12 |
2 | 36 |
3 | 132 |
برای مثال، اگر سیستم شما یک پردازنده ۳۲ هستهای داشته باشد اما شما تنها یک لایسنس پایه انسیس (بدون HPC Pack) داشته باشید، نرمافزار تنها از ۴ هسته استفاده خواهد کرد و مابقی هستهها بیکار خواهند ماند.
اکنون که با مبانی تئوری و محدودیتهای لایسنسینگ آشنا شدیم، میتوانیم به سراغ تنظیمات عملی در نرمافزارهای مختلف انسیس برویم.
راهنمای گامبهگام: تنظیم تعداد هستهها در نرمافزارهای مختلف انسیس
فرآیند فعالسازی پردازش موازی و تنظیم تعداد هستهها در محصولات مختلف انسیس ساده است، اما محل این تنظیمات در هر نرمافزار متفاوت است. در ادامه، مراحل دقیق برای نرمافزارهای اصلی انسیس ارائه میشود.
در Ansys Mechanical
از منوی اصلی به مسیر Tools > Solve Process Settings بروید.
در پنجره باز شده، روی دکمه Advanced کلیک کنید.
در قسمت Max number of utilized cores، تعداد هستههای مورد نظر خود را (مطابق با لایسنس و سختافزار) وارد کنید.
روی Ok کلیک کنید تا تنظیمات ذخیره شود.
در Ansys Fluent
هنگام اجرای فلوئنت، در پنجره Fluent Launcher و زیر بخش Processing Options، گزینه Parallel را انتخاب کنید.
پس از انتخاب این گزینه، منوی کشویی برای تعیین تعداد فرآیندها (Processes) ظاهر میشود. تعداد فرآیندها را برابر با تعداد هستههای مورد نظر خود انتخاب نمایید.
در Ansys CFX
پنجره CFX Solver Manager را باز کنید.
در منوی کشویی Run Mode، یکی از گزینههای Parallel را انتخاب کنید (برای اجرا روی یک ماشین، گزینه Platform MPI Local Parallel مناسب است).
در ستون Partitions، تعداد هستههای مورد نظر را وارد کرده و سپس روی Start Run کلیک کنید.
در Ansys Electronics Desktop (HFSS/Maxwell)
از منوی اصلی به مسیر Tools > Options > HPC and Analysis Options بروید.
در پنجره باز شده، روی دکمه Edit کلیک کنید.
در ستون Cores، تعداد هستههای مورد نظر خود را وارد کرده و روی OK کلیک کنید.
تنظیم تعداد هستهها اولین قدم است، اما برای دستیابی به بهترین نتیجه و جلوگیری از مشکلات عملکردی، رعایت نکات تکمیلی زیر ضروری است.
نکات کلیدی و بهترین شیوهها برای عملکرد بهینه
برای دستیابی به حداکثر افزایش سرعت حل در انسیس، صرفاً وارد کردن یک عدد در تنظیمات کافی نیست. بهینهسازیهای سختافزاری و نرمافزاری خاصی وجود دارند که میتوانند تفاوت چشمگیری در عملکرد ایجاد کنند.
غیرفعال کردن Hyperthreading حلگرهای انسیس به شدت به CPU وابستهاند و برای دستیابی به حداکثر کارایی، به هستههای فیزیکی نیاز دارند. قابلیت Hyperthreading که در پردازندههای اینتل وجود دارد، هر هسته فیزیکی را به دو هسته منطقی (Logical) تقسیم میکند. این کار برای بسیاری از کاربردهای عمومی مفید است، اما در محاسبات سنگین مهندسی میتواند باعث کاهش عملکرد شود، زیرا دو رشته محاسباتی برای استفاده از منابع یک هسته فیزیکی با هم رقابت میکنند. قویاً توصیه میشود که این قابلیت از طریق BIOS سیستم غیرفعال شود.
توجه به پهنای باند حافظه پهنای باند حافظه یکی از کلیدیترین عوامل محدودکننده در شبیهسازیهای موازی است. با افزایش تعداد هستهها، تقاضا برای دسترسی به حافظه به شدت افزایش مییابد. پردازندههای دسکتاپ معمولی (مانند Intel Core i9 یا AMD Ryzen 9) معمولاً از حافظه دو کاناله (Dual-Channel) پشتیبانی میکنند که برای بیش از ۸ هسته دچار گلوگاه (Bottleneck) میشود. برای تعداد هستههای بالا، حتماً باید از پردازندههای کلاس ورکاستیشن (مانند Intel Xeon یا AMD Threadripper) استفاده کرد که از کانالهای حافظه بیشتری (چهار، هشت یا دوازده کاناله) پشتیبانی میکنند.
استفاده از حالت پردازش موازی مناسب همانطور که قبلاً اشاره شد، انتخاب بین SMP و DMP بر کارایی تأثیرگذار است. به عنوان یک قاعده کلی:
- برای حداکثر ۴ تا ۸ هسته، حالت SMP (حافظه-مشترک) عملکرد خوبی دارد.
- برای ۸ تا ۳۲ هسته و بیشتر، حالت DMP (حافظه-توزیعشده) به دلیل مقیاسپذیری بهتر، کارآمدتر است.
تنظیم میل ترکیبی پردازنده (CPU Affinity) در CFX در برخی سیستمها، سیستمعامل ممکن است یک فرآیند محاسباتی را در حین اجرا بین هستههای مختلف جابجا کند. این جابجایی میتواند باعث افت عملکرد به دلیل از دست رفتن دادههای موجود در کش (Cache) پردازنده شود. برای جلوگیری از این مشکل در Ansys CFX، توصیه میشود که از آپشن خط فرمان -affinity explicit هنگام اجرای حلگر استفاده شود. این دستور به MPI دستور میدهد تا هر فرآیند را به یک هسته فیزیکی خاص “پین” کند و از جابجایی آن جلوگیری نماید.
با رعایت این نکات، میتوانید اطمینان حاصل کنید که سرمایهگذاری شما بر روی سختافزار و لایسنسهای HPC، به بهترین شکل ممکن به افزایش بهرهوری تبدیل میشود.
جمعبندی و نتیجهگیری
در این مقاله، مسیر بهینهسازی سرعت حل در انسیس از طریق پردازش موازی را به طور کامل بررسی کردیم. نکات اصلی شامل درک تأثیر مستقیم تعداد هستهها بر کاهش زمان محاسبات در مرحله حل، اهمیت شناخت مدل لایسنسینگ Ansys HPC Pack به عنوان پیشنیاز اصلی، مراحل عملی تنظیمات در نرمافزارهای کلیدی انسیس و در نهایت، نقش حیاتی بهترین شیوهها مانند غیرفعال کردن Hyperthreading و توجه به پهنای باند حافظه بود.
با پیروی از این راهنما، مهندسان میتوانند به طور قابل توجهی به افزایش سرعت حل در انسیس دست یابند، بهرهوری خود را بالا ببرند و در زمان کوتاهتری به نتایج دقیقتر و طرحهای بهینهتر دست پیدا کنند.
به عنوان یک توصیه نهایی و کاربردی، این سه گام را همیشه مد نظر داشته باشید:
ابتدا تعداد لایسنسهای HPC موجود خود را بررسی کنید.
سپس تعداد هستههای فیزیکی مناسب را در نرمافزار خود تنظیم نمایید.
در نهایت، همیشه قابلیت Hyperthreading را برای دستیابی به بهترین و پایدارترین عملکرد غیرفعال کنید.