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

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

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.