| gres.conf(5) | Slurm Configuration File | gres.conf(5) |
نام (NAME)
gres.conf - پرونده پیکربندی Slurm برای مدیریت منابع عمومی (GRES)
توضیحات (DESCRIPTION)
پرونده gres.conf یک فایل متنی اسکی (ASCII) است که پیکربندی منابع عمومی (Generic RESources یا GRES) را در هر گره محاسباتی توصیف میکند. اگر اطلاعات GRES در فایل slurm.conf این منابع را بهطور کامل توصیف نکند، باید یک فایل gres.conf در هر گره محاسباتی قرار گیرد. برای گرههای ابری، یک فایل gres.conf که شامل همه گرههای ابری باشد باید در تمامی گرههای ابری و کنترلکننده (Controller) وجود داشته باشد. این فایل همیشه در همان دایرکتوری قرار دارد که slurm.conf در آن قرار گرفته است.
اگر اطلاعات GRES در فایل slurm.conf این منابع را بهطور کامل توصیف کند (یعنی نیازی به مشخص کردن «Cores»، «File» یا «Links» برای آن نوع GRES نباشد یا این اطلاعات بهطور خودکار شناسایی شوند)، این اطلاعات را میتوان از فایل gres.conf حذف کرد و تنها از اطلاعات پیکربندی موجود در فایل slurm.conf استفاده خواهد شد. در صورتی که اطلاعات پیکربندی در فایل slurm.conf تمام GRESها را بهطور کامل توصیف کند، میتوان فایل gres.conf را بهطور کامل نادیده گرفت و حذف کرد.
در صورت استفاده از فایل gres.conf برای توصیف منابع در دسترس گرهها، اولین پارامتر در خط باید NodeName باشد. در صورت پیکربندی منابع عمومی بدون مشخص کردن گرهها، اولین پارامتر در خط باید Name باشد.
نام پارامترها به بزرگی و کوچکی حروف حساس نیستند. هر متنی پس از نویسه «#» در فایل پیکربندی تا انتهای آن خط به عنوان توضیح (کامنت) در نظر گرفته میشود. تغییرات در فایل پیکربندی پس از راهاندازی مجدد دیمنهای Slurm، دریافت سیگنال SIGHUP توسط دیمن، یا اجرای دستور «scontrol reconfigure» اعمال میشوند، مگر اینکه خلاف آن ذکر شده باشد.
نکته:
پشتیبانی Slurm
از gres/[mps|shard]
نیازمند
استفاده از
افزونه select/cons_tres
است. برای
اطلاعات
بیشتر
درباره
نحوه
پیکربندی MPS،
پیوند زیر
را ببینید:
https://slurm.schedmd.com/gres.html#MPS_Management
برای
اطلاعات
بیشتر
درباره
نحوه
پیکربندی
Sharding، پیوند
زیر را
ببینید:
https://slurm.schedmd.com/gres.html#Sharding
برای کسب
اطلاعات
بیشتر
درباره
زمانبندی
GRES بهطور
کلی، پیوند
زیر را
ببینید:
https://slurm.schedmd.com/gres.html
پارامترهای پیکربندی کلی موجود عبارتند از:
- AutoDetect
- سازوکارهای تشخیص سختافزار جهت فعالسازی برای پیکربندی خودکار GRES. در حال حاضر، گزینهها عبارتند از:
- full
- در slurmd، تمام
سازوکارهای
تشخیص
سختافزار
را به ترتیب
(NVML، NVIDIA، RSMI، oneAPI، NRT)
تا زمان
شناسایی
GPUها امتحان
میکند و پس
از اولین
سازوکاری
که دستگاهی
پیدا کند،
متوقف
میشود.
نکته: این گزینه پیشفرض برای گرههای پویا (slurmd -Z) است هنگامی که gres.conf هیچ تنظیم AutoDetect و هیچ رکورد صریح Name=gpu نداشته باشد.
- nrt
- شناسایی خودکار دستگاههای AWS Trainium/Inferentia.
- nvidia
- شناسایی خودکار پردازندههای گرافیکی NVIDIA. نیازی به هیچ کتابخانهای ندارد، اما MIGها یا NVlinkها را شناسایی نمیکند. در Slurm 24.11 اضافه شد.
- nvml
- شناسایی خودکار پردازندههای گرافیکی NVIDIA. نیازمند کتابخانه مدیریت انویدیا (NVML) است.
- off
- عدم شناسایی خودکار هرگونه GPU. برای لغو و بازنویسی سایر گزینهها به کار میرود.
- oneapi
- شناسایی خودکار پردازندههای گرافیکی اینتل (Intel). نیازمند درایور Intel Graphics Compute Runtime برای oneAPI Level Zero و OpenCL (oneapi) است.
- rsmi
- شناسایی خودکار پردازندههای گرافیکی AMD. نیازمند کتابخانه رابط مدیریت سیستم راکام (ROCm SMI) است.
- گزینه AutoDetect
میتواند
در یک خط به
تنهایی
قرار گیرد،
که در این
حالت
بهطور
پیشفرض به
صورت
سراسری بر
روی تمام
خطوط موجود
در gres.conf اعمال
خواهد شد.
علاوه بر
این، AutoDetect
میتواند
با NodeName ترکیب
شود تا فقط
بر روی
گرههای
خاصی اعمال
گردد.
مقادیر AutoDetect
مختص یک گره
بر مقدار
سراسری AutoDetect
ارجحیت
دارند. یک
مقدار AutoDetect
مختص گره
فقط لازم
است یک بار
برای هر گره
مشخص شود.
در صورت
مشخص شدن
چندباره
برای همان
گرهها،
تمام
مقادیر
باید یکسان
باشند. برای
لغو تنظیم
AutoDetect برای یک
گره در
زمانی که
مقدار
سراسری AutoDetect
تنظیم شده
است، کافی
است در خط GRES
مختص آن
گره، آن را
برابر با
«off» قرار
دهید؛ برای
مثال: NodeName=tux3 AutoDetect=off Name=gpu
File=/dev/nvidia[0-3]. گزینه
AutoDetect را
نمیتوان
برای
گرههای
ابری
استفاده
کرد.
گزینه AutoDetect فایلها، هستهها، پیوندها و هر سختافزار دیگری را بهطور خودکار شناسایی خواهد کرد. اگر پارامتری مانند File، Cores یا Links در زمان استفاده از AutoDetect مشخص شود، مقادیر مشخصشده برای بررسی صحت و اعتبارسنجی (Sanity check) مقادیر شناساییشده خودکار استفاده میشوند. در صورت وجود هرگونه عدم تطابق، وضعیت گره به حالت نامعتبر (Invalid) درآمده و گره تخلیه (Drain) میشود.
- Count
- تعداد منابع با این نام/نوع که بر روی این گره در دسترس هستند. مقدار پیشفرض بر روی تعداد مقادیر File مشخصشده (در صورت وجود) تنظیم میشود، در غیر این صورت مقدار پیشفرض یک است. از پسوندهای «K»، «M»، «G»، «T» یا «P» میتوان برای ضرب عدد به ترتیب در ۱۰۲۴، ۱۰۴۸۵۷۶، ۱۰۷۳۷۴۱۸۲۴ و غیره استفاده کرد؛ برای مثال: «Count=10G».
- Cores
- به صورت
اختیاری،
شماره
اندیس
هستههای
متناظر با
سوکتهای*
خاصی را که
میتوانند
از این منبع
استفاده
کنند مشخص
میکند.
اگر از این گزینه استفاده شود، تمام هستههای یک سوکت* باید با هم مشخص شوند. اگرچه Slurm میتواند منابع را در سطح CPU یا ریسه (Thread) ردیابی و تخصیص دهد، الگوریتمهای زمانبندی آن که برای تخصیص همزمان دستگاههای GRES با پردازندهها استفاده میشوند، برای تخصیص کارهای محاسباتی در سطح سوکت* عمل میکنند. بنابراین، تخصیص ترجیحی GRES به پردازندههای خاص متفاوت در همان سوکت* امکانپذیر نیست.
*میتوان با استفاده از SlurmdParameters=numa_node_as_socket به جای سوکتها از گرههای NUMA، یا با استفاده از SlurmdParameters=l3cache_as_socket از حافظه نهان سطح ۳ (l3cache) استفاده کرد.
چندین هسته را میتوان با استفاده از یک لیست جداشده با کاما، یا یک محدوده با استفاده از جداکننده «-» مشخص کرد (مانند «0,1,2,3» یا «0-3»). اگر کاری --gres-flags=enforce-binding را مشخص کرده باشد، تنها هستههای مشخصشده را میتوان به همراه هر منبع عمومی تخصیص داد. این کار تمایل به بهبود کارایی برنامهها دارد، اما تخصیص منابع به آنها را به تاخیر میاندازد. اگر هستهها مشخص شده باشند اما کاری بدون گزینه --gres-flags=enforce-binding ارسال شود، هستههای مشخصشده برای زمانبندی به همراه هر منبع عمومی در اولویت قرار خواهند گرفت.
اگر --gres-flags=disable-binding مشخص شود، هر هستهای میتواند با این منابع استفاده شود که این کار سرعت الگوریتم زمانبندی Slurm را افزایش میدهد اما میتواند کارایی برنامه را کاهش دهد. گزینه --gres-flags=disable-binding در حال حاضر برای استفاده از پردازندههایی بیش از آنچه به یک GRES متصل شدهاند الزامی است (مثلاً اگر یک GPU به پردازندههای یک سوکت مقید شده باشد، اما برای اجرای کار به منابع بیش از یک سوکت نیاز باشد). اگر هر هستهای بتواند بهطور موثر با منابع استفاده شود، برای افزایش سرعت در منطق زمانبندی Slurm، گزینه cores را مشخص نکنید. برای اعمال تغییرات در گزینه Cores، راهاندازی مجدد slurmctld الزامی است.
نکته: از آنجا که Slurm باید بتواند مدیریت منابع را در خوشههای ناهمگن با طرحهای مختلف شمارهگذاری واحدهای پردازشی انجام دهد، باید به جای اندیس هسته فیزیکی، یک اندیس هسته منطقی مشخص شود. این اندیس هسته منطقی ممکن است با شماره اندیس هسته فیزیکی شما یکسان نباشد. هسته ۰ اولین هسته روی اولین سوکت خواهد بود، در حالی که هسته ۱ دومین هسته روی اولین سوکت است. این شمارهگذاری با شماره هسته منطقی (Core L#) که در خروجی دستور «lstopo -l» مشاهده میشود مطابقت دارد.
- File
- مسیر کامل
فایلهای
دستگاه
مرتبط با یک
منبع. این
نام
میتواند
شامل یک
پسوند
محدوده
عددی باشد
تا توسط Slurm
تفسیر شود
(مانند File=/dev/nvidia[0-3]).
این فیلد معمولاً در صورتی الزامی است که اجرای اجباری تخصیص منابع عمومی مد نظر باشد (یعنی جلوگیری از استفاده کاربران از منابع تخصیصیافته به یک کاربر دیگر). اعمال اجباری تخصیص فایل بر گروههای کنترل لینوکس (cgroups) و افزونه task/cgroup در Slurm متکی است که فایلهای تخصیصیافته را در cgroup کار قرار میدهد و از دسترسی به سایر فایلها جلوگیری میکند. برای اطلاعات بیشتر، لطفاً راهنمای Cgroups در Slurm را ببینید:
https://slurm.schedmd.com/cgroups.htmlاگر File مشخص شده باشد، آنگاه Count یا باید برابر با تعداد نامهای فایل مشخصشده تنظیم شود یا اصلاً تنظیم نشود (مقدار پیشفرض، تعداد فایلهای مشخصشده است). استثنای این قاعده، MPS/Sharding است. برای هر یک از این GRESها، هر GPU با استفاده از پارامتر File توسط فایل دستگاه مشخص میشود و Count تعداد ورودیهای متناظر با آن GPU را تعیین میکند. برای MPS، این مقدار معمولاً ۱۰۰ یا مضربی از ۱۰۰ است. برای Sharding، معمولاً حداکثر تعداد کارهایی است که میتوانند بهطور همزمان آن GPU را به اشتراک بگذارند.
در صورت استفاده از کارتی با قابلیت پردازنده گرافیکی چندنمونهای (MIG)، به جای آن از MultipleFiles استفاده کنید. File و MultipleFiles مانعةالجمع (متقابلاً ناسازگار) هستند.
نکته: پارامتر File برای تمام GRESهای با نوع gpu الزامی است.
نکته: اگر پارامتر File را برای یک منبع در یک گره مشخص کنید، این گزینه باید در تمام گرهها مشخص شود و Slurm تخصیص هر منبع خاص را در هر گره ردیابی خواهد کرد. در غیر این صورت، Slurm به جای وضعیت هر فایل دستگاه به صورت مجزا، تنها تعداد منابع تخصیصیافته را ردیابی خواهد کرد.
نکته: پیش از تغییر تعداد رکوردهای دارای پارامتر File (برای مثال اگر میخواهید GPUهایی را از پیکربندی گره اضافه یا حذف کنید)، گره را تخلیه (Drain) کنید. عدم انجام این کار منجر به لغو و توقف تمام کارهایی میشود که از آن GRESها استفاده میکنند.
نکته: هنگام مشخص کردن File، اندازه Count برای هر گره محدود است (در حال حاضر ۱۰۲۴).
- Flags
- فلگهای
اختیاری که
میتوان
برای تغییر
رفتار
پیکربندیشده
GRES مشخص کرد.
مقادیر مجاز در حال حاضر عبارتند از:
- CountOnly
- تلاشی برای
بارگیری
افزونهای
از نوع GRES
انجام
ندهد، زیرا
این GRES فقط
برای
ردیابی
تعداد GRESهای
استفادهشده
به کار
میرود. این
کار از تلاش
برای
بارگیری
افزونه
ناموجود
جلوگیری
میکند که
میتواند
بر
سیستمهای
فایلی با
تأخیر
بالای
عملیات
متاداده
برای
فایلهای
ناموجود
تأثیر منفی
بگذارد.
نکته: اگر یک GRES این فلگ را پیکربندی کرده باشد، اثر آن سراسری است؛ بنابراین تمام گرههای دیگر دارای آن GRES نیز این فلگ را به صورت ضمنی خواهند داشت.
- env_uuid
- تنظیم
متغیرهای
محیطی
ارائهدهنده
با استفاده
از UUIDها به
جای
اندیسهای
عددی
دستگاه. بر
این
متغیرهای
محیطی
تأثیر
میگذارد:
CUDA_VISIBLE_DEVICES و ROCR_VISIBLE_DEVICES.
نیازمند
استفاده از
AutoDetect است تا
UUIDها در
دسترس
باشند.
برای مثال، به جای «CUDA_VISIBLE_DEVICES=0»، به این صورت خواهد بود: «CUDA_VISIBLE_DEVICES=GPU-8932f937-d72c-4106-c12f-20bd9faed9f6»
- explicit
- در صورت
تنظیم این
فلگ، GRES به
عنوان بخشی
از تخصیص کل
گره (در
صورت تنظیم
--exclusive یا Exclusive=NODE
برای
پارتیشن) به
کار تخصیص
نمییابد،
مگر اینکه
صریحاً
توسط کار
درخواست
شده باشد.
نکته: اگر یک GRES این فلگ را پیکربندی کرده باشد، اثر آن سراسری است؛ بنابراین تمام گرههای دیگر دارای آن GRES نیز این فلگ را به صورت ضمنی خواهند داشت.
- one_sharing
- برای
استفاده بر
روی یک GRES
اشتراکی. در
صورت
استفاده از
یک GRES
اشتراکی (mps)
روی یک GRES به
اشتراکگذارنده
(gpu)، تنها به
یکی از GRESهای
به
اشتراکگذارنده
اجازه
میدهد
توسط GRES
اشتراکی
استفاده
شود. این
مقدار
پیشفرض
برای MPS است.
نکته: اگر یک GRES این فلگ را پیکربندی کرده باشد، اثر آن سراسری است؛ بنابراین تمام گرههای دیگر با آن GRES این فلگ را به صورت ضمنی خواهند داشت. این فلگ با all_sharing برای یک GRES خاص ناسازگار است.
- all_sharing
- برای
استفاده بر
روی یک GRES
اشتراکی.
این گزینه
برعکس one_sharing
است و
میتواند
برای مجاز
کردن تمام
GRESهای به
اشتراکگذارنده
(gpu) در یک گره
جهت
استفاده
برای GRES
اشتراکی (mps)
به کار رود.
نکته: اگر یک GRES این فلگ را پیکربندی کرده باشد، اثر آن سراسری است؛ بنابراین تمام گرههای دیگر با آن GRES این فلگ را به صورت ضمنی خواهند داشت. این فلگ با one_sharing برای یک GRES خاص ناسازگار است.
- nvidia_gpu_env
- متغیر محیطی CUDA_VISIBLE_DEVICES را برای تمام پردازندههای گرافیکی روی گره(های) مشخصشده تنظیم میکند.
- amd_gpu_env
- متغیر محیطی ROCR_VISIBLE_DEVICES را برای تمام پردازندههای گرافیکی روی گره(های) مشخصشده تنظیم میکند.
- intel_gpu_env
- متغیر محیطی ZE_AFFINITY_MASK را برای تمام پردازندههای گرافیکی روی گره(های) مشخصشده تنظیم میکند.
- opencl_env
- متغیر محیطی GPU_DEVICE_ORDINAL را برای تمام پردازندههای گرافیکی روی گره(های) مشخصشده تنظیم میکند.
- no_gpu_env
- هیچ متغیر محیطی مختص GPU را تنظیم نمیکند. این گزینه با تمام فلگهای دیگر مرتبط با محیط متقابلاً ناسازگار است.
- اگر هیچ فلگ
مرتبط با
محیطی مشخص
نشده باشد،
آنگاه nvidia_gpu_env،
amd_gpu_env، intel_gpu_env و opencl_env
به صورت
پیشفرض و
به شکل ضمنی
تنظیم
خواهند شد.
اگر AutoDetect
استفاده
شود و
فلگهای
مرتبط با
متغیرهای
محیطی مشخص
نشده
باشند،
آنگاه AutoDetect=nvml
یا AutoDetect=nvidia فلگ
nvidia_gpu_env را
تنظیم
میکند،
AutoDetect=rsmi فلگ amd_gpu_env
را تنظیم
میکند و
AutoDetect=oneapi فلگ intel_gpu_env
را تنظیم
خواهد کرد.
در مقابل،
فلگهای
مشخصشده
مرتبط با
محیط همیشه
AutoDetect را لغو و
بازنویسی
میکنند.
فلگهای مرتبط با محیط تنظیمشده در یک خط GRES، در صورتی که هیچ فلگ مرتبط با محیطی در خط بلافاصله بعد از آن مشخص نشده باشد و از همان گره، نام و نوع باشد، توسط خط بعدی به ارث برده میشود. فلگهای مرتبط با محیط برای GRESهایی با گره، نام و نوع یکسان باید یکسان باشند.
توجه داشته باشید که یک مشکل شناختهشده در زمان اجرای AMD ROCm وجود دارد که در آن ROCR_VISIBLE_DEVICES ابتدا پردازش میشود و سپس CUDA_VISIBLE_DEVICES پردازش میگردد. برای جلوگیری از مشکلات ناشی از این مسئله، Flags=amd_gpu_env را برای پردازندههای گرافیکی AMD تنظیم کنید تا فقط ROCR_VISIBLE_DEVICES تنظیم شود.
- Links
- یک لیست
جداشده با
کاما از
اعدادی که
تعداد
اتصالات
بین این
دستگاه و
سایر
دستگاهها
را برای
امکان
زمانبندی
همزمان (Coscheduling)
دستگاههای
با اتصال
بهتر مشخص
میکند. این
یک لیست
مرتب است که
در آن تعداد
اتصالات
این دستگاه
خاص با
دستگاه
شماره ۰ در
جایگاه
اول، تعداد
اتصالات آن
با دستگاه
شماره ۱ در
جایگاه دوم
و به همین
ترتیب قرار
میگیرد.
مقدار ۱-
نشاندهنده
خود دستگاه
و مقدار ۰
نشاندهنده
عدم اتصال
است. در
صورت مشخص
شدن، این خط
تنها
میتواند
شامل یک
دستگاه GRES
منفرد باشد
(یعنی از
طریق File
تنها
میتواند
شامل یک
فایل باشد).
این یک مقدار اختیاری است و در صورت فعال بودن AutoDetect معمولاً بهطور خودکار تعیین میشود. یک مورد استفاده متداول، شناسایی GPUهایی است که دارای اتصال NVLink هستند. توجه داشته باشید که برای GPUها، شماره جزئی (Minor number) تخصیصیافته توسط سیستمعامل و استفادهشده در فایل دستگاه (یعنی X در /dev/nvidiaX) لزوماً همان شماره/اندیس دستگاه نیست. شماره دستگاه با مرتبسازی GPUها بر اساس شناسه گذرگاه PCI (PCI bus ID) و سپس شمارهگذاری آنها از کوچکترین شناسه گذرگاه ایجاد میشود. پیوند زیر را ببینید:
https://slurm.schedmd.com/gres.html#GPU_Management
- MultipleFiles
- مسیر کامل
فایلهای
دستگاه
مرتبط با یک
منبع.
کارتهای
گرافیکی که
از فناوری
پردازنده
گرافیکی
چندنمونهای
(MIG) استفاده
میکنند،
چندین فایل
دستگاه
ارائه
میدهند که
باید به
عنوان یک
منبع عمومی
واحد
مدیریت
شوند. نام
فایلها
میتواند
یک لیست
جداشده با
کاما باشد
یا
میتواند
شامل پسوند
محدوده
عددی باشد
(مانند MultipleFiles=/dev/nvidia[0-3]).
پیش از تغییر تعداد رکوردها با پارامتر MultipleFiles، مانند زمان افزودن یا حذف GPUها از پیکربندی گره، گره را تخلیه (Drain) کنید. عدم انجام این کار منجر به لغو و توقف هر کاری میشود که از آن GRESها استفاده میکند.
هنگامی که از GPUهای دارای قابلیت MIG استفاده نمیکنید، به جای آن از File استفاده کنید. MultipleFiles و File مانعةالجمع (متقابلاً ناسازگار) هستند.
- Name
- نام منبع عمومی. هر نام دلخواهی میتواند استفاده شود. نام باید با یک مقدار در GresTypes در slurm.conf مطابقت داشته باشد. هر منبع عمومی دارای یک افزونه اختیاری است که میتواند قابلیتهای مختص منبع را ارائه دهد. منابع عمومی که در حال حاضر شامل یک افزونه اختیاری هستند عبارتند از:
- gpu
- واحد پردازش گرافیکی (GPU)
- mps
- سرویس چندپردازشی کودا (CUDA MPS)
- nic
- کارت رابط شبکه (NIC)
- قطعات خردشده یک GPU (Shards)
- NodeName
- تعیین اختیاری NodeName میتواند برای امکانپذیر ساختن استفاده از یک فایل gres.conf برای تمام گرههای محاسباتی در یک خوشه، با مشخص کردن گره(هایی) که هر خط باید بر آنها اعمال شود، به کار رود. مشخصه NodeName میتواند از مشخصه لیست میزبانهای Slurm (hostlist) همانطور که در مثال زیر نشان داده شده است استفاده کند.
- Type
- یک رشته
اختیاری و
دلخواه
برای
شناسایی
نوع منبع
عمومی. برای
مثال، این
گزینه
میتواند
برای
شناسایی
مدل خاصی از
GPU استفاده
شود که
کاربران
سپس
میتوانند
آن را در
درخواست
کار مشخص
کنند. برای
اینکه
تغییرات
گزینه Type با
دستور scontrol reconfig
اعمال شود،
تمام
دیمنهای
slurmd مربوطه
باید به slurmctld
پاسخ دهند.
در غیر این
صورت
راهاندازی
مجدد
دیمنهای
slurmctld و slurmd
الزامی است.
نکته: در صورت استفاده از قابلیت تشخیص خودکار (autodetect) و تعریف Type در فایل gres.conf، نوع مشخصشده باید با مقدار شناساییشده مطابقت داشته باشد یا زیررشتهای از آن باشد و به جای هر فاصله از زیرخط (underscore) استفاده شود.
مثالها (EXAMPLES)
################################################################## # 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
################################################################## # 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
################################################################## # 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]
################################################################## # 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]
################################################################## # 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]
################################################################## # 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
کپیرایت و تکثیر (COPYING)
کپیرایت
(C) 2010 هیئت
امنای
دانشگاه
کالیفرنیا.
تولید شده
در
آزمایشگاه
ملی لارنس
لیورمور (ر.ک:
سلب
مسئولیت).
کپیرایت (C) 2010-2022
شرکت SchedMD LLC.
این
پرونده
بخشی از Slurm،
یک برنامه
مدیریت
منابع است.
برای
جزئیات،
پیوند زیر
را ببینید:
https://slurm.schedmd.com
نرمافزار Slurm یک نرمافزار آزاد است؛ شما میتوانید آن را تحت شرایط مجوز عمومی همگانی گنو (GNU GPL) همانطور که توسط بنیاد نرمافزارهای آزاد منتشر شده است، چه نسخه ۲ مجوز یا (به انتخاب خودتان) هر نسخه بعدی، بازتوزیع کرده و/یا تغییر دهید.
نرمافزار Slurm با این امید که مفید واقع شود توزیع شده است، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا تناسب برای یک هدف خاص. برای جزئیات بیشتر به مجوز عمومی همگانی گنو مراجعه کنید.
همچنین ببینید (SEE ALSO)
| Slurm Configuration File | Slurm 26.05 |