Skip to content

Commit 793126e

Browse files
committed
fix bug
1 parent 88f9ffa commit 793126e

File tree

4 files changed

+24
-18
lines changed

4 files changed

+24
-18
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

+4-4
Original file line numberDiff line numberDiff line change
@@ -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},

0 commit comments

Comments
 (0)