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

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

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.