Skip to content

Commit 7ccde9d

Browse files
committed
fix bug
1 parent 88f9ffa commit 7ccde9d

File tree

4 files changed

+33
-25
lines changed

4 files changed

+33
-25
lines changed

internal/cacct/cacct.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ func ProcessAccount(task *protos.TaskInfo) string {
321321
return task.Account
322322
}
323323

324-
// ReqCPUs
324+
// ReqCPUs (C)
325325
func ProcessReqCPUs(task *protos.TaskInfo) string {
326326
return strconv.FormatFloat(task.ReqResView.AllocatableRes.CpuCoreLimit*float64(task.NodeNum), 'f', 2, 64)
327327
}
@@ -557,8 +557,8 @@ var fieldProcessors = map[string]FieldProcessor{
557557
"reqmempernode": {"ReqMemPerNode", ProcessReqMemPerNode},
558558

559559
// Group m
560-
"m": {"AllocMemPerNode", ProcessAllocMemPerNode},
561-
"mempernode": {"AllocMemPerNode", ProcessAllocMemPerNode},
560+
"m": {"AllocMemPerNode", ProcessAllocMemPerNode},
561+
"allocmempernode": {"AllocMemPerNode", ProcessAllocMemPerNode},
562562

563563
// Group N
564564
"N": {"NodeNum", ProcessNodeNum},

internal/ccontrol/ccontrol.go

+8-3
Original file line numberDiff line numberDiff line change
@@ -341,6 +341,11 @@ func ShowJobs(jobIds string, queryAll bool) util.CraneCmdError {
341341
return util.ErrorGeneric
342342
}
343343

344+
allocDeviceTotal := "None"
345+
if len(taskInfo.AllocDeviceTotal) != 0 {
346+
allocDeviceTotal = taskInfo.AllocDeviceTotal
347+
}
348+
344349
printed[taskInfo.TaskId] = true
345350

346351
fmt.Printf("JobId=%v JobName=%v\n"+
@@ -352,7 +357,7 @@ func ShowJobs(jobIds string, queryAll bool) util.CraneCmdError {
352357
"\tReqRes=node=%d cpu=%.2f mem=%v gres=%s\n"+
353358
"\tAllocRes=node=%d cpu=%.2f mem=%v gres=%s\n"+
354359
"\tReqNodeList=%v ExecludeNodeList=%v\n"+
355-
"\tComment=%v Exclusive=%v\n",
360+
"\tExclusive=%v Comment=%v\n",
356361
taskInfo.TaskId, taskInfo.Name, craneUser.Username, taskInfo.Uid, group.Name, taskInfo.Gid,
357362
taskInfo.Account, taskInfo.Status.String(), runTimeStr, timeLimitStr, timeSubmitStr,
358363
timeStartStr, timeEndStr, taskInfo.Partition, formatHostNameStr(taskInfo.GetCranedList()),
@@ -362,9 +367,9 @@ func ShowJobs(jobIds string, queryAll bool) util.CraneCmdError {
362367
taskInfo.NodeNum, taskInfo.ReqResView.AllocatableRes.CpuCoreLimit*float64(taskInfo.NodeNum),
363368
util.FormatMemToMB(taskInfo.ReqResView.AllocatableRes.MemoryLimitBytes*uint64(taskInfo.NodeNum)),
364369
formatDeviceMap(taskInfo.ReqResView.DeviceMap),
365-
taskInfo.NodeNum, taskInfo.AllocCpusTotal, util.FormatMemToMB(taskInfo.AllocMemTotal), taskInfo.AllocDeviceTotal,
370+
taskInfo.NodeNum, taskInfo.AllocCpusTotal, util.FormatMemToMB(taskInfo.AllocMemTotal), allocDeviceTotal,
366371
formatHostNameStr(util.HostNameListToStr(taskInfo.GetReqNodes())), formatHostNameStr(util.HostNameListToStr(taskInfo.GetExcludeNodes())),
367-
formatJobComment(taskInfo.ExtraAttr), strconv.FormatBool(taskInfo.Exclusive),
372+
strconv.FormatBool(taskInfo.Exclusive), formatJobComment(taskInfo.ExtraAttr),
368373
)
369374
}
370375

internal/ceff/ceff.go

+9-8
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,9 @@ func PrintTaskInfo(taskInfo *protos.TaskInfo, records []*ResourceUsageRecord) er
333333
fmt.Printf("JobState: %v (exit code %d)\n", taskInfo.Status.String(), taskInfo.ExitCode)
334334
}
335335

336+
if taskInfo.NodeNum == 0 {
337+
return fmt.Errorf("the number of nodes is empty")
338+
}
336339
cpuTotal := taskInfo.AllocCpusTotal
337340
if math.Abs(cpuTotal-1) < 1e-9 {
338341
fmt.Printf("Cores: %.2f\n", cpuTotal)
@@ -361,12 +364,7 @@ func PrintTaskInfo(taskInfo *protos.TaskInfo, records []*ResourceUsageRecord) er
361364

362365
// Calculate mem efficiency
363366
memEfficiency := 0.0
364-
mallocMemMbPerNode := 0.0
365-
if taskInfo.NodeNum == 0 {
366-
return fmt.Errorf("Node num empty")
367-
} else {
368-
mallocMemMbPerNode = float64(taskInfo.AllocMemTotal) / float64(taskInfo.NodeNum) / (1024 * 1024)
369-
}
367+
mallocMemMbPerNode := float64(taskInfo.AllocMemTotal) / float64(taskInfo.NodeNum) / (1024 * 1024)
370368
totalMallocMemMb := float64(taskInfo.AllocMemTotal)
371369
if totalMallocMemMb != 0 {
372370
memEfficiency = totalMemMb / totalMallocMemMb * 100
@@ -403,6 +401,9 @@ func PrintTaskInfoInJson(taskInfo *protos.TaskInfo, records []*ResourceUsageReco
403401
return nil, fmt.Errorf("failed to get groupname for GID %d: %w", taskInfo.Gid, err)
404402
}
405403

404+
if taskInfo.NodeNum == 0 {
405+
return nil, fmt.Errorf("the number of nodes is empty")
406+
}
406407
cpuTotal := taskInfo.AllocCpusTotal
407408
coresPerNode := cpuTotal / float64(taskInfo.NodeNum)
408409
taskJsonInfo := &CeffTaskInfo{
@@ -436,8 +437,8 @@ func PrintTaskInfoInJson(taskInfo *protos.TaskInfo, records []*ResourceUsageReco
436437

437438
// Calculate mem efficiency
438439
memEfficiency := 0.0
439-
mallocMemMbPerNode := cpuTotal / float64(taskInfo.NodeNum) / (1024 * 1024)
440-
totalMallocMemMb := mallocMemMbPerNode * float64(taskInfo.NodeNum)
440+
mallocMemMbPerNode := float64(taskInfo.AllocMemTotal) / float64(taskInfo.NodeNum) / (1024 * 1024)
441+
totalMallocMemMb := float64(taskInfo.AllocMemTotal)
441442
if totalMallocMemMb != 0 {
442443
memEfficiency = totalMemMb / totalMallocMemMb * 100
443444
}

internal/cqueue/cqueue.go

+13-11
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,7 @@ func ProcessQoS(task *protos.TaskInfo) string {
382382
return task.Qos
383383
}
384384

385-
// 'Q' group
385+
// 'Q' groupProcessReqCpus
386386
func ProcessReqCPUs(task *protos.TaskInfo) string {
387387
return strconv.FormatFloat(task.ReqResView.AllocatableRes.CpuCoreLimit*float64(task.NodeNum), 'f', 2, 64)
388388
}
@@ -455,10 +455,10 @@ var fieldMap = map[string]FieldProcessor{
455455
"account": {"Account", ProcessAccount},
456456

457457
// 'c' group
458-
"c": {"ReqCpuPerNode", ProcessReqCpuPerNode},
459-
"cpupernode": {"ReqCpuPerNode", ProcessReqCpuPerNode},
460-
"C": {"AllocCpus", ProcessAllocCpus},
461-
"alloccpus": {"AllocCpus", ProcessAllocCpus},
458+
"c": {"ReqCpuPerNode", ProcessReqCpuPerNode},
459+
"reqcpupernode": {"ReqCpuPerNode", ProcessReqCpuPerNode},
460+
"C": {"AllocCpus", ProcessAllocCpus},
461+
"alloccpus": {"AllocCpus", ProcessAllocCpus},
462462

463463
// 'e' group
464464
"e": {"ElapsedTime", ProcessElapsedTime},
@@ -483,10 +483,10 @@ var fieldMap = map[string]FieldProcessor{
483483
"nodelist": {"NodeList(Reason)", ProcessNodeList},
484484

485485
// 'm' group
486-
"m": {"AllocMemPerNode", ProcessAllocMemPerNode},
487-
"mempernode": {"AllocMemPerNode", ProcessAllocMemPerNode},
488-
"M": {"ReqMemPerNode", ProcessReqMemPerNode},
489-
"reqmempernode": {"ReqMemPerNode", ProcessReqMemPerNode},
486+
"m": {"AllocMemPerNode", ProcessAllocMemPerNode},
487+
"allocmempernode": {"AllocMemPerNode", ProcessAllocMemPerNode},
488+
"M": {"ReqMemPerNode", ProcessReqMemPerNode},
489+
"reqmempernode": {"ReqMemPerNode", ProcessReqMemPerNode},
490490

491491
// 'n' group
492492
"n": {"Name", ProcessName},
@@ -501,8 +501,10 @@ var fieldMap = map[string]FieldProcessor{
501501
"partition": {"Partition", ProcessPartition},
502502

503503
// 'q' group
504-
"q": {"QoS", ProcessQoS},
505-
"qos": {"QoS", ProcessQoS},
504+
"q": {"QoS", ProcessQoS},
505+
"qos": {"QoS", ProcessQoS},
506+
"Q": {"ReqCpus", ProcessReqCPUs},
507+
"reqcpus": {"ReqCpus", ProcessReqCPUs},
506508

507509
// 'r' group
508510
"r": {"ReqNodes", ProcessReqNodes},

0 commit comments

Comments
 (0)