ه‍.ش. ۱۳۹۲ فروردین ۲۶, دوشنبه

استفاده از کامپایلرهای مختلف MPI در لینوکس CestOS نسخه ٦

١. تعداد زیادی کتابخانه برنامه نویسی MPI وجود دارند، که هر یک مزایا و معایب خودشان را دارند. مشهورترین آنها عبارتند از : LAM/MPI, OpenMPI, MPICH, MVAPICH ... 
٢. در یک سیستم هر یک از این کتابخانه ها میتوانند نسب شوند، و هر بسته نرمافزاری ممکن از با یکی از اینها بهتر کار کند. 
٣. در لینوکس های حرفه ای که بیشتر به عنوان سیستم عامل در کلاسترها  میشوند، مثل CentOS یا Red Hat Enterprise یا Scientific Linux ، بیشتر اینها وجود دارد و به سادگی میتوان آنها را نصب  کرد.
٤. اشکالی که در سیستم ها به وجود میاید نسب همزمان آنهاست چون بعضی از دستورات مثل mpirun در همه یکسان است آخر سر معلوم نیست کدوم کدوم است! 
٥. در نسخه 5 لینوکسهای که در بند ٣ ذکر شد، دستوری وجود دارد که به هر یوزر اجازه میدهد، که متناسب با علاقه، یکی از نسخه های نصب  شده را انتخاب کند، با وجود اینکه چند تا از آنها در سیستم عامل نصب است. این دستور  mpi-selector-menu  است. با اجرای این دستور کتابخانه مورد نظر انتخاب می شود و پس از یک بار خروج از حساب کاربری و ورود دوباره تنظامات مورد نظر در حساب کاربر اعمال میشود.
٦. در نسخه ۶ این سه لینوکس، دستور معرفی شده در بند ۵ وجود ندارد. در حقیقت رویکرد ردهت به این نوع تنظیمات تغییر کرده و هر یک از این کتابخانه ها به عنوان یک ماژول (madule ) در این نسخه ها تعیین گردیده است. حال اگر در سیستم هم OPenMPI و هم MPICH نصب  باشد، کافیست با نصب بسته نرافزاری  environment-modules به تنظیم کتابخانه مورد نظر خود بپردازید. ابتدا میخواهیم بدانیم چه ماژول هایی وجود دارند. با دستور   module avail  لیست ماژول  های موجود به دست می آید. سپس با دستور  module load   اسم ماژول دلخواه را داده و از آن پس دستورات مربوط به آن ماژول فعال  میشوند. به عنوان مثال  module load openmpi-x86_64 کتابخانه OpenMPI با دستور فوق فعال شده، و یا با دستور  module unload mvapich-x86_64 کتابخانه MVAPICH غیر فعال  میشود. 

 مراجع :