Skip to content

Commit 5cd246c

Browse files
committed
fix comments
1 parent 024c3c0 commit 5cd246c

File tree

6 files changed

+22
-75
lines changed

6 files changed

+22
-75
lines changed

internal/cacct/cacct.go

+4-7
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,7 @@ func QueryJob() util.CraneCmdError {
243243
taskInfo.Name,
244244
taskInfo.Partition,
245245
taskInfo.Account,
246-
strconv.FormatFloat(taskInfo.AllocatedResView.AllocatableRes.CpuCoreLimit, 'f', 2, 64),
246+
strconv.FormatFloat(taskInfo.AllocatedResView.AllocatableRes.CpuCoreLimit*float64(taskInfo.NodeNum), 'f', 2, 64),
247247
taskInfo.Status.String(),
248248
exitCode}
249249
}
@@ -328,7 +328,7 @@ func ProcessReqCPUs(task *protos.TaskInfo) string {
328328

329329
// AllocCPUs (c)
330330
func ProcessAllocCPUs(task *protos.TaskInfo) string {
331-
return strconv.FormatFloat(task.AllocatedResView.AllocatableRes.CpuCoreLimit, 'f', 2, 64)
331+
return strconv.FormatFloat(task.AllocatedResView.AllocatableRes.CpuCoreLimit*float64(task.NodeNum), 'f', 2, 64)
332332
}
333333

334334
// ElapsedTime (D)
@@ -411,12 +411,9 @@ func ProcessReqMemPerNode(task *protos.TaskInfo) string {
411411
}
412412

413413
// AllocMemPerNode (m)
414-
func ProcessAllocMemPerNode(task *protos.TaskInfo) string {
415-
if task.NodeNum == 0 {
416-
return "0"
417-
}
414+
func ProcessAllocMemPerNode(task *protos.TaskInfo) string {
418415
return strconv.FormatUint(
419-
task.AllocatedResView.AllocatableRes.MemoryLimitBytes /uint64(task.NodeNum) /(1024*1024), 10)
416+
task.AllocatedResView.AllocatableRes.MemoryLimitBytes/(1024*1024), 10)
420417
}
421418

422419
// NodeNum (N)

internal/ccontrol/ccontrol.go

+3-4
Original file line numberDiff line numberDiff line change
@@ -406,8 +406,6 @@ func ShowJobs(jobIds string, queryAll bool) util.CraneCmdError {
406406
return util.ErrorGeneric
407407
}
408408

409-
allocDeviceTotal := util.GetDeviceMapStr(taskInfo.AllocatedResView)
410-
411409
printed[taskInfo.TaskId] = true
412410

413411
fmt.Printf("JobId=%v JobName=%v\n"+
@@ -430,8 +428,9 @@ func ShowJobs(jobIds string, queryAll bool) util.CraneCmdError {
430428
taskInfo.NodeNum, taskInfo.ReqResView.AllocatableRes.CpuCoreLimit*float64(taskInfo.NodeNum),
431429
util.FormatMemToMB(taskInfo.ReqResView.AllocatableRes.MemoryLimitBytes*uint64(taskInfo.NodeNum)),
432430
formatDeviceMap(taskInfo.ReqResView.DeviceMap),
433-
taskInfo.NodeNum, taskInfo.AllocatedResView.AllocatableRes.CpuCoreLimit,
434-
util.FormatMemToMB(taskInfo.AllocatedResView.AllocatableRes.MemoryLimitBytes), allocDeviceTotal,
431+
taskInfo.NodeNum, taskInfo.AllocatedResView.AllocatableRes.CpuCoreLimit*float64(taskInfo.NodeNum),
432+
util.FormatMemToMB(taskInfo.AllocatedResView.AllocatableRes.MemoryLimitBytes*uint64(taskInfo.NodeNum)),
433+
formatDeviceMap(taskInfo.AllocatedResView.DeviceMap),
435434
formatHostNameStr(util.HostNameListToStr(taskInfo.GetReqNodes())),
436435
formatHostNameStr(util.HostNameListToStr(taskInfo.GetExcludeNodes())),
437436
strconv.FormatBool(taskInfo.Exclusive), formatJobComment(taskInfo.ExtraAttr),

internal/ceff/ceff.go

+8-13
Original file line numberDiff line numberDiff line change
@@ -336,14 +336,14 @@ func PrintTaskInfo(taskInfo *protos.TaskInfo, records []*ResourceUsageRecord) er
336336
if taskInfo.NodeNum == 0 {
337337
return fmt.Errorf("the number of nodes is empty")
338338
}
339-
cpuTotal := taskInfo.AllocatedResView.AllocatableRes.CpuCoreLimit
339+
cpuTotal := taskInfo.AllocatedResView.AllocatableRes.CpuCoreLimit * float64(taskInfo.NodeNum)
340340
if math.Abs(cpuTotal-1) < 1e-9 {
341341
fmt.Printf("Cores: %.2f\n", cpuTotal)
342342
} else {
343343
fmt.Printf(
344344
"Nodes: %v\n"+
345345
"Cores per node: %.2f\n",
346-
taskInfo.NodeNum, cpuTotal / float64(taskInfo.NodeNum))
346+
taskInfo.NodeNum, taskInfo.AllocatedResView.AllocatableRes.CpuCoreLimit)
347347
}
348348

349349
if taskInfo.Status == protos.TaskStatus_Pending {
@@ -364,9 +364,8 @@ func PrintTaskInfo(taskInfo *protos.TaskInfo, records []*ResourceUsageRecord) er
364364

365365
// Calculate mem efficiency
366366
memEfficiency := 0.0
367-
mallocMemMbPerNode := float64(taskInfo.ReqResView.AllocatableRes.MemoryLimitBytes) /
368-
float64(taskInfo.NodeNum) / (1024 * 1024)
369-
totalMallocMemMb := float64(taskInfo.ReqResView.AllocatableRes.MemoryLimitBytes)
367+
mallocMemMbPerNode := float64(taskInfo.AllocatedResView.AllocatableRes.MemoryLimitBytes) / (1024 * 1024)
368+
totalMallocMemMb := mallocMemMbPerNode * float64(taskInfo.NodeNum)
370369
if totalMallocMemMb != 0 {
371370
memEfficiency = totalMemMb / totalMallocMemMb * 100
372371
}
@@ -402,11 +401,7 @@ func PrintTaskInfoInJson(taskInfo *protos.TaskInfo, records []*ResourceUsageReco
402401
return nil, fmt.Errorf("failed to get groupname for GID %d: %w", taskInfo.Gid, err)
403402
}
404403

405-
if taskInfo.NodeNum == 0 {
406-
return nil, fmt.Errorf("the number of nodes is empty")
407-
}
408-
cpuTotal := taskInfo.AllocatedResView.AllocatableRes.CpuCoreLimit
409-
coresPerNode := cpuTotal / float64(taskInfo.NodeNum)
404+
cpuTotal := taskInfo.AllocatedResView.AllocatableRes.CpuCoreLimit * float64(taskInfo.NodeNum)
410405
taskJsonInfo := &CeffTaskInfo{
411406
JobID: taskInfo.TaskId,
412407
QoS: taskInfo.Qos,
@@ -417,7 +412,7 @@ func PrintTaskInfoInJson(taskInfo *protos.TaskInfo, records []*ResourceUsageReco
417412
Account: taskInfo.Account,
418413
JobState: taskInfo.Status,
419414
Nodes: taskInfo.NodeNum,
420-
CoresPerNode: coresPerNode,
415+
CoresPerNode: taskInfo.AllocatedResView.AllocatableRes.CpuCoreLimit,
421416
}
422417

423418
if taskInfo.Status == protos.TaskStatus_Pending {
@@ -438,8 +433,8 @@ func PrintTaskInfoInJson(taskInfo *protos.TaskInfo, records []*ResourceUsageReco
438433

439434
// Calculate mem efficiency
440435
memEfficiency := 0.0
441-
mallocMemMbPerNode := float64(taskInfo.ReqResView.AllocatableRes.MemoryLimitBytes) / float64(taskInfo.NodeNum) / (1024 * 1024)
442-
totalMallocMemMb := float64(taskInfo.ReqResView.AllocatableRes.MemoryLimitBytes)
436+
mallocMemMbPerNode := float64(taskInfo.AllocatedResView.AllocatableRes.MemoryLimitBytes) / (1024 * 1024)
437+
totalMallocMemMb := mallocMemMbPerNode * float64(taskInfo.NodeNum)
443438
if totalMallocMemMb != 0 {
444439
memEfficiency = totalMemMb / totalMallocMemMb * 100
445440
}

internal/cqueue/cqueue.go

+7-10
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ func ProcessAccount(task *protos.TaskInfo) string {
300300

301301
// 'c' group
302302
func ProcessAllocCpus(task *protos.TaskInfo) string {
303-
return strconv.FormatFloat(task.ReqResView.AllocatableRes.CpuCoreLimit, 'f', 2, 64)
303+
return strconv.FormatFloat(task.AllocatedResView.AllocatableRes.CpuCoreLimit * float64(task.NodeNum), 'f', 2, 64)
304304
}
305305

306306
// 'C' group
@@ -348,11 +348,8 @@ func ProcessNodeList(task *protos.TaskInfo) string {
348348

349349
// 'm' group
350350
func ProcessAllocMemPerNode(task *protos.TaskInfo) string {
351-
if task.NodeNum == 0 {
352-
return "0"
353-
}
354-
return strconv.FormatUint(task.ReqResView.AllocatableRes.MemoryLimitBytes /
355-
uint64(task.NodeNum) / (1024*1024) , 10)
351+
return strconv.FormatUint(
352+
task.AllocatedResView.AllocatableRes.MemoryLimitBytes / (1024*1024), 10)
356353
}
357354

358355
// 'M' group
@@ -383,7 +380,7 @@ func ProcessQoS(task *protos.TaskInfo) string {
383380
return task.Qos
384381
}
385382

386-
// 'Q' groupProcessReqCpus
383+
// 'Q' group
387384
func ProcessReqCPUs(task *protos.TaskInfo) string {
388385
return strconv.FormatFloat(task.ReqResView.AllocatableRes.CpuCoreLimit*float64(task.NodeNum), 'f', 2, 64)
389386
}
@@ -596,9 +593,9 @@ func FormatData(reply *protos.QueryTasksInfoReply) (header []string, tableData [
596593
field = strings.ToLower(field)
597594
}
598595

599-
//a/Account, c/AllocCPUs, C/ReqCpus, e/ElapsedTime, h/Held, j/JobID, l/TimeLimit, L/NodeList, k/Comment,
600-
//m/AllocMemPerNode, M/ReqMemPerNode, n/Name, N/NodeNum, p/Priority, P/Partition, q/Qos, Q/ReqCpuPerNode, r/ReqNodes,
601-
//R/Reason, s/SubmitTime, S/StartTime, t/State, T/JobType, u/User, U/Uid, x/ExcludeNodes, X/Exclusive.
596+
//a-Account, c-AllocCPUs, C-ReqCpus, e-ElapsedTime, h-Held, j-JobID, l-TimeLimit, L-NodeList, k-Comment,
597+
//m-AllocMemPerNode, M-ReqMemPerNode, n-Name, N-NodeNum, p-Priority, P-Partition, q-Qos, Q-ReqCpuPerNode, r-ReqNodes,
598+
//R-Reason, s-SubmitTime, S-StartTime, t-State, T-JobType, u-User, U-Uid, x-ExcludeNodes, X-Exclusive.
602599
fieldProcessor, found := fieldMap[field]
603600
if !found {
604601
log.Errorf("Invalid format specifier or string : %s, string unfold case insensitive, reference:\n"+

internal/util/string.go

-40
Original file line numberDiff line numberDiff line change
@@ -736,46 +736,6 @@ func ParseGres(gres string) *protos.DeviceMap {
736736
return result
737737
}
738738

739-
func GetDeviceMapStr(resourceView *protos.ResourceView) string {
740-
if resourceView.DeviceMap == nil || resourceView.DeviceMap.NameTypeMap == nil || len(resourceView.DeviceMap.NameTypeMap) == 0 {
741-
return "None"
742-
}
743-
744-
var result strings.Builder
745-
isFirstDevice := true
746-
747-
for deviceName, typeCountMap := range resourceView.DeviceMap.NameTypeMap {
748-
if !isFirstDevice {
749-
result.WriteString("; ")
750-
} else {
751-
isFirstDevice = false
752-
}
753-
754-
result.WriteString(deviceName)
755-
result.WriteString(":")
756-
757-
if typeCountMap.Total > 0 {
758-
result.WriteString("untyped:")
759-
result.WriteString(strconv.FormatUint(typeCountMap.Total, 10))
760-
}
761-
762-
isFirstType := typeCountMap.Total == 0
763-
for typeName, count := range typeCountMap.TypeCountMap {
764-
if !isFirstType {
765-
result.WriteString(",")
766-
} else {
767-
isFirstType = false
768-
}
769-
770-
result.WriteString(typeName)
771-
result.WriteString(":")
772-
result.WriteString(strconv.FormatUint(count, 10))
773-
}
774-
}
775-
776-
return result.String()
777-
}
778-
779739
func ParseTaskStatusName(state string) (protos.TaskStatus, error) {
780740
state = strings.ToLower(state)
781741
switch state {

protos/PublicDefs.proto

-1
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,6 @@ message ResourceV2 {
6868
map<string /*craned id*/, ResourceInNode> each_node_res = 1;
6969
}
7070

71-
7271
message ResourceView {
7372
AllocatableResource allocatable_res = 1;
7473
DeviceMap device_map = 2;

0 commit comments

Comments
 (0)