Điểm:1

Slurm srun không thể phân bổ nguồn tài nguyên cho GPU - Đặc tả tài nguyên chung không hợp lệ

lá cờ ca

Tôi có thể khởi chạy công việc trên máy chủ GPU theo cách truyền thống (sử dụng CPU và MEM làm vật tư tiêu hao):

~ srun -c 1 --mem 1M -w tên máy chủ serverGpu1
máy chủGpu1

nhưng cố gắng sử dụng GPU sẽ báo lỗi:

~ srun -c 1 --mem 1M --gres=gpu:1 tên máy chủ
srun: lỗi: Không thể phân bổ tài nguyên: Đặc tả tài nguyên chung (gres) không hợp lệ

tôi đã kiểm tra cái này câu hỏi nhưng nó không giúp ích gì trong trường hợp của tôi.

Slurm.conf

Trên tất cả các nút

SlurmctldHost=vinz
SlurmctldHost=sáng bóng
GresTypes=gpu
MpiDefault=không
ProctrackType=proctrack/cgroup
ReturnToService=1
SlurmctldPidFile=/media/Slurm/slurmctld.pid
SlurmctldPort=6817
SlurmdPidFile=/var/run/slurmd.pid
SlurmdPort=6818
SlurmdSpoolDir=/var/spool/slurmd
SlurmUser=slurm
StateSaveLocation=/media/Slurm
SwitchType=switch/không có
TaskPlugin=tác vụ/cgroup

InactiveLimit=0
GiếtChờ=30
Tuổi nghề tối thiểu=300
SlurmctldTimeout=120
SlurmdTimeout=300
Thời gian chờ = 0
DefMemPerCPU=1
SchedulerType=đã lập lịch trình/điền lấp
SelectType=select/cons_tres
SelectTypeParameters=CR_CPU_Memory
AccountingStorageType=accounting_storage/none
AccountingStoreJobComment=YES
ClusterName=cụm
JobCompLoc=/media/Slurm/job_completion.txt
JobCompType=jobcomp/filetxt
JobAcctGatherFrequency=30
JobAcctGatherType=jobacct_gather/cgroup
SlurmctldDebug=thông tin
SlurmctldLogFile=/media/Slurm/slurmctld.log
SlurmdDebug=thông tin
SlurmdLogFile=/var/log/slurm-llnl/slurmd.log
MaxArraySize=10001
NodeName=docker1 CPUs=144 Boards=1 RealMemory=300000 Sockets=4 CoresPerSocket=18 ThreadsPerCore=2 Trọng lượng=100 Trạng thái=UNKNOWN
NodeName=serverGpu1 CPUs=96 RealMemory=550000 Boards=1 SocketsPerBoard=2 CoresPerSocket=24 Gres=gpu:nvidia_tesla_t4:4 ThreadsPerCore=2 Trọng lượng=500 Trạng thái=UNKNOWN

PartitionName=Cluster Nodes=docker1,serverGpu1 Default=YES MaxTime=INFINITE State=UP

cgroup.conf

Trên tất cả các nút

CgroupAutomount=có 
CgroupReleaseAgentDir="/etc/slurm-llnl/cgroup" 

ConstrainCores=có 
ConstrainDevices=có
Hạn chếRAMSpace=có

gres.conf

Chỉ trên các máy chủ GPU

Tự động phát hiện=nvml

Đối với nhật ký của máy chủ GPU:

[2021-12-06T12:22:52.800] gpu/nvml: _get_system_gpu_list_nvml: Đã phát hiện (các) thiết bị hệ thống GPU 4
[2021-12-06T12:22:52.801] Cài đặt tần số CPU không được định cấu hình cho nút này
[2021-12-06T12:22:52.803] phiên bản slurmd 20.11.2 bắt đầu
[2021-12-06T12:22:52.803] giết slurmd cũ[42176]
[2021-12-06T12:22:52.805] slurmd bắt đầu vào Thứ hai, 06 Tháng mười hai 2021 12:22:52 +0100
[2021-12-06T12:22:52.805] Slurmd tắt hoàn tất
[2021-12-06T12:22:52.805] CPUs=96 Bo mạch=1 Ổ cắm=2 Lõi=24 Luồng=2 Bộ nhớ=772654 TmpDisk=1798171 Thời gian hoạt động=8097222 CPUSpecList=(null) FeatureAvail=(null) FeatureActive=(null)

Tôi muốn một số hướng dẫn về cách giải quyết vấn đề này, xin vui lòng.

chỉnh sửa: Theo yêu cầu của @Gerald Schneider

~ sinfo -N -o "%N %G"
NODELIST GRES
docker1 (không)
máy chủGpu1 (không)
lá cờ in
bạn có thể vui lòng thêm đầu ra của `sinfo -N -o "%N %G"` không?
user324810 avatar
lá cờ ca
@GeraldSchneider đã xong!
lá cờ in
Hãy thử trực tiếp thêm GPU vào gres.conf trên nút, thay vì đặt thành Tự động phát hiện. Tôi nhận được các định nghĩa GPU chính xác trong cột %G với sinfo trên các nút của mình.
user324810 avatar
lá cờ ca
Tôi đã xóa `AutoDetect=nvml` và đặt trong `gres.conf` dòng sau: `Name=gpu File=/dev/nvidia[0-3]` và trong slurm.conf, tôi đã thay đổi NodeName của GPU bằng cách sửa đổi thành `Gres=gpu`. Trong nhật ký, tôi nhận được `[2021-12-06T16:05:47.604] CẢNH BÁO: Một dòng trong gres.conf cho GRES gpu có 3 cấu hình nhiều hơn dự kiến ​​trong slurm.conf. Bỏ qua GRES bổ sung.`
lá cờ in
Cấu hình của tôi trông rất giống với cấu hình của bạn. Sự khác biệt duy nhất mà tôi thấy là tôi đã bật AccountingStorage và đã đặt `AccountingStorageTRES=gres/gpu,gres/gpu:tesla`, nhưng tôi không nghĩ điều đó là cần thiết. Tôi cũng đã đặt `Type=` trong gres.conf, bạn có thể thử đặt thành `nvidia_tesla_t4` để nó khớp với định nghĩa của bạn trong slurm.conf.
lá cờ in
Các tệp slurm.conf có giống nhau trên các nút của bạn không? Hãy thử đặt `DebugFlags=gres` và xem liệu có điều gì hữu ích xuất hiện trong nhật ký hay không.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.