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.

aiService.go 1.7 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. package service
  2. import (
  3. "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/scheduler/service/collector"
  4. "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/scheduler/service/executor"
  5. "gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/storeLink"
  6. "gitlink.org.cn/jcce-pcm/pcm-ac/hpcacclient"
  7. "gitlink.org.cn/jcce-pcm/pcm-participant-modelarts/client/imagesservice"
  8. "gitlink.org.cn/jcce-pcm/pcm-participant-modelarts/client/modelartsservice"
  9. "gitlink.org.cn/jcce-pcm/pcm-participant-octopus/octopusclient"
  10. )
  11. const (
  12. OCTOPUS = "octopus"
  13. MODELARTS = "modelarts"
  14. SHUGUANGAI = "shuguangAi"
  15. )
  16. var (
  17. AiTypeMap = map[string]string{
  18. "hanwuji": OCTOPUS,
  19. //"suiyan": OCTOPUS,
  20. //"sailingsi": OCTOPUS,
  21. //"modelarts-CloudBrain2": MODELARTS,
  22. "shuguangAi": SHUGUANGAI,
  23. }
  24. )
  25. func InitAiClusterMap(octopusRpc octopusclient.Octopus, modelArtsRpc modelartsservice.ModelArtsService, modelArtsImgRpc imagesservice.ImagesService, aCRpc hpcacclient.HpcAC) (*map[string]executor.AiExecutor, *map[string]collector.AiCollector) {
  26. executorMap := make(map[string]executor.AiExecutor)
  27. collectorMap := make(map[string]collector.AiCollector)
  28. for k, v := range AiTypeMap {
  29. switch v {
  30. case OCTOPUS:
  31. octopus := storeLink.NewOctopusLink(octopusRpc, k, 0)
  32. collectorMap[k] = octopus
  33. executorMap[k] = octopus
  34. case MODELARTS:
  35. modelarts := storeLink.NewModelArtsLink(modelArtsRpc, modelArtsImgRpc, k, 0)
  36. collectorMap[k] = modelarts
  37. executorMap[k] = modelarts
  38. case SHUGUANGAI:
  39. sgai := storeLink.NewShuguangAi(aCRpc, k, 0)
  40. collectorMap[k] = sgai
  41. executorMap[k] = sgai
  42. }
  43. }
  44. return &executorMap, &collectorMap
  45. }

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.