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 3.9 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  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 Job {
  10. SlurmVersion string `json:"slurmVersion"`
  11. name string `json:"name"`
  12. JobStartTime string `json:"JobStartTime"`
  13. JobRunTime string `json:"JobRunTime"`
  14. StateofJob string `json:"StateofJob"`
  15. }
  16. type (
  17. commitHpcTaskReq {
  18. Name string `json:"name"` // paratera:jobName
  19. Description string `json:"description,optional"`
  20. tenantId int64 `json:"tenantId,optional"`
  21. TaskId int64 `json:"taskId,optional"`
  22. AdapterId int64 `json:"adapterId,optional"`
  23. MatchLabels map[string]string `json:"matchLabels,optional"`
  24. CardCount int64 `json:"cardCount,optional"`
  25. WorkDir string `json:"workDir,optional"` //paratera:workingDir
  26. WallTime string `json:"wallTime,optional"`
  27. CmdScript string `json:"cmdScript,optional"` // paratera:bootScript
  28. AppType string `json:"appType,optional"`
  29. AppName string `json:"appName,optional"` // paratera:jobGroupName ac:appname
  30. Queue string `json:"queue,optional"`
  31. NNode string `json:"nNode,optional"`
  32. SubmitType string `json:"submitType,optional"`
  33. StdOutFile string `json:"stdOutFile,optional"`
  34. StdErrFile string `json:"stdErrFile,optional"`
  35. StdInput string `json:"stdInput,optional"`
  36. Environment map[string]string `json:"environment,optional"`
  37. }
  38. )
  39. type (
  40. commitHpcTaskResp {
  41. TaskId int64 `json:"taskId"`
  42. }
  43. )
  44. type (
  45. listJobReq {
  46. }
  47. listJobResp {
  48. Code int32 `json:"code"`
  49. Msg string `json:"msg"`
  50. RecordCount int32 `json:"recordCount"`
  51. Jobs []Job `json:"jobInfos"`
  52. }
  53. )
  54. type HistoryJob {
  55. SlurmVersion string `json:"slurmVersion"`
  56. name string `json:"name"`
  57. JobStartTime string `json:"JobStartTime"`
  58. JobRunTime string `json:"JobRunTime"`
  59. StateofJob string `json:"StateofJob"`
  60. }
  61. type (
  62. listHistoryJobReq {
  63. }
  64. listHistoryJobResp {
  65. Code int32 `json:"code"`
  66. Msg string `json:"msg"`
  67. RecordCount int32 `json:"recordCount"`
  68. HistoryJobs []HistoryJob `json:"jobInfoDbs"`
  69. }
  70. )
  71. type QueueAssetsResp {
  72. QueueAssets []QueueAsset `json:"queueAsset"`
  73. }
  74. type QueueAsset {
  75. TenantName string `json:"tenantName"` //租户名称
  76. ParticipantId int64 `json:"participantId"`
  77. AclHosts string `json:"aclHosts"` // 可用节点,多个节点用逗号隔开
  78. QueNodes string `json:"queNodes"` //队列节点总数
  79. QueMinNodect string `json:"queMinNodect,omitempty"` //队列最小节点数
  80. QueMaxNgpus string `json:"queMaxNgpus,omitempty"` //队列最大GPU卡数
  81. QueMaxPPN string `json:"queMaxPPN,omitempty"` //使用该队列作业最大CPU核心数
  82. QueChargeRate string `json:"queChargeRate,omitempty"` //费率
  83. QueMaxNcpus string `json:"queMaxNcpus,omitempty"` //用户最大可用核心数
  84. QueMaxNdcus string `json:"queMaxNdcus,omitempty"` //队列总DCU卡数
  85. QueueName string `json:"queueName,omitempty"` //队列名称
  86. QueMinNcpus string `json:"queMinNcpus,omitempty"` //队列最小CPU核数
  87. QueFreeNodes string `json:"queFreeNodes,omitempty"` //队列空闲节点数
  88. QueMaxNodect string `json:"queMaxNodect,omitempty"` //队列作业最大节点数
  89. QueMaxGpuPN string `json:"queMaxGpuPN,omitempty"` //队列单作业最大GPU卡数
  90. QueMaxWalltime string `json:"queMaxWalltime,omitempty"` //队列最大运行时间
  91. QueMaxDcuPN string `json:"queMaxDcuPN,omitempty"` //队列单作业最大DCU卡数
  92. QueFreeNcpus string `json:"queFreeNcpus"` //队列空闲cpu数
  93. QueNcpus string `json:"queNcpus"` //队列cpu数
  94. }

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.