آموزش پردازش موازی در اباکوس ABAQUS
آموزش پردازش موازی در اباکوس ABAQUS
بررسی اجمالی
اجرای موازی ABAQUS با استفاده از دو طرح مختلف اجرا می شود: رشته ها و ارسال پیام. Thread ها فرآیندهای سبک وزنی هستند که می توانند وظایف مختلفی را به طور همزمان در یک برنامه انجام دهند. Thread ها می توانند با به اشتراک گذاشتن یک مخزن حافظه نسبتاً آسان با یکدیگر ارتباط برقرار کنند. موازی سازی مبتنی بر نخ به راحتی در همه پلتفرم ها در دسترس است. موازی سازی با ارسال پیام از چندین فرآیند تحلیلی استفاده می کند که از طریق رابط ارسال پیام (MPI) با یکدیگر ارتباط برقرار می کنند. این نیاز به نصب اجزای MPI دارد. در خط فرمان میتوانید mp_mode=mpi را تنظیم کنید تا نشان دهد که اجزای MPI در سیستم در دسترس هستند. متناوبا، mp_mode=MPI را در فایل محیطی تنظیم کنید (به «استفاده از تنظیمات محیط ABAQUS»، بخش 3.3.1 مراجعه کنید). پیاده سازی مبتنی بر MPI در همه پلتفرم هایی که پشتیبانی می شود به صورت پیش فرض است.
یادداشتهای نصب محلی را برای سیستم خود بیرون بیاورید تا در مورد قابلیتهای چند پردازشی محلی بیاموزید (به «روش اجرا برای به دست آوردن اطلاعات»، بخش 3.2.1 مراجعه کنید). برای اطلاعات کامل در مورد پشتیبانی از پردازش موازی در پلتفرمهای مختلف، از جمله اطلاعات مورد نیاز و در دسترس بودن MPI، به صفحه اصلی ABAQUS در بخش اطلاعات سیستمهای پشتیبانی فنی پشتیبانی و خدمات برای نسخه فعلی ABAQUS مراجعه کنید.
پشتیبانی از پردازش موازی برای ویژگی های ABAQUS
ویژگی های ABAQUS/Standard زیر را می توان به صورت موازی اجرا کرد: حل کننده پراکنده مستقیم، حل کننده تکراری، حل کننده ویژه Lanczos و عملیات عنصر. پیش پردازش ورودی تحلیل به صورت موازی اجرا نمی شود. برای ABAQUS/Explicit تمام محاسبات غیر از محاسبات مربوط به پیش پردازنده ورودی تحلیل و بستهکننده میتوانند به صورت موازی اجرا شوند. هر یک از ویژگی هایی که برای اجرای موازی در دسترس هستند، محدودیت های خاصی دارند که به تفصیل مستند شده است. به «اجرای موازی در ABAQUS/Standard»، بخش 11.9.2، و «اجرای موازی در ABAQUS/Explicit»، بخش 11.9.3 مراجعه کنید.
اجرای موازی در رایانه های حافظه مشترک
ABAQUS را می توان به صورت موازی در رایانه های حافظه مشترک با استفاده از رشته ها یا MPI اجرا کرد. هنگامی که MPI در دسترس است، ABAQUS همه ویژگیهای موازی موجود را با موازیسازی مبتنی بر MPI اجرا میکند و پیادهسازیهای موازی مبتنی بر نخ را برای مواردی که پیادهسازی مبتنی بر MPI معادل وجود ندارد (به عنوان مثال، حلکننده پراکنده مستقیم، حلکننده ویژه Lanczos) فعال میکند.
اجرای موازی روی خوشه های کامپیوتری
ABAQUS را می توان به صورت موازی در خوشه های کامپیوتری با استفاده از موازی سازی مبتنی بر MPI اجرا کرد. برای اجرای موازی در خوشه های کامپیوتری، لیست ماشین ها یا میزبان ها با پارامتر فایل محیطی mp_host_list داده می شود. این پارامتر همچنین تعداد پردازنده های مورد استفاده در هر میزبان را مشخص می کند.
اجرای موازی در ABAQUS/Standard، بخش 11.9.2
محصولات: ABAQUS/Standard ABAQUS/CAE
منابع
“رویه اجرا برای به دست آوردن اطلاعات،” بخش 3.2.1
“استفاده از تنظیمات محیط ABAQUS،” بخش 3.3.1
بررسی اجمالی
اجرای موازی در ABAQUS/Standard:
زمان اجرا را برای تحلیل های بزرگ کاهش می دهد.
برای رایانه های حافظه مشترک برای حل کننده ویژه Lanczos در دسترس است. و
برای رایانههای حافظه مشترک و خوشههای رایانهای برای عملیات عنصر، حلکننده مستقیم پراکنده، و حلکننده معادله خطی تکراری در دسترس است.
حل معادله موازی با حل کننده پراکنده مستقیم
حل کننده پراکنده مستقیم از رایانه های حافظه مشترک و خوشه های رایانه برای موازی سازی پشتیبانی می کند.
در رایانه های حافظه مشترک، موازی سازی مبتنی بر رشته استفاده می شود. تعداد پردازنده های مورد استفاده برای اجرای موازی عملیات عناصر مبتنی بر MPI برابر با تعداد پردازنده های مورد استفاده برای حل کننده پراکنده مستقیم است.
در خوشه های کامپیوتری، MPI ترکیبی و موازی سازی مبتنی بر نخ استفاده می شود. این نیاز به اجرای موازی عملیات عنصر مبتنی بر MPI دارد. حل کننده مستقیم پراکنده نمی تواند در خوشه های کامپیوتری استفاده شود اگر:
تجزیه و تحلیل همچنین از حل کننده معادله خطی تکراری یا حل کننده ویژه Lanczos استفاده می کند. یا
تجزیه و تحلیل به ویژگی هایی نیاز دارد که اجرای موازی عملیات عنصر برای آنها پشتیبانی نمی شود.
علاوه بر این، حل کننده پراکنده مستقیم را نمی توان در خوشه های کامپیوتری برای تحلیل هایی که به ماتریس های نامتقارن یا چند سمت راست نیاز دارند، استفاده کرد. ویژگی هایی که به ماتریس های نامتقارن نیاز دارند عبارتند از:
تجزیه و تحلیل جابجایی دما جفت شده (“تحلیل تنش حرارتی کاملا جفت شده، بخش 6.5.4)،
تجزیه و تحلیل انتشار جرم (“تجزیه و تحلیل انتشار جرم”، بخش 6.8.1)،
تجزیه و تحلیل تنش و سیال منافذ جفت شده گذرا (“تجزیه و تحلیل تنش و انتشار سیال منافذ جفت”، بخش 6.7.1)،
رفتار مواد هیسترتیک («هیسترزیس در الاستومرها، بخش 17.8.1)،
رفتار مواد جذب یا جذب (“جذب”، بخش 20.7.4)،
بخش های عمومی پوسته نامتقارن («استفاده از بخش عمومی پوسته برای تعریف رفتار بخش»، بخش 23.6.6)، و
عناصر نامتقارن کاربر یا مواد کاربر (“عناصر تعریف شده توسط کاربر”، بخش 26.15.1، و “رفتار مکانیکی مواد تعریف شده توسط کاربر،” بخش 20.8.1).
ویژگی هایی که به چند سمت راست نیاز دارند عبارتند از:
تجزیه و تحلیل چرخه ای مستقیم (“تحلیل چرخه ای مستقیم”، بخش 6.2.6)،
تسکین اینرسی (“تسکین اینرسی”، بخش 11.1.1)،
تجزیه و تحلیل چند بار موردی (“تحلیل چند بار موردی”، بخش 6.1.3)، و
تجزیه و تحلیل تنش استاتیک / جابجایی با استفاده از روش Riks اصلاح شده (“تحلیل تنش استاتیک”، بخش 6.2.2).
برای اجرای حل کننده پراکنده مستقیم موازی در خوشه های کامپیوتری، متغیر محیط mp_host_list باید روی لیستی از ماشین های میزبان تنظیم شود (به بخش 3.3.1 “استفاده از تنظیمات محیط ABAQUS” مراجعه کنید). موازی سازی مبتنی بر MPI بین ماشین های موجود در لیست میزبان استفاده می شود. اگر بیش از یک پردازنده در یک ماشین در لیست میزبان موجود باشد، موازی سازی مبتنی بر رشته در آن ماشین میزبان استفاده می شود. به عنوان مثال، اگر فایل محیط دارای موارد زیر باشد:
cpus=4
mp_host_list=[[‘maple’,2],[‘pine’,2]]
حل کننده پراکنده مستقیم از دو پردازنده در هر میزبان از طریق موازی سازی مبتنی بر رشته استفاده می کند. در مجموع دو پردازش MPI در ماشین های میزبان اجرا می شود، در حالی که هر چهار پردازنده برای حل معادله استفاده می شوند. تعداد ماشینهای میزبان، دو عدد در این مثال، تعداد پردازندههای مورد استفاده برای عملیات عناصر موازی را تعیین میکند.
استفاده از فایل ورودی: ورودی زیر را در خط فرمان وارد کنید:
abaqus job= job-name cpus=n
به عنوان مثال، ورودی زیر کار “پرتو” را روی دو پردازنده اجرا می کند:
abaqus job=پرتو cpus=2
استفاده از ABAQUS/CAE:
ماژول کار: ویرایشگر کار: موازی سازی: استفاده از چندین پردازنده را روشن کنید و تعداد پردازنده ها را مشخص کنید، n
الزامات حافظه برای حل کننده پراکنده مستقیم موازی
حل کننده موازی مستقیم، چندین جبهه را به صورت موازی پردازش می کند، علاوه بر موازی کردن حل جبهه های جداگانه. بنابراین، حل کننده موازی مستقیم به حافظه بیشتری نسبت به حل کننده سریال نیاز دارد. نیازهای حافظه دقیقاً از قبل قابل پیش بینی نیستند زیرا از پیش تعیین نشده است که کدام جبهه به طور همزمان پردازش می شود.
استخراج ارزش ویژه موازی با حل کننده ویژه Lanczos
حلکننده ویژه Lanczos از موازیسازی مبتنی بر نخ استفاده میکند. بنابراین، اجرای موازی حلکننده ویژه Lanczos فقط در رایانههای حافظه مشترک در دسترس است. تعداد نخ های حل کننده برابر با تعداد پردازنده های مورد استفاده برای تجزیه و تحلیل است. اجرای موازی عملیات عنصر با حل کننده ویژه Lanczos پشتیبانی نمی شود.
استفاده از فایل ورودی: ورودی زیر را در خط فرمان وارد کنید:
abaqus job= job-name cpus=n
به عنوان مثال، ورودی زیر کار “پرتو” را روی دو پردازنده اجرا می کند:
abaqus job=پرتو cpus=2
استفاده از ABAQUS/CAE:
ماژول کار: ویرایشگر کار: موازی سازی: استفاده از چندین پردازنده را روشن کنید و تعداد پردازنده ها را مشخص کنید، n
حل معادله موازی با حل تکراری
موازیسازی حلکننده معادله خطی تکراری مبتنی بر تجزیه دامنه با نگاشت گروههایی از حوزهها به پردازندههای جداگانه به دست میآید. برای فعال کردن حل کننده تکراری موازی، تعداد CPU را برای کار مشخص کنید. هر دو حالت MPI و موازی سازی مبتنی بر نخ با حل کننده تکراری پشتیبانی می شوند. اجرای موازی عملیات عنصر فقط با اجرای موازی مبتنی بر MPI پشتیبانی می شود.
استفاده از فایل ورودی: ورودی زیر را در خط فرمان وارد کنید:
abaqus job= job-name cpus=n
به عنوان مثال، ورودی زیر کار “پرتو” را روی دو پردازنده با روش موازی سازی در سطح دامنه اجرا می کند:
abaqus job=پرتو cpus=2
در این مورد نیمی از حوزه های حل کننده تکراری به هر یک از پردازنده ها نگاشت می شوند.
استفاده از ABAQUS/CAE:
ماژول کار: ویرایشگر کار: موازی سازی: استفاده از چندین پردازنده را روشن کنید و تعداد پردازنده ها را مشخص کنید، n
اجرای موازی عملیات عنصر در ABAQUS/Standard
اجرای موازی عملیات عنصر در پلتفرم هایی که موازی سازی مبتنی بر MPI پشتیبانی می شود، پیش فرض است. خط فرمان و متغیر محیطی standard_parallel را می توان برای کنترل اجرای موازی عملیات عنصر استفاده کرد (به بخش 3.3.1، “استفاده از تنظیمات محیط ABAQUS”، و “روش اجرا برای ABAQUS/Standard و ABAQUS/Explicit”، بخش 3.2 مراجعه کنید. .2). اگر از اجرای موازی عملیات عنصر استفاده شود، حل کننده ها به طور خودکار به صورت موازی نیز اجرا می شوند.
اجرای موازی عملیات عنصر برای تحلیل هایی که شامل هر یک از رویه های زیر است پشتیبانی نمی شود:
پیشبینی کمانش مقدار ویژه («پیشبینی کمانش مقدار ویژه»، بخش 6.2.3)،
استخراج فرکانس طبیعی («استخراج فرکانس طبیعی»، بخش 6.3.5)،
استخراج مقادیر ویژه پیچیده («استخراج ارزش ویژه پیچیده»، بخش 6.3.6)،
حمل و نقل حالت پایدار (“تحلیل حمل و نقل حالت پایدار”، بخش 6.4.1) و
دینامیک خطی (“تحلیل دینامیکی مدال گذرا”، بخش 6.3.7؛ “تحلیل پاسخ تصادفی”، بخش 6.3.11؛ “تحلیل طیف پاسخ،” بخش 6.3.10؛ “تحلیل دینامیکی حالت پایدار راه حل مستقیم”، بخش 6.3 .4؛ “تحلیل دینامیکی حالت پایدار مبتنی بر زیرفضا”، بخش 6.3.9؛ و “تحلیل دینامیکی حالت پایدار مبتنی بر حالت،” بخش 6.3.8).
علاوه بر این، اجرای موازی عملیات عنصر برای تحلیل هایی که شامل هر یک از موارد زیر است پشتیبانی نمی شود:
مش بندی تطبیقی (“تعریف دامنه های مش تطبیقی ALE در ABAQUS/Standard، بخش 12.2.6)،
شبیه سازی مشترک (“شبیه سازی مشترک: نمای کلی، بخش 13.1.1)،
انتشار ترک (“تحلیل انتشار ترک،” بخش 11.4.3)،
درخواستهای خروجی ماتریس عنصر (“خروجی ماتریس عنصر در ABAQUS/Standard” در “خروجی”، بخش 4.1.1)،
درخواست های خروجی نشانگر خطا («نشانگرهای خطا»، بخش 12.3.2)،
import (“انتقال نتایج بین تجزیه و تحلیل های ABAQUS: نمای کلی، بخش 9.2.1)،
ماتریس ها (“تعریف ماتریس ها”، بخش 2.10.1)،
بارگذاری نفوذ فشار (“بارگذاری نفوذ فشار”، بخش 30.1.7)،
زیرساختها («زیرسازی»، بخش 10.1)،
تکنیک های راه حل جایگزین به جز روش شبه نیوتن (“اجرای تقریبی” در “تجزیه و تحلیل تنش حرارتی کاملا جفت شده”، بخش 6.5.4؛ “اجرای تقریبی” در “تحلیل حرارتی- الکتریکی جفت شده”، بخش 6.6.2، “تماس” تکرارها، بخش 7.1.2؛ و «تعیین روش تفکیک شده» در «معیارهای همگرایی برای مسائل غیرخطی»، بخش 7.2.3)، و
لغزش محدود در رابطه با حل کننده تکراری مبتنی بر MPI.
استفاده از فایل ورودی: ورودی زیر را در خط فرمان وارد کنید:
abaqus job= job-name cpus=n
استفاده از ABAQUS/CAE: اجرای موازی عملیات عنصر در ABAQUS/CAE پشتیبانی نمیشود.
مدیریت حافظه با اجرای موازی عملیات عنصر
هنگام اجرای موازی عملیات عنصر در ABAQUS/Standard، تعیین حد بالای حافظه قابل استفاده (به «پارامتر standard_memory» در «مدیریت استفاده از حافظه و دیسک در ABAQUS»، بخش 3.4.1 مراجعه کنید) حداکثر را مشخص میکند. مقدار حافظه قابل تخصیص توسط هر فرآیند
خروجی تنش برشی عرضی برای پوسته های پیوسته انباشته
متغیرهای خروجی CTSHR13 و CTSHR23 در حال حاضر هنگام اجرای موازی عملیات عنصر در ABAQUS/Standard در دسترس نیستند. به “کتابخانه عناصر پوسته پیوسته”، بخش 23.6.8 مراجعه کنید.
اجرای موازی در ABAQUS/Explicit، بخش 11.9.3
11.9.3 اجرای موازی در ABAQUS/Explicit
محصولات: ABAQUS/ABAQUS صریح/CAE
منابع
“رویه اجرا برای به دست آوردن اطلاعات،” بخش 3.2.1
“استفاده از تنظیمات محیط ABAQUS،” بخش 3.3.1
بررسی اجمالی
اجرای موازی در ABAQUS/Explicit:
زمان اجرا را برای تحلیل هایی که به تعداد زیادی افزایش نیاز دارند کاهش می دهد.
زمان اجرا را برای تحلیل هایی که دارای تعداد زیادی گره و عناصر هستند کاهش می دهد.
نتایج تجزیه و تحلیل را تولید می کند که مستقل از تعداد پردازنده های مورد استفاده برای تجزیه و تحلیل است.
برای رایانه های حافظه مشترک با استفاده از سطح حلقه مبتنی بر رشته یا پیاده سازی تجزیه دامنه مبتنی بر رشته در دسترس است. و
هم برای رایانه های حافظه مشترک و هم برای خوشه های کامپیوتری با استفاده از پیاده سازی موازی تجزیه دامنه مبتنی بر MPI در دسترس است.
فراخوانی پردازش موازی
موازی سازی در ABAQUS/Explicit به دو صورت انجام می شود: سطح دامنه و سطح حلقه. روش سطح دامنه مدل را به حوزه های توپولوژیکی تقسیم می کند و هر دامنه را به یک پردازنده اختصاص می دهد. روش سطح دامنه پیش فرض است. روش سطح حلقه حلقه های سطح پایین را که مسئول بیشتر هزینه محاسباتی هستند موازی می کند. عملیات عنصر، گره و جفت تماس، اکثر روال های موازی شده سطح پایین را تشکیل می دهند.
موازی سازی را می توان با تعیین تعداد پردازنده های مورد استفاده فراخوانی کرد.
استفاده از فایل ورودی: ورودی زیر را در خط فرمان وارد کنید:
abaqus job= job-name cpus=n
به عنوان مثال، ورودی زیر کار “پرتو” را روی دو پردازنده اجرا می کند:
abaqus job=پرتو cpus=2
استفاده از ABAQUS/CAE:
ماژول کار: ویرایشگر کار: موازی سازی: استفاده از چندین پردازنده را روشن کنید و تعداد پردازنده ها را مشخص کنید
موازی سازی در سطح دامنه
روش سطح دامنه مدل را به تعدادی حوزه توپولوژیکی تقسیم می کند. این حوزه ها به عنوان حوزه های موازی نامیده می شوند تا آنها را از سایر حوزه های مرتبط با تجزیه و تحلیل متمایز کنند. دامنه ها به طور مساوی بین پردازنده های موجود توزیع می شوند. سپس تجزیه و تحلیل به طور مستقل در هر حوزه انجام می شود. با این حال، اطلاعات باید در هر افزایش بین دامنه ها منتقل شود زیرا دامنه ها دارای مرزهای مشترک هستند. هر دو حالت موازی سازی MPI و Thread-based با روش سطح دامنه پشتیبانی می شوند.
روش سطح دامنه مدل را به گونه ای تقسیم می کند که دامنه های حاصل تقریباً همان مقدار هزینه محاسباتی را به خود اختصاص دهند. تعادل بار به عنوان نسبت هزینه محاسباتی گران ترین دامنه به کم هزینه ترین دامنه تعریف می شود.
مجموعه عناصر و گره ها برای هر دامنه ایجاد می شوند و می توانند در ABAQUS/CAE بازرسی شوند. مجموعه ها domain_n نام دارند که n شماره دامنه است.
در طول تجزیه و تحلیل، فایل های حالت جداگانه (job-name.abq) و نتایج انتخاب شده (job-name.sel) ایجاد می شود. برای هر پردازنده یک حالت و یک فایل نتایج انتخاب شده وجود خواهد داشت. قرارداد نامگذاری این است که شماره پردازنده را به نام فایل اضافه کنید. به عنوان مثال، فایل های حالت job-name.abq.n نام دارند که n شماره پردازنده است. در پایان تجزیه و تحلیل، فایل های فردی به طور خودکار در یک فایل (به عنوان مثال job-name.abq) ادغام می شوند و فایل های فردی حذف می شوند.
استفاده از فایل ورودی: ورودی زیر را در خط فرمان وارد کنید:
abaqus job=job-name cpus=n موازی=دامنه دامنه=n دامنه
به عنوان مثال، ورودی زیر کار “پرتو” را روی دو پردازنده با روش موازی سازی در سطح دامنه اجرا می کند:
abaqus job = پرتو cpus = 2 موازی = دامنه دامنه = 2
روش موازی سازی در سطح دامنه را نیز می توان با استفاده از پارامترهای فایل محیطی parallel=DOMAIN و دامنه ها در فایل محیطی تنظیم کرد.
استفاده از ABAQUS/CAE:
ماژول کار: ویرایشگر کار: موازی سازی: استفاده از پردازنده های متعدد را تغییر دهید و تعداد پردازنده ها را مشخص کنید، n; تعداد دامنه: n دامنه; روش موازی سازی: دامنه.
سازگاری نتایج
نتایج تجزیه و تحلیل مستقل از تعداد پردازنده های مورد استفاده برای تجزیه و تحلیل است. با این حال، نتایج به تعداد دامنه های موازی مورد استفاده در طول تجزیه دامنه بستگی دارد. به جز مواردی که در آن مدلهای تک دامنه و چند دامنه به دلیل ویژگیهایی که هنوز با حوزههای موازی متعدد در دسترس نیستند (که در زیر بحث میشود) متفاوت هستند، این تفاوتها باید تنها با اثرات دقیق محدود ایجاد شوند. به عنوان مثال، ترتیب مجموعه نیروی گرهی ممکن است به تعداد حوزه های موازی بستگی داشته باشد، که می تواند منجر به تفاوت در ارقام انتهایی در نیروی محاسبه شده شود. برخی از سیستمهای فیزیکی به آشفتگیهای کوچک بسیار حساس هستند، بنابراین یک تفاوت کوچک در نیروی اعمالشده در یک افزایش میتواند منجر به تفاوتهای محسوس در نتایج در افزایشهای بعدی شود. شبیهسازیهایی که شامل کمانش و دیگر دوشاخهها میشوند، به آشفتگیهای کوچک حساس هستند.
برای به دست آوردن نتایج تجزیه و تحلیل منسجم از اجرا به اجرا، تعداد دامنه های مورد استفاده در تجزیه دامنه باید ثابت باشد. افزایش تعداد دامنه ها هزینه محاسباتی را اندکی افزایش می دهد. را
بنابراین، توصیه می شود که تعداد دامنه ها برابر با حداکثر تعداد پردازنده های مورد استفاده برای اجرای تجزیه و تحلیل برای عملکرد بهینه تنظیم شود. اگر تعداد دامنهها را مشخص نکنید، تعداد بهطور پیشفرض روی تعداد پردازندهها در نظر گرفته میشود.
ویژگی هایی که اجازه موازی سازی در سطح دامنه را نمی دهند
استفاده از روش موازی سازی در سطح دامنه با ویژگی های زیر مجاز نیست:
خروجی با ارزش فوق العاده
تشخیص حالت پایدار
خواندن دما یا متغیرهای فیلد به عنوان فیلدهای از پیش تعریف شده از یک فایل نتایج مشخص شده توسط کاربر (به بخش 27.6.1 مراجعه کنید به “فیلدهای از پیش تعریف شده”). (خواندن دماهای اولیه یا متغیرهای میدان از فایل نتایج مشخص شده توسط کاربر مجاز است؛ به “شرایط اولیه” بخش 27.2.1 مراجعه کنید.)
اگر این ویژگی ها گنجانده شوند، یک پیغام خطا صادر می شود.
ویژگی هایی که نمی توان آنها را در دامنه ها تقسیم کرد
برخی از ویژگی ها را نمی توان در دامنه ها تقسیم کرد. الگوریتم تجزیه دامنه به طور خودکار این را در نظر می گیرد و این ویژگی ها را مجبور می کند که کاملاً در یک دامنه قرار گیرند. اگر دامنه های کمتری نسبت به پردازنده های درخواستی ایجاد شود، ABAQUS/Explicit یک پیام خطا صادر می کند. حتی اگر الگوریتم موفق به ایجاد تعداد دامنه های درخواستی شود، ممکن است بار به طور ناموزون متعادل شود. اگر این رفتار قابل قبول نیست، کار باید با روش موازی سازی در سطح حلقه اجرا شود.
دامنه های هموارسازی تطبیقی نمی توانند مرزهای دامنه موازی را بپوشانند. به طور مشابه، گره های تطبیقی در سطح دامنه هموارسازی تطبیقی با دامنه موازی دیگری به اشتراک گذاشته نمی شوند. برای اعمال این امر به شیوه ای ثابت در زمانی که دامنه های موازی مشخص می شوند، همه گره های مشترک با دامنه های هموارسازی تطبیقی مجاور به عنوان غیرتطبیقی تنظیم می شوند. در این مورد، نتایج تجزیه و تحلیل ممکن است به طور قابل توجهی با نتایج یک اجرای سریال بدون دامنه های موازی متفاوت باشد. تعداد دامنه های موازی را روی 1 تنظیم کنید و اگر این رفتار نامطلوب بود، به روش موازی سازی در سطح حلقه بروید. برای جزئیات به بخش 12.2.2، «تعریف دامنههای مش تطبیقی ALE در ABAQUS/Explicit» مراجعه کنید.
یک جفت مخاطب را نمیتوان در دامنههای موازی تقسیم کرد، اما جفتهای تماس جداگانه محدود به قرار گرفتن در یک دامنه موازی نیستند. جفت تماسی که از الگوریتم تماس سینماتیکی استفاده میکند مستلزم این است که تمام گرههای مرتبط با سطوح درگیر در یک حوزه موازی واحد باشند و با هیچ حوزه موازی دیگری مشترک نباشند. یک جفت تماس که از الگوریتم تماس جریمه استفاده می کند، نیاز دارد که گره های مرتبط بخشی از یک دامنه موازی واحد باشند، اما این گره ها ممکن است بخشی از سایر حوزه های موازی نیز باشند. تجزیه و تحلیل هایی که در آن درصد زیادی از گره ها در تماس هستند، ممکن است در صورت استفاده از جفت های تماس، به خوبی مقیاس نشوند، به ویژه با اعمال سینماتیک محدودیت های تماس. تماس عمومی مرزهای تجزیه دامنه را محدود نمی کند.
گرههای درگیر در محدودیتهای سینماتیکی («محدودیتهای سینماتیک: نمای کلی، بخش 28.1.1») در یک حوزه موازی واحد خواهند بود و با دامنه موازی دیگری به اشتراک گذاشته نمیشوند. با این حال، دو محدودیت سینماتیکی که گرههای مشترکی ندارند را میتوان در حوزههای موازی مختلف قرار داد.
در برخی موارد، عناصر پرتو که یک گره مشترک دارند ممکن است به یک حوزه موازی یکسان منتقل شوند. این فقط برای تیرهایی اتفاق میافتد که مرکز جرم آنها با محل گره تیر منطبق نیست یا برای تیرهایی با اینرسی اضافی (به بخش 23.3.5 به «افزودن اینرسی به رفتار مقطع تیر برای تیرهای تیموشنکو» مراجعه کنید. ).
راه اندازی مجدد
هنگام استفاده از موازی سازی در سطح دامنه، محدودیت های خاصی برای راه اندازی مجدد وجود دارد. برای اطمینان از دستیابی به سرعت موازی بهینه، تعداد پردازنده های مورد استفاده برای تحلیل راه اندازی مجدد باید به گونه ای انتخاب شود که تعداد دامنه های موازی مورد استفاده در طول تجزیه و تحلیل اصلی بتواند به طور مساوی بین پردازنده ها توزیع شود. از آنجایی که تجزیه دامنه فقط بر اساس ویژگیهای مشخصشده در تحلیل اصلی و مراحل تعریفشده در آن است، ویژگیهایی که بر تجزیه دامنه تأثیر میگذارند، تنها در صورتی که تجزیه دامنه اصلی را باطل کنند، در مراحل راهاندازی مجدد تعریف نمیشوند. از آنجایی که ویژگیهای جدید اضافه شده به دامنههای موجود اضافه میشوند، احتمال عدم تعادل بار و کاهش متناظر عملکرد موازی وجود دارد.
تجزیه و تحلیل راه اندازی مجدد مستلزم آن است که وضعیت جداگانه و فایل های نتایج انتخاب شده ایجاد شده در طول تجزیه و تحلیل اصلی به فایل های منفرد تبدیل شوند، همانطور که در “روش اجرا برای ABAQUS/Standard و ABAQUS/Explicit”، بخش 3.2.2 توضیح داده شده است. این باید به طور خودکار در پایان تجزیه و تحلیل اصلی انجام شود. اگر تجزیه و تحلیل اصلی با موفقیت کامل نشد، باید قبل از راه اندازی مجدد، وضعیت و فایل های نتایج انتخاب شده را تبدیل کنید. تجزیه و تحلیل ABAQUS/Explicit بسته بندی شده برای اجرا با تکنیک موازی سازی در سطح دامنه را نمی توان مجدداً راه اندازی کرد یا با تکنیک موازی سازی در سطح حلقه ادامه داد.
موازی سازی در سطح حلقه
روش سطح حلقه حلقه های سطح پایین در کد را موازی می کند که مسئول اکثر محاسبات هستند.
هزینه ملی هنگام اجرا با این روش هیچ محدودیتی وجود ندارد. با این حال، ضریب افزایش سرعت ممکن است به طور قابل توجهی کمتر از آن چیزی باشد که با موازی سازی در سطح دامنه به دست می آید. ضریب افزایش سرعت بسته به ویژگی های موجود در تجزیه و تحلیل متفاوت خواهد بود زیرا همه ویژگی ها از حلقه های موازی استفاده نمی کنند. به عنوان مثال می توان به الگوریتم تماس عمومی و محدودیت های سینماتیک اشاره کرد. روش سطح حلقه ممکن است برای بیش از چهار پردازنده بسته به تحلیل، مقیاس ضعیفی داشته باشد. استفاده از چندین دامنه موازی با این روش باعث کاهش عملکرد موازی می شود و از این رو توصیه نمی شود.
نتایج تجزیه و تحلیل برای این روش به تعداد پردازنده های مورد استفاده بستگی ندارد.
استفاده از فایل ورودی: ورودی زیر را در خط فرمان وارد کنید:
abaqus job=job-name cpus=n موازی=حلقه
روش موازی سازی در سطح حلقه را نیز می توان با استفاده از پارامتر فایل محیطی parallel=LOOP در فایل محیطی تنظیم کرد.
استفاده از ABAQUS/CAE:
ماژول کار: ویرایشگر کار: موازی سازی: استفاده از پردازنده های متعدد را تغییر دهید و تعداد پردازنده ها را مشخص کنید، n; روش موازی سازی: حلقه
راه اندازی مجدد
هیچ محدودیتی برای ویژگیهایی که میتوانند در مراحل تعریفشده در تحلیل راهاندازی مجدد در هنگام استفاده از موازیسازی در سطح حلقه گنجانده شوند، وجود ندارد. به دلایل عملکرد، تعداد پردازندههای مورد استفاده هنگام راهاندازی مجدد باید فاکتوری از تعداد پردازندههای مورد استفاده در تحلیل اصلی باشد. رایجترین مورد، راهاندازی مجدد با همان تعداد پردازندههایی است که در تحلیل اصلی استفاده شده است. تجزیه و تحلیل ABAQUS/Explicit بسته بندی شده برای اجرا با تکنیک موازی سازی در سطح حلقه را نمی توان دوباره راه اندازی کرد یا با تکنیک موازی سازی در سطح دامنه ادامه داد.
اندازه گیری عملکرد موازی
عملکرد موازی با مقایسه کل زمان لازم برای اجرا بر روی یک پردازنده واحد (اجرای سریال) با کل زمان لازم برای اجرا بر روی چندین پردازنده (اجرای موازی) اندازه گیری می شود. از این نسبت به عنوان ضریب افزایش سرعت یاد می شود. ضریب افزایش سرعت برابر با تعداد پردازنده های مورد استفاده برای اجرای موازی در صورت موازی سازی کامل خواهد بود. مقیاس بندی به رفتار ضریب افزایش سرعت با افزایش تعداد پردازنده ها اشاره دارد. مقیاس بندی کامل نشان می دهد که ضریب افزایش سرعت به صورت خطی با تعداد پردازنده ها افزایش می یابد. برای هر دو روش موازی سازی، عوامل افزایش سرعت و رفتار مقیاس بندی به شدت وابسته به مشکل هستند. به طور کلی، روش سطح دامنه به تعداد بیشتری از پردازنده ها مقیاس می شود و ضریب سرعت بالاتری را ارائه می دهد.
با زیربرنامه های کاربر استفاده کنید
هنگام اجرای موازی کارها می توان از زیرروال های کاربر استفاده کرد. با این حال، برنامههای فرعی کاربر و هر زیربرنامهای که توسط آنها فراخوانی میشود، باید امن باشد. این مانع استفاده از بلوک های رایج، بیانیه های داده و دستورات ذخیره می شود. فراخوانی زیر روال هایی که به صورت رشته ای ایمن نیستند منجر به رفتار غیرقابل پیش بینی فایل اجرایی می شود.
خروجی
هیچ محدودیتی برای خروجی وجود ندارد. با این حال، برای روش موازی سازی در سطح دامنه، نتایج برای فایل های جداگانه برای هر پردازنده نوشته می شود. پس از اتمام تجزیه و تحلیل، فایل های جداگانه به طور خودکار در یک فایل ادغام می شوند و فایل های جداگانه حذف می شوند. اگر تجزیه و تحلیل با موفقیت کامل نشد، باید نتایج انتخاب شده و فایل های پایگاه داده خروجی را قبل از پس پردازش تبدیل کنید (به «روش اجرا برای ABAQUS/Standard و ABAQUS/Explicit»، بخش 3.2.2 مراجعه کنید).
اگرچه فایل های پایگاه داده خروجی منفرد را می توان در ABAQUS/CAE پس پردازش کرد، تنها نتایج مرتبط با دامنه های آن پردازنده در دسترس خواهد بود. برای دستورالعملهای مربوط به تبدیل نتایج قبل از تکمیل تجزیه و تحلیل، بخش 3.2.2، “رویه اجرا برای ABAQUS/Standard و ABAQUS/Explicit” را ببینید.
دیدگاهتان را بنویسید