.TH "gres.conf" "5" "Slurm Configuration File" "Slurm 26.05" "Slurm Configuration File" .SH "نام (NAME)" gres.conf \- پرونده پیکربندی Slurm برای مدیریت منابع عمومی (GRES) .SH "توضیحات (DESCRIPTION)" پرونده \fBgres.conf\fP یک فایل متنی اسکی (ASCII) است که پیکربندی منابع عمومی (Generic RESources یا GRES) را در هر گره محاسباتی توصیف می‌کند. اگر اطلاعات GRES در فایل slurm.conf این منابع را به‌طور کامل توصیف نکند، باید یک فایل gres.conf در هر گره محاسباتی قرار گیرد. برای گره‌های ابری، یک فایل gres.conf که شامل همه گره‌های ابری باشد باید در تمامی گره‌های ابری و کنترل‌کننده (Controller) وجود داشته باشد. این فایل همیشه در همان دایرکتوری قرار دارد که \fBslurm.conf\fR در آن قرار گرفته است. .LP اگر اطلاعات GRES در فایل slurm.conf این منابع را به‌طور کامل توصیف کند (یعنی نیازی به مشخص کردن «Cores»، «File» یا «Links» برای آن نوع GRES نباشد یا این اطلاعات به‌طور خودکار شناسایی شوند)، این اطلاعات را می‌توان از فایل gres.conf حذف کرد و تنها از اطلاعات پیکربندی موجود در فایل slurm.conf استفاده خواهد شد. در صورتی که اطلاعات پیکربندی در فایل slurm.conf تمام GRESها را به‌طور کامل توصیف کند، می‌توان فایل gres.conf را به‌طور کامل نادیده گرفت و حذف کرد. .LP در صورت استفاده از فایل \fBgres.conf\fR برای توصیف منابع در دسترس گره‌ها، اولین پارامتر در خط باید \fBNodeName\fR باشد. در صورت پیکربندی منابع عمومی بدون مشخص کردن گره‌ها، اولین پارامتر در خط باید \fBName\fR باشد. .LP نام پارامترها به بزرگی و کوچکی حروف حساس نیستند. هر متنی پس از نویسه «#» در فایل پیکربندی تا انتهای آن خط به عنوان توضیح (کامنت) در نظر گرفته می‌شود. تغییرات در فایل پیکربندی پس از راه‌اندازی مجدد دیمن‌های Slurm، دریافت سیگنال SIGHUP توسط دیمن، یا اجرای دستور «scontrol reconfigure» اعمال می‌شوند، مگر اینکه خلاف آن ذکر شده باشد. .LP \fBنکته\fR: پشتیبانی Slurm از gres/[mps|shard] نیازمند استفاده از افزونه select/cons_tres است. برای اطلاعات بیشتر درباره نحوه پیکربندی MPS، پیوند زیر را ببینید: .br \fIhttps://slurm.schedmd.com/gres.html#MPS_Management\fR .br برای اطلاعات بیشتر درباره نحوه پیکربندی Sharding، پیوند زیر را ببینید: .br \fIhttps://slurm.schedmd.com/gres.html#Sharding\fR .LP برای کسب اطلاعات بیشتر درباره زمان‌بندی GRES به‌طور کلی، پیوند زیر را ببینید: .br \fIhttps://slurm.schedmd.com/gres.html\fR .LP پارامترهای پیکربندی کلی موجود عبارتند از: .TP \fBAutoDetect\fR سازوکارهای تشخیص سخت‌افزار جهت فعال‌سازی برای پیکربندی خودکار GRES. در حال حاضر، گزینه‌ها عبارتند از: .IP .RS .TP \fBfull\fR در \fBslurmd\fR، تمام سازوکارهای تشخیص سخت‌افزار را به ترتیب (NVML، NVIDIA، RSMI، oneAPI، NRT) تا زمان شناسایی GPUها امتحان می‌کند و پس از اولین سازوکاری که دستگاهی پیدا کند، متوقف می‌شود. \fBنکته\fR: این گزینه پیش‌فرض برای گره‌های پویا (\fBslurmd \-Z\fR) است هنگامی که gres.conf هیچ تنظیم \fBAutoDetect\fR و هیچ رکورد صریح \fBName=gpu\fR نداشته باشد. .IP .TP \fBnrt\fR شناسایی خودکار دستگاه‌های AWS Trainium/Inferentia. .IP .TP \fBnvidia\fR شناسایی خودکار پردازنده‌های گرافیکی NVIDIA. نیازی به هیچ کتابخانه‌ای ندارد، اما MIGها یا NVlinkها را شناسایی نمی‌کند. در Slurm 24.11 اضافه شد. .IP .TP \fBnvml\fR شناسایی خودکار پردازنده‌های گرافیکی NVIDIA. نیازمند کتابخانه مدیریت انویدیا (NVML) است. .IP .TP \fBoff\fR عدم شناسایی خودکار هرگونه GPU. برای لغو و بازنویسی سایر گزینه‌ها به کار می‌رود. .IP .TP \fBoneapi\fR شناسایی خودکار پردازنده‌های گرافیکی اینتل (Intel). نیازمند درایور Intel Graphics Compute Runtime برای oneAPI Level Zero و OpenCL (oneapi) است. .IP .TP \fBrsmi\fR شناسایی خودکار پردازنده‌های گرافیکی AMD. نیازمند کتابخانه رابط مدیریت سیستم راکام (ROCm SMI) است. .RE .IP گزینه \fIAutoDetect\fR می‌تواند در یک خط به تنهایی قرار گیرد، که در این حالت به‌طور پیش‌فرض به صورت سراسری بر روی تمام خطوط موجود در gres.conf اعمال خواهد شد. علاوه بر این، \fIAutoDetect\fR می‌تواند با \fBNodeName\fR ترکیب شود تا فقط بر روی گره‌های خاصی اعمال گردد. مقادیر \fIAutoDetect\fR مختص یک گره بر مقدار سراسری \fIAutoDetect\fR ارجحیت دارند. یک مقدار \fIAutoDetect\fR مختص گره فقط لازم است یک بار برای هر گره مشخص شود. در صورت مشخص شدن چندباره برای همان گره‌ها، تمام مقادیر باید یکسان باشند. برای لغو تنظیم \fIAutoDetect\fR برای یک گره در زمانی که مقدار سراسری \fIAutoDetect\fR تنظیم شده است، کافی است در خط GRES مختص آن گره، آن را برابر با «off» قرار دهید؛ برای مثال: \fINodeName=tux3 AutoDetect=off Name=gpu File=/dev/nvidia[0\-3]\fR. گزینه \fIAutoDetect\fR را نمی‌توان برای گره‌های ابری استفاده کرد. گزینه \fIAutoDetect\fR فایل‌ها، هسته‌ها، پیوندها و هر سخت‌افزار دیگری را به‌طور خودکار شناسایی خواهد کرد. اگر پارامتری مانند \fBFile\fR، \fBCores\fR یا \fBLinks\fR در زمان استفاده از \fIAutoDetect\fR مشخص شود، مقادیر مشخص‌شده برای بررسی صحت و اعتبارسنجی (Sanity check) مقادیر شناسایی‌شده خودکار استفاده می‌شوند. در صورت وجود هرگونه عدم تطابق، وضعیت گره به حالت نامعتبر (Invalid) درآمده و گره تخلیه (Drain) می‌شود. .IP .TP \fBCount\fR تعداد منابع با این نام/نوع که بر روی این گره در دسترس هستند. مقدار پیش‌فرض بر روی تعداد مقادیر \fBFile\fR مشخص‌شده (در صورت وجود) تنظیم می‌شود، در غیر این صورت مقدار پیش‌فرض یک است. از پسوندهای «K»، «M»، «G»، «T» یا «P» می‌توان برای ضرب عدد به ترتیب در ۱۰۲۴، ۱۰۴۸۵۷۶، ۱۰۷۳۷۴۱۸۲۴ و غیره استفاده کرد؛ برای مثال: «Count=10G». .IP .TP \fBCores\fR به صورت اختیاری، شماره اندیس هسته‌های متناظر با سوکت‌های* خاصی را که می‌توانند از این منبع استفاده کنند مشخص می‌کند. اگر از این گزینه استفاده شود، تمام هسته‌های یک سوکت* باید با هم مشخص شوند. اگرچه Slurm می‌تواند منابع را در سطح CPU یا ریسه (Thread) ردیابی و تخصیص دهد، الگوریتم‌های زمان‌بندی آن که برای تخصیص همزمان دستگاه‌های GRES با پردازنده‌ها استفاده می‌شوند، برای تخصیص کارهای محاسباتی در سطح سوکت* عمل می‌کنند. بنابراین، تخصیص ترجیحی GRES به پردازنده‌های خاص متفاوت در همان سوکت* امکان‌پذیر نیست. *می‌توان با استفاده از SlurmdParameters=numa_node_as_socket به جای سوکت‌ها از گره‌های NUMA، یا با استفاده از SlurmdParameters=l3cache_as_socket از حافظه نهان سطح ۳ (l3cache) استفاده کرد. چندین هسته را می‌توان با استفاده از یک لیست جداشده با کاما، یا یک محدوده با استفاده از جداکننده «\-» مشخص کرد (مانند «0,1,2,3» یا «0\-3»). اگر کاری \fB\-\-gres\-flags=enforce\-binding\fR را مشخص کرده باشد، تنها هسته‌های مشخص‌شده را می‌توان به همراه هر منبع عمومی تخصیص داد. این کار تمایل به بهبود کارایی برنامه‌ها دارد، اما تخصیص منابع به آن‌ها را به تاخیر می‌اندازد. اگر هسته‌ها مشخص شده باشند اما کاری \fIبدون\fR گزینه \fB\-\-gres\-flags=enforce\-binding\fR ارسال شود، هسته‌های مشخص‌شده برای زمان‌بندی به همراه هر منبع عمومی در اولویت قرار خواهند گرفت. اگر \fB\-\-gres\-flags=disable\-binding\fR مشخص شود، هر هسته‌ای می‌تواند با این منابع استفاده شود که این کار سرعت الگوریتم زمان‌بندی Slurm را افزایش می‌دهد اما می‌تواند کارایی برنامه را کاهش دهد. گزینه \fB\-\-gres\-flags=disable\-binding\fR در حال حاضر برای استفاده از پردازنده‌هایی بیش از آنچه به یک GRES متصل شده‌اند الزامی است (مثلاً اگر یک GPU به پردازنده‌های یک سوکت مقید شده باشد، اما برای اجرای کار به منابع بیش از یک سوکت نیاز باشد). اگر هر هسته‌ای بتواند به‌طور موثر با منابع استفاده شود، برای افزایش سرعت در منطق زمان‌بندی Slurm، گزینه \fBcores\fR را مشخص نکنید. برای اعمال تغییرات در گزینه Cores، راه‌اندازی مجدد slurmctld الزامی است. \fBنکته\fR: از آنجا که Slurm باید بتواند مدیریت منابع را در خوشه‌های ناهمگن با طرح‌های مختلف شماره‌گذاری واحدهای پردازشی انجام دهد، باید به جای اندیس هسته فیزیکی، یک اندیس هسته منطقی مشخص شود. این اندیس هسته منطقی ممکن است با شماره اندیس هسته فیزیکی شما یکسان نباشد. هسته ۰ اولین هسته روی اولین سوکت خواهد بود، در حالی که هسته ۱ دومین هسته روی اولین سوکت است. این شماره‌گذاری با شماره هسته منطقی (Core L#) که در خروجی دستور «lstopo \-l» مشاهده می‌شود مطابقت دارد. .IP .TP \fBFile\fR مسیر کامل فایل‌های دستگاه مرتبط با یک منبع. این نام می‌تواند شامل یک پسوند محدوده عددی باشد تا توسط Slurm تفسیر شود (مانند \fIFile=/dev/nvidia[0\-3]\fR). این فیلد معمولاً در صورتی الزامی است که اجرای اجباری تخصیص منابع عمومی مد نظر باشد (یعنی جلوگیری از استفاده کاربران از منابع تخصیص‌یافته به یک کاربر دیگر). اعمال اجباری تخصیص فایل بر گروه‌های کنترل لینوکس (cgroups) و افزونه task/cgroup در Slurm متکی است که فایل‌های تخصیص‌یافته را در cgroup کار قرار می‌دهد و از دسترسی به سایر فایل‌ها جلوگیری می‌کند. برای اطلاعات بیشتر، لطفاً راهنمای Cgroups در Slurm را ببینید: .br \fIhttps://slurm.schedmd.com/cgroups.html\fR اگر \fBFile\fR مشخص شده باشد، آنگاه \fBCount\fR یا باید برابر با تعداد نام‌های فایل مشخص‌شده تنظیم شود یا اصلاً تنظیم نشود (مقدار پیش‌فرض، تعداد فایل‌های مشخص‌شده است). استثنای این قاعده، MPS/Sharding است. برای هر یک از این GRESها، هر GPU با استفاده از پارامتر \fBFile\fR توسط فایل دستگاه مشخص می‌شود و \fBCount\fR تعداد ورودی‌های متناظر با آن GPU را تعیین می‌کند. برای MPS، این مقدار معمولاً ۱۰۰ یا مضربی از ۱۰۰ است. برای Sharding، معمولاً حداکثر تعداد کارهایی است که می‌توانند به‌طور همزمان آن GPU را به اشتراک بگذارند. در صورت استفاده از کارتی با قابلیت پردازنده گرافیکی چندنمونه‌ای (MIG)، به جای آن از \fBMultipleFiles\fR استفاده کنید. \fBFile\fR و \fBMultipleFiles\fR مانعة‌الجمع (متقابلاً ناسازگار) هستند. \fBنکته\fR: پارامتر \fBFile\fR برای تمام GRESهای با نوع \fIgpu\fR الزامی است. \fBنکته\fR: اگر پارامتر \fBFile\fR را برای یک منبع در یک گره مشخص کنید، این گزینه باید در تمام گره‌ها مشخص شود و Slurm تخصیص هر منبع خاص را در هر گره ردیابی خواهد کرد. در غیر این صورت، Slurm به جای وضعیت هر فایل دستگاه به صورت مجزا، تنها تعداد منابع تخصیص‌یافته را ردیابی خواهد کرد. \fBنکته\fR: پیش از تغییر تعداد رکوردهای دارای پارامتر \fBFile\fR (برای مثال اگر می‌خواهید GPUهایی را از پیکربندی گره اضافه یا حذف کنید)، گره را تخلیه (Drain) کنید. عدم انجام این کار منجر به لغو و توقف تمام کارهایی می‌شود که از آن GRESها استفاده می‌کنند. \fBنکته\fR: هنگام مشخص کردن \fBFile\fR، اندازه \fBCount\fR برای هر گره محدود است (در حال حاضر ۱۰۲۴). .IP .TP \fBFlags\fR فلگ‌های اختیاری که می‌توان برای تغییر رفتار پیکربندی‌شده GRES مشخص کرد. مقادیر مجاز در حال حاضر عبارتند از: .IP .RS .TP 20 \fBCountOnly\fR تلاشی برای بارگیری افزونه‌ای از نوع GRES انجام ندهد، زیرا این GRES فقط برای ردیابی تعداد GRESهای استفاده‌شده به کار می‌رود. این کار از تلاش برای بارگیری افزونه ناموجود جلوگیری می‌کند که می‌تواند بر سیستم‌های فایلی با تأخیر بالای عملیات متاداده برای فایل‌های ناموجود تأثیر منفی بگذارد. \fBنکته\fR: اگر یک GRES این فلگ را پیکربندی کرده باشد، اثر آن سراسری است؛ بنابراین تمام گره‌های دیگر دارای آن GRES نیز این فلگ را به صورت ضمنی خواهند داشت. .IP .TP \fBenv_uuid\fR تنظیم متغیرهای محیطی ارائه‌دهنده با استفاده از UUIDها به جای اندیس‌های عددی دستگاه. بر این متغیرهای محیطی تأثیر می‌گذارد: \fICUDA_VISIBLE_DEVICES\fR و \fIROCR_VISIBLE_DEVICES\fR. نیازمند استفاده از \fBAutoDetect\fR است تا UUIDها در دسترس باشند. برای مثال، به جای «\fICUDA_VISIBLE_DEVICES=0\fR»، به این صورت خواهد بود: «\fICUDA_VISIBLE_DEVICES=GPU-8932f937-d72c-4106-c12f-20bd9faed9f6\fR» .IP .TP \fBexplicit\fR در صورت تنظیم این فلگ، GRES به عنوان بخشی از تخصیص کل گره (در صورت تنظیم \-\-exclusive یا \fBExclusive=NODE\fR برای پارتیشن) به کار تخصیص نمی‌یابد، مگر اینکه صریحاً توسط کار درخواست شده باشد. \fBنکته\fR: اگر یک GRES این فلگ را پیکربندی کرده باشد، اثر آن سراسری است؛ بنابراین تمام گره‌های دیگر دارای آن GRES نیز این فلگ را به صورت ضمنی خواهند داشت. .IP .TP \fBone_sharing\fR برای استفاده بر روی یک GRES اشتراکی. در صورت استفاده از یک GRES اشتراکی (mps) روی یک GRES به اشتراک‌گذارنده (gpu)، تنها به یکی از GRESهای به اشتراک‌گذارنده اجازه می‌دهد توسط GRES اشتراکی استفاده شود. این مقدار پیش‌فرض برای MPS است. \fBنکته\fR: اگر یک GRES این فلگ را پیکربندی کرده باشد، اثر آن سراسری است؛ بنابراین تمام گره‌های دیگر با آن GRES این فلگ را به صورت ضمنی خواهند داشت. این فلگ با all_sharing برای یک GRES خاص ناسازگار است. .IP .TP \fBall_sharing\fR برای استفاده بر روی یک GRES اشتراکی. این گزینه برعکس one_sharing است و می‌تواند برای مجاز کردن تمام GRESهای به اشتراک‌گذارنده (gpu) در یک گره جهت استفاده برای GRES اشتراکی (mps) به کار رود. \fBنکته\fR: اگر یک GRES این فلگ را پیکربندی کرده باشد، اثر آن سراسری است؛ بنابراین تمام گره‌های دیگر با آن GRES این فلگ را به صورت ضمنی خواهند داشت. این فلگ با one_sharing برای یک GRES خاص ناسازگار است. .IP .TP \fBnvidia_gpu_env\fR متغیر محیطی \fICUDA_VISIBLE_DEVICES\fR را برای تمام پردازنده‌های گرافیکی روی گره(های) مشخص‌شده تنظیم می‌کند. .IP .TP \fBamd_gpu_env\fR متغیر محیطی \fIROCR_VISIBLE_DEVICES\fR را برای تمام پردازنده‌های گرافیکی روی گره(های) مشخص‌شده تنظیم می‌کند. .IP .TP \fBintel_gpu_env\fR متغیر محیطی \fIZE_AFFINITY_MASK\fR را برای تمام پردازنده‌های گرافیکی روی گره(های) مشخص‌شده تنظیم می‌کند. .IP .TP \fBopencl_env\fR متغیر محیطی \fIGPU_DEVICE_ORDINAL\fR را برای تمام پردازنده‌های گرافیکی روی گره(های) مشخص‌شده تنظیم می‌کند. .IP .TP \fBno_gpu_env\fR هیچ متغیر محیطی مختص GPU را تنظیم نمی‌کند. این گزینه با تمام فلگ‌های دیگر مرتبط با محیط متقابلاً ناسازگار است. .RE .IP اگر هیچ فلگ مرتبط با محیطی مشخص نشده باشد، آنگاه \fInvidia_gpu_env\fR، \fIamd_gpu_env\fR، \fIintel_gpu_env\fR و \fIopencl_env\fR به صورت پیش‌فرض و به شکل ضمنی تنظیم خواهند شد. اگر \fBAutoDetect\fR استفاده شود و فلگ‌های مرتبط با متغیرهای محیطی مشخص نشده باشند، آنگاه \fIAutoDetect=nvml\fR یا \fIAutoDetect=nvidia\fR فلگ \fInvidia_gpu_env\fR را تنظیم می‌کند، \fIAutoDetect=rsmi\fR فلگ \fIamd_gpu_env\fR را تنظیم می‌کند و \fIAutoDetect=oneapi\fR فلگ \fIintel_gpu_env\fR را تنظیم خواهد کرد. در مقابل، فلگ‌های مشخص‌شده مرتبط با محیط همیشه \fBAutoDetect\fR را لغو و بازنویسی می‌کنند. فلگ‌های مرتبط با محیط تنظیم‌شده در یک خط GRES، در صورتی که هیچ فلگ مرتبط با محیطی در خط بلافاصله بعد از آن مشخص نشده باشد و از همان گره، نام و نوع باشد، توسط خط بعدی به ارث برده می‌شود. فلگ‌های مرتبط با محیط برای GRESهایی با گره، نام و نوع یکسان باید یکسان باشند. توجه داشته باشید که یک مشکل شناخته‌شده در زمان اجرای AMD ROCm وجود دارد که در آن \fIROCR_VISIBLE_DEVICES\fR ابتدا پردازش می‌شود و سپس \fICUDA_VISIBLE_DEVICES\fR پردازش می‌گردد. برای جلوگیری از مشکلات ناشی از این مسئله، \fIFlags=amd_gpu_env\fR را برای پردازنده‌های گرافیکی AMD تنظیم کنید تا فقط \fIROCR_VISIBLE_DEVICES\fR تنظیم شود. .IP .TP \fBLinks\fR یک لیست جداشده با کاما از اعدادی که تعداد اتصالات بین این دستگاه و سایر دستگاه‌ها را برای امکان زمان‌بندی همزمان (Coscheduling) دستگاه‌های با اتصال بهتر مشخص می‌کند. این یک لیست مرتب است که در آن تعداد اتصالات این دستگاه خاص با دستگاه شماره ۰ در جایگاه اول، تعداد اتصالات آن با دستگاه شماره ۱ در جایگاه دوم و به همین ترتیب قرار می‌گیرد. مقدار ۱\- نشان‌دهنده خود دستگاه و مقدار ۰ نشان‌دهنده عدم اتصال است. در صورت مشخص شدن، این خط تنها می‌تواند شامل یک دستگاه GRES منفرد باشد (یعنی از طریق \fBFile\fR تنها می‌تواند شامل یک فایل باشد). این یک مقدار اختیاری است و در صورت فعال بودن \fBAutoDetect\fR معمولاً به‌طور خودکار تعیین می‌شود. یک مورد استفاده متداول، شناسایی GPUهایی است که دارای اتصال NVLink هستند. توجه داشته باشید که برای GPUها، شماره جزئی (Minor number) تخصیص‌یافته توسط سیستم‌عامل و استفاده‌شده در فایل دستگاه (یعنی X در \fI/dev/nvidiaX\fR) لزوماً همان شماره/اندیس دستگاه نیست. شماره دستگاه با مرتب‌سازی GPUها بر اساس شناسه گذرگاه PCI (PCI bus ID) و سپس شماره‌گذاری آن‌ها از کوچک‌ترین شناسه گذرگاه ایجاد می‌شود. پیوند زیر را ببینید: .br \fIhttps://slurm.schedmd.com/gres.html#GPU_Management\fR .IP .TP \fBMultipleFiles\fR مسیر کامل فایل‌های دستگاه مرتبط با یک منبع. کارت‌های گرافیکی که از فناوری پردازنده گرافیکی چندنمونه‌ای (MIG) استفاده می‌کنند، چندین فایل دستگاه ارائه می‌دهند که باید به عنوان یک منبع عمومی واحد مدیریت شوند. نام فایل‌ها می‌تواند یک لیست جداشده با کاما باشد یا می‌تواند شامل پسوند محدوده عددی باشد (مانند MultipleFiles=/dev/nvidia[0-3]). پیش از تغییر تعداد رکوردها با پارامتر \fBMultipleFiles\fR، مانند زمان افزودن یا حذف GPUها از پیکربندی گره، گره را تخلیه (Drain) کنید. عدم انجام این کار منجر به لغو و توقف هر کاری می‌شود که از آن GRESها استفاده می‌کند. هنگامی که از GPUهای دارای قابلیت MIG استفاده نمی‌کنید، به جای آن از \fBFile\fR استفاده کنید. \fBMultipleFiles\fR و \fBFile\fR مانعة‌الجمع (متقابلاً ناسازگار) هستند. .IP .TP \fBName\fR نام منبع عمومی. هر نام دلخواهی می‌تواند استفاده شود. نام باید با یک مقدار در \fBGresTypes\fR در \fIslurm.conf\fR مطابقت داشته باشد. هر منبع عمومی دارای یک افزونه اختیاری است که می‌تواند قابلیت‌های مختص منبع را ارائه دهد. منابع عمومی که در حال حاضر شامل یک افزونه اختیاری هستند عبارتند از: .IP .RS .TP \fBgpu\fR واحد پردازش گرافیکی (GPU) .IP .TP \fBmps\fR سرویس چندپردازشی کودا (CUDA MPS) .IP .TP \fBnic\fR کارت رابط شبکه (NIC) .IP .TP \fBshard\fR قطعات خردشده یک GPU (Shards) .IP .RE .TP \fBNodeName\fR تعیین اختیاری NodeName می‌تواند برای امکان‌پذیر ساختن استفاده از یک فایل gres.conf برای تمام گره‌های محاسباتی در یک خوشه، با مشخص کردن گره(هایی) که هر خط باید بر آن‌ها اعمال شود، به کار رود. مشخصه NodeName می‌تواند از مشخصه لیست میزبان‌های Slurm (hostlist) همان‌طور که در مثال زیر نشان داده شده است استفاده کند. .IP .TP \fBType\fR یک رشته اختیاری و دلخواه برای شناسایی نوع منبع عمومی. برای مثال، این گزینه می‌تواند برای شناسایی مدل خاصی از GPU استفاده شود که کاربران سپس می‌توانند آن را در درخواست کار مشخص کنند. برای اینکه تغییرات گزینه \fBType\fR با دستور scontrol reconfig اعمال شود، تمام دیمن‌های \fBslurmd\fR مربوطه باید به \fBslurmctld\fR پاسخ دهند. در غیر این صورت راه‌اندازی مجدد دیمن‌های \fBslurmctld\fR و \fBslurmd\fR الزامی است. \fBنکته\fR: در صورت استفاده از قابلیت تشخیص خودکار (autodetect) و تعریف Type در فایل gres.conf، نوع مشخص‌شده باید با مقدار شناسایی‌شده مطابقت داشته باشد یا زیررشته‌ای از آن باشد و به جای هر فاصله از زیرخط (underscore) استفاده شود. .IP .SH "مثال‌ها (EXAMPLES)" .nf ################################################################## # Slurm's Generic Resource (GRES) configuration file # Define GPU devices with MPS support, with AutoDetect sanity checking ################################################################## AutoDetect=nvml Name=gpu Type=gtx560 File=/dev/nvidia0 COREs=0,1 Name=gpu Type=tesla File=/dev/nvidia1 COREs=2,3 Name=mps Count=100 File=/dev/nvidia0 COREs=0,1 Name=mps Count=100 File=/dev/nvidia1 COREs=2,3 .fi .nf ################################################################## # Slurm's Generic Resource (GRES) configuration file # Overwrite system defaults and explicitly configure three GPUs ################################################################## Name=gpu Type=tesla File=/dev/nvidia[0\-1] COREs=0,1 # Name=gpu Type=tesla File=/dev/nvidia[2\-3] COREs=2,3 # NOTE: nvidia2 device is out of service Name=gpu Type=tesla File=/dev/nvidia3 COREs=2,3 .fi .nf ################################################################## # Slurm's Generic Resource (GRES) configuration file # Use a single gres.conf file for all compute nodes \- positive method ################################################################## ## Explicitly specify devices on nodes tux0\-tux15 # NodeName=tux[0\-15] Name=gpu File=/dev/nvidia[0\-3] # NOTE: tux3 nvidia1 device is out of service NodeName=tux[0\-2] Name=gpu File=/dev/nvidia[0\-3] NodeName=tux3 Name=gpu File=/dev/nvidia[0,2\-3] NodeName=tux[4\-15] Name=gpu File=/dev/nvidia[0\-3] .fi .nf ################################################################## # Slurm's Generic Resource (GRES) configuration file # Use NVML to gather GPU configuration information # for all nodes except one ################################################################## AutoDetect=nvml NodeName=tux3 AutoDetect=off Name=gpu File=/dev/nvidia[0\-3] .fi .nf ################################################################## # Slurm's Generic Resource (GRES) configuration file # Specify some nodes with NVML, some with RSMI, and some with no AutoDetect ################################################################## NodeName=tux[0\-7] AutoDetect=nvml NodeName=tux[8\-11] AutoDetect=rsmi NodeName=tux[12\-15] Name=gpu File=/dev/nvidia[0\-3] .fi .nf ################################################################## # Slurm's Generic Resource (GRES) configuration file # Define 'bandwidth' GRES to use as a way to limit the # resource use on these nodes for workflow purposes ################################################################## NodeName=tux[0\-7] Name=bandwidth Type=lustre Count=4G Flags=CountOnly .fi .SH "کپی‌رایت و تکثیر (COPYING)" کپی‌رایت (C) 2010 هیئت امنای دانشگاه کالیفرنیا. تولید شده در آزمایشگاه ملی لارنس لیورمور (ر.ک: سلب مسئولیت). .br کپی‌رایت (C) 2010\-2022 شرکت SchedMD LLC. .LP این پرونده بخشی از Slurm، یک برنامه مدیریت منابع است. برای جزئیات، پیوند زیر را ببینید: .br .LP نرم‌افزار Slurm یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط مجوز عمومی همگانی گنو (GNU GPL) همان‌طور که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است، چه نسخه ۲ مجوز یا (به انتخاب خودتان) هر نسخه بعدی، بازتوزیع کرده و/یا تغییر دهید. .LP نرم‌افزار Slurm با این امید که مفید واقع شود توزیع شده است، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا تناسب برای یک هدف خاص. برای جزئیات بیشتر به مجوز عمومی همگانی گنو مراجعه کنید. .SH "همچنین ببینید (SEE ALSO)" .LP \fBslurm.conf\fR(5)