You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

pcm-hpc.api 5.3 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. syntax = "v1"
  2. info(
  3. title: "type title here"
  4. desc: "type desc here"
  5. author: "type author here"
  6. email: "type email here"
  7. version: "type version here"
  8. )
  9. type (
  10. commitHpcTaskReq {
  11. ClusterId int64 `json:"clusterId,optional"`
  12. Name string `json:"name"`
  13. Account string `json:"account,optional"`
  14. Description string `json:"description,optional"`
  15. TenantId int64 `json:"tenantId,optional"`
  16. TaskId int64 `json:"taskId,optional"`
  17. AdapterIds []string `json:"adapterIds,optional"`
  18. MatchLabels map[string]string `json:"matchLabels,optional"`
  19. CardCount int64 `json:"cardCount,optional"`
  20. WorkDir string `json:"workDir,optional"` //paratera:workingDir
  21. WallTime string `json:"wallTime,optional"`
  22. CmdScript string `json:"cmdScript,optional"` // paratera:bootScript
  23. AppType string `json:"appType,optional"`
  24. AppName string `json:"appName,optional"` // paratera:jobGroupName ac:appname
  25. Queue string `json:"queue,optional"`
  26. NNode string `json:"nNode,optional"`
  27. SubmitType string `json:"submitType,optional"`
  28. StdInput string `json:"stdInput,optional"`
  29. ClusterType string `json:"clusterType,optional"`
  30. Partition string `json:"partition"`
  31. }
  32. commitHpcTaskResp {
  33. ClusterId int64 `json:"clusterId"`
  34. JobId string `json:"jobId"`
  35. }
  36. )
  37. type (
  38. hpcOverViewReq {
  39. }
  40. hpcOverViewResp {
  41. Code int32 `json:"code"`
  42. Msg string `json:"msg"`
  43. Data HPCOverView `json:"data"`
  44. }
  45. HPCOverView {
  46. AdapterCount int32 `json:"adapterCount"`
  47. StackCount int32 `json:"stackCount"`
  48. ClusterCount int32 `json:"clusterCount"`
  49. TaskCount int32 `json:"taskCount"`
  50. }
  51. )
  52. type (
  53. hpcAdapterSummaryReq {
  54. }
  55. hpcAdapterSummaryResp {
  56. Code int32 `json:"code"`
  57. Msg string `json:"msg"`
  58. Data []HPCAdapterSummary `json:"data"`
  59. }
  60. HPCAdapterSummary {
  61. AdapterName string `json:"adapterName"`
  62. StackCount int32 `json:"stackCount"`
  63. ClusterCount int32 `json:"clusterCount"`
  64. TaskCount int32 `json:"taskCount"`
  65. }
  66. )
  67. type (
  68. hpcJobReq {
  69. }
  70. hpcJobResp {
  71. Code int32 `json:"code"`
  72. Msg string `json:"msg"`
  73. Data []Job `json:"data"`
  74. }
  75. Job {
  76. JobName string `json:"jobName"`
  77. JobDesc string `json:"jobDesc"`
  78. SubmitTime string `json:"submitTime"`
  79. JobStatus string `json:"jobStatus"`
  80. AdapterName string `json:"adapterName"`
  81. ClusterName string `json:"clusterName"`
  82. ClusterType string `json:"clusterType"`
  83. }
  84. )
  85. type (
  86. hpcResourceReq {
  87. }
  88. hpcResourceResp {
  89. Code int32 `json:"code"`
  90. Msg string `json:"msg"`
  91. Data HPCResource `json:"data"`
  92. }
  93. HPCResource {
  94. GPUCardsTotal float64 `json:"gpuCoresTotal"`
  95. CPUCoresTotal float64 `json:"cpuCoresTotal"`
  96. RAMTotal float64 `json:"ramTotal"`
  97. GPUCardsUsed float64 `json:"gpuCoresUsed"`
  98. CPUCoresUsed float64 `json:"cpuCoresUsed"`
  99. RAMUsed float64 `json:"ramUsed"`
  100. GPURate float64 `json:"gpuRate"`
  101. CPURate float64 `json:"cpuRate"`
  102. RAMRate float64 `json:"ramRate"`
  103. }
  104. )
  105. type cancelJobReq {
  106. ClusterId int64 `form:"clusterId"`
  107. JobId string `form:"jobId"`
  108. }
  109. type jobInfoReq {
  110. ClusterId int64 `form:"clusterId"`
  111. JobId string `form:"jobId"`
  112. }
  113. type jobInfoResp {
  114. JobId string `form:"jobId"`
  115. JobState string `json:"jobState"`
  116. CurrentWorkingDirectory string `json:"currentWorkingDirectory"`
  117. }
  118. type QueueAssetsResp {
  119. QueueAssets []QueueAsset `json:"queueAsset"`
  120. }
  121. type QueueAsset {
  122. TenantName string `json:"tenantName"` //租户名称
  123. ParticipantId int64 `json:"participantId"`
  124. AclHosts string `json:"aclHosts"` // 可用节点,多个节点用逗号隔开
  125. QueNodes string `json:"queNodes"` //队列节点总数
  126. QueMinNodect string `json:"queMinNodect,omitempty"` //队列最小节点数
  127. QueMaxNgpus string `json:"queMaxNgpus,omitempty"` //队列最大GPU卡数
  128. QueMaxPPN string `json:"queMaxPPN,omitempty"` //使用该队列作业最大CPU核心数
  129. QueChargeRate string `json:"queChargeRate,omitempty"` //费率
  130. QueMaxNcpus string `json:"queMaxNcpus,omitempty"` //用户最大可用核心数
  131. QueMaxNdcus string `json:"queMaxNdcus,omitempty"` //队列总DCU卡数
  132. QueueName string `json:"queueName,omitempty"` //队列名称
  133. QueMinNcpus string `json:"queMinNcpus,omitempty"` //队列最小CPU核数
  134. QueFreeNodes string `json:"queFreeNodes,omitempty"` //队列空闲节点数
  135. QueMaxNodect string `json:"queMaxNodect,omitempty"` //队列作业最大节点数
  136. QueMaxGpuPN string `json:"queMaxGpuPN,omitempty"` //队列单作业最大GPU卡数
  137. QueMaxWalltime string `json:"queMaxWalltime,omitempty"` //队列最大运行时间
  138. QueMaxDcuPN string `json:"queMaxDcuPN,omitempty"` //队列单作业最大DCU卡数
  139. QueFreeNcpus string `json:"queFreeNcpus"` //队列空闲cpu数
  140. QueNcpus string `json:"queNcpus"` //队列cpu数
  141. }

PCM is positioned as Software stack over Cloud, aiming to build the standards and ecology of heterogeneous cloud collaboration for JCC in a non intrusive and autonomous peer-to-peer manner.