gres.conf(5) Slurm Configuration File gres.conf(5)

gres.conf - پرونده پیکربندی Slurm برای مدیریت منابع عمومی (GRES)

پرونده 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

پارامترهای پیکربندی کلی موجود عبارتند از:

سازوکارهای تشخیص سخت‌افزار جهت فعال‌سازی برای پیکربندی خودکار GRES. در حال حاضر، گزینه‌ها عبارتند از:
در slurmd، تمام سازوکارهای تشخیص سخت‌افزار را به ترتیب (NVML، NVIDIA، RSMI، oneAPI، NRT) تا زمان شناسایی GPUها امتحان می‌کند و پس از اولین سازوکاری که دستگاهی پیدا کند، متوقف می‌شود.

نکته: این گزینه پیش‌فرض برای گره‌های پویا (slurmd -Z) است هنگامی که gres.conf هیچ تنظیم AutoDetect و هیچ رکورد صریح Name=gpu نداشته باشد.

شناسایی خودکار دستگاه‌های AWS Trainium/Inferentia.
شناسایی خودکار پردازنده‌های گرافیکی NVIDIA. نیازی به هیچ کتابخانه‌ای ندارد، اما MIGها یا NVlinkها را شناسایی نمی‌کند. در Slurm 24.11 اضافه شد.
شناسایی خودکار پردازنده‌های گرافیکی NVIDIA. نیازمند کتابخانه مدیریت انویدیا (NVML) است.
عدم شناسایی خودکار هرگونه GPU. برای لغو و بازنویسی سایر گزینه‌ها به کار می‌رود.
شناسایی خودکار پردازنده‌های گرافیکی اینتل (Intel). نیازمند درایور Intel Graphics Compute Runtime برای oneAPI Level Zero و OpenCL (oneapi) است.
شناسایی خودکار پردازنده‌های گرافیکی 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) می‌شود.

تعداد منابع با این نام/نوع که بر روی این گره در دسترس هستند. مقدار پیش‌فرض بر روی تعداد مقادیر File مشخص‌شده (در صورت وجود) تنظیم می‌شود، در غیر این صورت مقدار پیش‌فرض یک است. از پسوندهای «K»، «M»، «G»، «T» یا «P» می‌توان برای ضرب عدد به ترتیب در ۱۰۲۴، ۱۰۴۸۵۷۶، ۱۰۷۳۷۴۱۸۲۴ و غیره استفاده کرد؛ برای مثال: «Count=10G».
به صورت اختیاری، شماره اندیس هسته‌های متناظر با سوکت‌های* خاصی را که می‌توانند از این منبع استفاده کنند مشخص می‌کند.

اگر از این گزینه استفاده شود، تمام هسته‌های یک سوکت* باید با هم مشخص شوند. اگرچه 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» مشاهده می‌شود مطابقت دارد.

مسیر کامل فایل‌های دستگاه مرتبط با یک منبع. این نام می‌تواند شامل یک پسوند محدوده عددی باشد تا توسط 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 برای هر گره محدود است (در حال حاضر ۱۰۲۴).

فلگ‌های اختیاری که می‌توان برای تغییر رفتار پیکربندی‌شده GRES مشخص کرد.

مقادیر مجاز در حال حاضر عبارتند از:

تلاشی برای بارگیری افزونه‌ای از نوع GRES انجام ندهد، زیرا این GRES فقط برای ردیابی تعداد GRESهای استفاده‌شده به کار می‌رود. این کار از تلاش برای بارگیری افزونه ناموجود جلوگیری می‌کند که می‌تواند بر سیستم‌های فایلی با تأخیر بالای عملیات متاداده برای فایل‌های ناموجود تأثیر منفی بگذارد.

نکته: اگر یک GRES این فلگ را پیکربندی کرده باشد، اثر آن سراسری است؛ بنابراین تمام گره‌های دیگر دارای آن GRES نیز این فلگ را به صورت ضمنی خواهند داشت.

تنظیم متغیرهای محیطی ارائه‌دهنده با استفاده از UUIDها به جای اندیس‌های عددی دستگاه. بر این متغیرهای محیطی تأثیر می‌گذارد: CUDA_VISIBLE_DEVICES و ROCR_VISIBLE_DEVICES. نیازمند استفاده از AutoDetect است تا UUIDها در دسترس باشند.

برای مثال، به جای «CUDA_VISIBLE_DEVICES=0»، به این صورت خواهد بود: «CUDA_VISIBLE_DEVICES=GPU-8932f937-d72c-4106-c12f-20bd9faed9f6»

در صورت تنظیم این فلگ، GRES به عنوان بخشی از تخصیص کل گره (در صورت تنظیم --exclusive یا Exclusive=NODE برای پارتیشن) به کار تخصیص نمی‌یابد، مگر اینکه صریحاً توسط کار درخواست شده باشد.

نکته: اگر یک GRES این فلگ را پیکربندی کرده باشد، اثر آن سراسری است؛ بنابراین تمام گره‌های دیگر دارای آن GRES نیز این فلگ را به صورت ضمنی خواهند داشت.

برای استفاده بر روی یک GRES اشتراکی. در صورت استفاده از یک GRES اشتراکی (mps) روی یک GRES به اشتراک‌گذارنده (gpu)، تنها به یکی از GRESهای به اشتراک‌گذارنده اجازه می‌دهد توسط GRES اشتراکی استفاده شود. این مقدار پیش‌فرض برای MPS است.

نکته: اگر یک GRES این فلگ را پیکربندی کرده باشد، اثر آن سراسری است؛ بنابراین تمام گره‌های دیگر با آن GRES این فلگ را به صورت ضمنی خواهند داشت. این فلگ با all_sharing برای یک GRES خاص ناسازگار است.

برای استفاده بر روی یک GRES اشتراکی. این گزینه برعکس one_sharing است و می‌تواند برای مجاز کردن تمام GRESهای به اشتراک‌گذارنده (gpu) در یک گره جهت استفاده برای GRES اشتراکی (mps) به کار رود.

نکته: اگر یک GRES این فلگ را پیکربندی کرده باشد، اثر آن سراسری است؛ بنابراین تمام گره‌های دیگر با آن GRES این فلگ را به صورت ضمنی خواهند داشت. این فلگ با one_sharing برای یک GRES خاص ناسازگار است.

متغیر محیطی CUDA_VISIBLE_DEVICES را برای تمام پردازنده‌های گرافیکی روی گره(های) مشخص‌شده تنظیم می‌کند.
متغیر محیطی ROCR_VISIBLE_DEVICES را برای تمام پردازنده‌های گرافیکی روی گره(های) مشخص‌شده تنظیم می‌کند.
متغیر محیطی ZE_AFFINITY_MASK را برای تمام پردازنده‌های گرافیکی روی گره(های) مشخص‌شده تنظیم می‌کند.
متغیر محیطی GPU_DEVICE_ORDINAL را برای تمام پردازنده‌های گرافیکی روی گره(های) مشخص‌شده تنظیم می‌کند.
هیچ متغیر محیطی مختص 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 تنظیم شود.

یک لیست جداشده با کاما از اعدادی که تعداد اتصالات بین این دستگاه و سایر دستگاه‌ها را برای امکان زمان‌بندی همزمان (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

مسیر کامل فایل‌های دستگاه مرتبط با یک منبع. کارت‌های گرافیکی که از فناوری پردازنده گرافیکی چندنمونه‌ای (MIG) استفاده می‌کنند، چندین فایل دستگاه ارائه می‌دهند که باید به عنوان یک منبع عمومی واحد مدیریت شوند. نام فایل‌ها می‌تواند یک لیست جداشده با کاما باشد یا می‌تواند شامل پسوند محدوده عددی باشد (مانند MultipleFiles=/dev/nvidia[0-3]).

پیش از تغییر تعداد رکوردها با پارامتر MultipleFiles، مانند زمان افزودن یا حذف GPUها از پیکربندی گره، گره را تخلیه (Drain) کنید. عدم انجام این کار منجر به لغو و توقف هر کاری می‌شود که از آن GRESها استفاده می‌کند.

هنگامی که از GPUهای دارای قابلیت MIG استفاده نمی‌کنید، به جای آن از File استفاده کنید. MultipleFiles و File مانعة‌الجمع (متقابلاً ناسازگار) هستند.

نام منبع عمومی. هر نام دلخواهی می‌تواند استفاده شود. نام باید با یک مقدار در GresTypes در slurm.conf مطابقت داشته باشد. هر منبع عمومی دارای یک افزونه اختیاری است که می‌تواند قابلیت‌های مختص منبع را ارائه دهد. منابع عمومی که در حال حاضر شامل یک افزونه اختیاری هستند عبارتند از:
واحد پردازش گرافیکی (GPU)
سرویس چندپردازشی کودا (CUDA MPS)
کارت رابط شبکه (NIC)
قطعات خردشده یک GPU (Shards)
تعیین اختیاری NodeName می‌تواند برای امکان‌پذیر ساختن استفاده از یک فایل gres.conf برای تمام گره‌های محاسباتی در یک خوشه، با مشخص کردن گره(هایی) که هر خط باید بر آن‌ها اعمال شود، به کار رود. مشخصه NodeName می‌تواند از مشخصه لیست میزبان‌های Slurm (hostlist) همان‌طور که در مثال زیر نشان داده شده است استفاده کند.
یک رشته اختیاری و دلخواه برای شناسایی نوع منبع عمومی. برای مثال، این گزینه می‌تواند برای شناسایی مدل خاصی از GPU استفاده شود که کاربران سپس می‌توانند آن را در درخواست کار مشخص کنند. برای اینکه تغییرات گزینه Type با دستور scontrol reconfig اعمال شود، تمام دیمن‌های slurmd مربوطه باید به slurmctld پاسخ دهند. در غیر این صورت راه‌اندازی مجدد دیمن‌های slurmctld و slurmd الزامی است.

نکته: در صورت استفاده از قابلیت تشخیص خودکار (autodetect) و تعریف Type در فایل gres.conf، نوع مشخص‌شده باید با مقدار شناسایی‌شده مطابقت داشته باشد یا زیررشته‌ای از آن باشد و به جای هر فاصله از زیرخط (underscore) استفاده شود.

##################################################################
# 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

کپی‌رایت (C) 2010 هیئت امنای دانشگاه کالیفرنیا. تولید شده در آزمایشگاه ملی لارنس لیورمور (ر.ک: سلب مسئولیت).
کپی‌رایت (C) 2010-2022 شرکت SchedMD LLC.

این پرونده بخشی از Slurm، یک برنامه مدیریت منابع است. برای جزئیات، پیوند زیر را ببینید:
https://slurm.schedmd.com

نرم‌افزار Slurm یک نرم‌افزار آزاد است؛ شما می‌توانید آن را تحت شرایط مجوز عمومی همگانی گنو (GNU GPL) همان‌طور که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است، چه نسخه ۲ مجوز یا (به انتخاب خودتان) هر نسخه بعدی، بازتوزیع کرده و/یا تغییر دهید.

نرم‌افزار Slurm با این امید که مفید واقع شود توزیع شده است، اما بدون هرگونه ضمانت؛ حتی بدون ضمانت ضمنی قابل فروش بودن یا تناسب برای یک هدف خاص. برای جزئیات بیشتر به مجوز عمومی همگانی گنو مراجعه کنید.

slurm.conf(5)

Slurm Configuration File Slurm 26.05