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.1 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  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. TaskId int64 `json:"taskId"`
  34. Code int32 `json:"code"`
  35. Msg string `json:"msg"`
  36. }
  37. )
  38. type (
  39. hpcOverViewReq {
  40. }
  41. hpcOverViewResp {
  42. Code int32 `json:"code"`
  43. Msg string `json:"msg"`
  44. Data HPCOverView `json:"data"`
  45. }
  46. HPCOverView {
  47. AdapterCount int32 `json:"adapterCount"`
  48. StackCount int32 `json:"stackCount"`
  49. ClusterCount int32 `json:"clusterCount"`
  50. TaskCount int32 `json:"taskCount"`
  51. }
  52. )
  53. type (
  54. hpcAdapterSummaryReq {
  55. }
  56. hpcAdapterSummaryResp {
  57. Code int32 `json:"code"`
  58. Msg string `json:"msg"`
  59. Data []HPCAdapterSummary `json:"data"`
  60. }
  61. HPCAdapterSummary {
  62. AdapterName string `json:"adapterName"`
  63. StackCount int32 `json:"stackCount"`
  64. ClusterCount int32 `json:"clusterCount"`
  65. TaskCount int32 `json:"taskCount"`
  66. }
  67. )
  68. type (
  69. hpcJobReq {
  70. }
  71. hpcJobResp {
  72. Code int32 `json:"code"`
  73. Msg string `json:"msg"`
  74. Data []Job `json:"data"`
  75. }
  76. Job {
  77. JobName string `json:"jobName"`
  78. JobDesc string `json:"jobDesc"`
  79. SubmitTime string `json:"submitTime"`
  80. JobStatus string `json:"jobStatus"`
  81. AdapterName string `json:"adapterName"`
  82. ClusterName string `json:"clusterName"`
  83. ClusterType string `json:"clusterType"`
  84. }
  85. )
  86. type (
  87. hpcResourceReq {
  88. }
  89. hpcResourceResp {
  90. Code int32 `json:"code"`
  91. Msg string `json:"msg"`
  92. Data HPCResource `json:"data"`
  93. }
  94. HPCResource {
  95. GPUCardsTotal float64 `json:"gpuCoresTotal"`
  96. CPUCoresTotal float64 `json:"cpuCoresTotal"`
  97. RAMTotal float64 `json:"ramTotal"`
  98. GPUCardsUsed float64 `json:"gpuCoresUsed"`
  99. CPUCoresUsed float64 `json:"cpuCoresUsed"`
  100. RAMUsed float64 `json:"ramUsed"`
  101. GPURate float64 `json:"gpuRate"`
  102. CPURate float64 `json:"cpuRate"`
  103. RAMRate float64 `json:"ramRate"`
  104. }
  105. )
  106. type cancelJobReq {
  107. ClusterId int64 `form:"clusterId"`
  108. JobId string `form:"jobId"`
  109. }
  110. type QueueAssetsResp {
  111. QueueAssets []QueueAsset `json:"queueAsset"`
  112. }
  113. type QueueAsset {
  114. TenantName string `json:"tenantName"` //租户名称
  115. ParticipantId int64 `json:"participantId"`
  116. AclHosts string `json:"aclHosts"` // 可用节点,多个节点用逗号隔开
  117. QueNodes string `json:"queNodes"` //队列节点总数
  118. QueMinNodect string `json:"queMinNodect,omitempty"` //队列最小节点数
  119. QueMaxNgpus string `json:"queMaxNgpus,omitempty"` //队列最大GPU卡数
  120. QueMaxPPN string `json:"queMaxPPN,omitempty"` //使用该队列作业最大CPU核心数
  121. QueChargeRate string `json:"queChargeRate,omitempty"` //费率
  122. QueMaxNcpus string `json:"queMaxNcpus,omitempty"` //用户最大可用核心数
  123. QueMaxNdcus string `json:"queMaxNdcus,omitempty"` //队列总DCU卡数
  124. QueueName string `json:"queueName,omitempty"` //队列名称
  125. QueMinNcpus string `json:"queMinNcpus,omitempty"` //队列最小CPU核数
  126. QueFreeNodes string `json:"queFreeNodes,omitempty"` //队列空闲节点数
  127. QueMaxNodect string `json:"queMaxNodect,omitempty"` //队列作业最大节点数
  128. QueMaxGpuPN string `json:"queMaxGpuPN,omitempty"` //队列单作业最大GPU卡数
  129. QueMaxWalltime string `json:"queMaxWalltime,omitempty"` //队列最大运行时间
  130. QueMaxDcuPN string `json:"queMaxDcuPN,omitempty"` //队列单作业最大DCU卡数
  131. QueFreeNcpus string `json:"queFreeNcpus"` //队列空闲cpu数
  132. QueNcpus string `json:"queNcpus"` //队列cpu数
  133. }

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.