از نوار بالا، و از منوی خدمات، گزینه “خدمات مبتنی بر زمانبندی” را انتخاب میکنیم
در صفحه باز شده، در صورتیکه قبلا ثبت نام کردهاید، با وارد کردن ایمیل و رمز عبور میتوانید وارد شوید (در صورتی فراموشی رمز عبور خود میتوانید بر روی گزینه Forgot your password؟ کلیک کنید. در این قسمت، با وارد کردن ایمیلی که با آن ثبت نام کردهاید، نحوه بازیابی رمز عبور برایتان ارسال خواهد شد).
اگر پیش از این ثبت نام نکردهاید، با کلیک بر روی Sign Up به صفحه مخصوص ثبت نام هدایت خواهید شد.
در صفحه ثبت نام، با وارد کردن اطلاعات خواسته شده، فرآیند ثبت نام را تکمیل نمایید و در نهایت بر روی دکمه Sign Up کلیک کنید.
داشبورد و حساب کاربری
پس از ثبت نام موفق، وارد حساب کاربری و داشبورد خود میشوید. در این صفحه، مواردی نظیر کارهای اجرا شده، میزان حافظه ذخیرهسازی مصرفی، میزان گرنت باقیمانده و … قابل مشاهده هستند. از منوی سمت چپ هم میتوانید به بخش اخبار، تراکنشهای انجام شده، نرمافزارهای نصب شده، راهنما، بخش تیکت و … دسترسی داشته باشید.
در بخش نرمافزارهای پشتیبانی شده، نرمافزارهای نصب شده بر روی سامانه قابل مشاهده هستند. همچنین، راهنمای استفاده برای هر نرمافزار و لینکهای راهنما برای آنها در نظر گرفته شده است.
لیست نرمافزارهای نصب شده
منو و صفحه راهنمایی (در صورت وجود ابهام یا سوال برای رفع ابهام مراجعه کنید)
در بخش Ticketing میتوانید درخواستها و مشکلات خود را ثبت کنید تا در اسرع وقت به آنها رسیدگی شود.
ارسال و دریافت فایل
جهت دسترسی از راه دور به سامانه و ارسال و دریافت فایلها، باید از پروتکل انتقال فایل یا FTP[1] کمک بگیرید. نرمافزارهای منبعباز[2] متعددی برای این کار وجود دارند که دو تا از معروفترینشان، نرمافزارهای WinSCP و FileZilla هستند. برای دانلود WinSCP وارد این لینک و برای دانلود FileZilla وارد این لینک شوید.
[1] File Transfer Protocol
[2] Open Source
پس از دانلود و نصب WinSCP، برنامه را باز کنید. در صفحه اول، از شما خواسته میشود تا اطلاعات خود را جهت لاگین در سامانه وارد نمایید. این موارد را مطابق با تصاویر زیر انجام دهید (در قسمت User name و Password از نام کاربری و رمز عبور خودتان استفاده کنید). در نهایت بر روی دکمه Login کلیک نمایید.
روش کار در FileZilla هم مشابه WinSCP است. از نوار بالا اطلاعات قسمتهای هایلایت شده را وارد نموده و سپس روی Quickconnect کلیک کنید.
پس از ورود (در هر دو نرمافزار) با دو پنجره مواجه خواهید شد. سمت چپ مربوط به پنجره شما به عنوان کاربر (یعنی کامپیوتر شما) است که فایلهای خودتان در آنجا قابل مشاهده هستند. سمت راست را پنجره سرور تشکیل میدهد که میتوانید فایلهای موجود بر روی فضای ذخیرهسازی HPC را در آنجا مشاهده کنید.
نحوه اجرای از راه دور دستورات
برای اجرای دستورات و نرمافزارها، لازم است تا این دستورات از طریق یک پروتکل ارتباطی به کلاستر HPC ارسال شوند. برای این کار، در سیستم عامل ویندوز، از نرمافزار PuTTY استفاده خواهیم کرد (در سیستم عامل لینوکس این کار به سادگی از طریق خط فرمان خود لینوکس قابل اجراست). از این لینک میتوانید این نرمافزار را دانلود نمایید.
پس از نصب و اجرای برنامه، با پنجرهای مشابه تصویر زیر روبرو خواهید شد. در اینجا کافی است تا با وارد کردن آدرس سامانه HPC، و سپس کلیک بر روی Open، وارد خط فرمان شوید.
در پنجره باز شده، ابتدا باید نام کاربری که با آن ثبت نام کردهاید را وارد نموده و دکمه Enter را بزنید. سپس باید رمز عبوری خود را وارد نموده و مجددا دکمه Enter را بفشارید.
پس از وارد کردن اطلاعات خواسته شده، با تصویر زیر مواجه خواهید شد. در اینجا میتوانید مقدار هستههای مصرفی (هر کاربر حداکثر میتواند از مجموع 160 هسته استفاده کند که هر کار، نهایتا 80 هسته میتواند درخواست نماید) و نیز میزان گرنت باقیمانده را مشاهده کنید (توجه داشته باشید که حساب شما میتواند اندکی منفی شود که در این صورت باید آن را شارژ نمایید).
نمونه اجرای کار
حال، یک اجرای نمونه کار را با هم میبینیم. برای این کار، قصد داریم یک فایل متلب ایجاد کنیم. محتوای این فایل چیزی شبیه به تصویر زیر است. این فایل را با نام CPU-test.m ذخیره نمایید.
در گام بعدی، فایل توصیف مشخصات کار را ایجاد میکنیم. این فایل فرمت sh دارد و به سامانه داده میشود تا مطابق با آن، دستورات را اجرا نماید. فایلی به نام CPU.sh با محتوای زیر ایجاد کنید. در این فایل، خط اول نام کار را مشخص میکند. خط دوم مشخص میکند که در چه زمانی اعلانها به شما ارسال خواهند شد. در اینجا سه حرف a، b و e به ترتیب حروف اول کلمات abort، begin و end هستند که یعنی اعلانها از ابتدا تا انتها به شما نمایش داده خواهند شد. خط سوم، متغیر nodes تعداد گرههای پردازشی را مشخص میکند (برای استفاده از بیش از یک گره باید درخواست خود را به صورت تیکت ارائه دهید). متغیر ppn تعداد هستههای قابل استفاده برای این کار است (به خاطر بیاورید که تعداد هستهها برای هر کار نهایتا 80 عدد خواهد بود). خط پنجم مشخص کننده میزان حافظه اصلی استفاده شده توسط این کار است. خط ششم مشخص کننده دیرکتوری جاری است که فایلها در آن قرار دارند. در خط هفتم، نسخه نرمافزار متلب برای اجرای فایل مورد نظر مشخص میگردد
حال، برای اجرای فایل کاری که در کامپیوتر خودمان ایجاد کردیم، باید این فایل را به فضای ذخیرهسازی خود در HPC انتقال دهیم. برای این کار، وارد نرمافزار WinSCP (یا FileZilla) که پیشتر در آن لاگین کرده بودیم میشویم. در پنجره کاربر (سمت چپ) وارد پوشهای که فایلها در آن قرار دارند شده و فایلهای مد نظر خود را با موس کشیده و به داخل فضای ذخیرهسازی HPC میاندازیم.
اگر به نرمافزار PuTTY بازگشته و دستور لینوکسی ls (که برای لیست کردن فایلهای موجود در دیرکتوری جاری کاربرد دارد) را بزنیم، با خروجی شبیه به تصویر زیر روبرو میشویم. این پنجره مشابه همان چیزی است که در WinSCP (یا FileZilla) دیدیم. همانطور که قابل مشاهده است، دو فایلی که اخیرا کپی کردیم، به وجود آمدهاند.
برای مشاهده محتوای فایلها میتوان از دستور لینوکسی cat کمک گرفت. این کار را مطابق تصویر زیر انجام دهید.
همانطور که میبینید، فایل متنی ما در اینجا قابل مشاهده است.
برای اجرای فایل کار مورد نظر، از دستور qsub استفاده میکنیم. این دستور، کار مورد نظر ما را وارد صف کارهای در انتظار اجرای HPC میکند. ابتدا عبارت qsub را وارد کرده و با یک فاصله، نام فایل sh خود را وارد کرده و در انتها دکمه Enter را فشار میدهیم.
پس از زدن Enter، با یک جمله مواجه میشویم که در ابتدای آن یک عدد قرار دارد. این عدد، شناسه کار ما خواهد بود که جهت اطلاع از وضعیت اجرای آن باید از این شناسه استفاده کنیم. این کار نیز با استفاده از دستور qstat و سپس وارد کردن این شناسه امکانپذیر خواهد بود.
بسته به نوع کار ارسال شده، ممکن است با چهار حالت روبرو شویم: 1) کار در صف قرار گرفته (Q)، 2) کار آماده اجراست (R)، 3) کار در حال اجرا شدن میباشد (E) و 4) اجرای کار به پایان رسیده (C).
پس از تکمیل اجرای کار، خروجی مورد نظر با استفاده از دستور ls، مطابق تصویر زیر قابل مشاهده است.
محتوای این فایلهای خروجی را میتوانید با استفاده از دستور cat مشاهده نمایید.
آمادهسازی محیط Conda و نمونه کار GPU
جهت آمادهسازی محیط Conda، دستورات گفته شده را مطابق دستور زیر، به ترتیب، وارد نمایید (این مرحله ممکن است، به علت نصب موارد مورد نیاز، اندکی زمانبر باشد).
راهنمای استفاده از محیط
چگونگی ایجاد محیط دلخواه و نصب پکیجهای مختلف:
به منظور ایجاد و محیط مبتنی بر conda در مرکز پردازش سریع به این ترتیب پیش میرویم:
ایجاد محیط:
/share/apps/Anaconda/anaconda3.8/bin/conda create -–name my_env
توجه: دقت بفرمایید نام محیط دلخواه شماست و هر کاربر محیط اختصاصی خود را دارد.
فعالسازی محیط:
پس از نصب موفقیتآمیز، با استفاده از دستور زیر، محیط ایجاد شده فعال میشود:
source /share/apps/Anaconda/anaconda3.8/bin/activate my_env
– نصب پکیج دلخواه:
پس از فعالسازی محیط در home خود، میتوان پکیجهای مورد نیاز را نصب نمود. به عنوان مثال، جهت نصب پکیج scikit-learn دستور زیر در ترمینال وارد میشود:
conda install -c anaconda scikit-learn
همچنین جهت نصب پکیج با استفاده از pip، میتوان دستور زیر را وارد نمود:
pip install matplotlib
اسکریپت جهت اجرای جاب:
دقت نمایید ابتدا پکیجهای مورد نیاز داخل ترمینال پس از فعالسازی محیط وارد شوند؛ سپس در اسکریپت خود تنها لازم است محیط را فعال کنید تا سامانه از پکیجهای نصب شده جهت اجرا استفاده نماید. چگونگی انجام این کار در مثال زیر مشخص شده است:
#PBS -N myjob
#PBS -m abe
#PBS -M your@email.adress
#PBS -l nodes=1:ppn=1:gpus=1
#PBS -q cuda9
source /share/apps/Anaconda/anaconda3.8/bin/activate my_env
python -u Program.py
در ادامه، نحوه ایجاد یک فایل تست GPU به زبان پایتون و فایل sh مربوط به آن را مشاهده میکنیم.
در فایل اجرای GPU نیز باید یک سری پارامترها را مشابه حالت قبل تنظیم کنیم. در اینجا باید تعداد GPUهای مورد استفاده خود را نیز مشخص نماییم (خط 4). در اینجا هم برای استفاده از بیش از یک GPU نیاز است تا درخواست خود را در قابل تیکت برای ما ارسال نمایید.در خط پنجم، نوع GPU خود را مشخص میکنید که در جدول زیر، انواع آن را میتوانید مشاهده نمایید.
حذف جاب
جهت حذف جاب، میتوان از دستور زیر استفاده نمود:
qdel JOB_ID