#4719 接入沐曦科技的新型GPU、接入天数智芯新型GPU

Merged
zouap merged 10 commits from fix-4660 into V20230912 7 months ago
  1. +4
    -0
      models/action.go
  2. +25
    -19
      models/cloudbrain.go
  3. +2
    -0
      models/task_config.go
  4. +2
    -0
      options/locale/locale_en-US.ini
  5. +2
    -0
      options/locale/locale_zh-CN.ini
  6. +8
    -2
      public/home/home.js
  7. +4
    -1
      services/ai_task_service/task/grampus_notebook_task.go
  8. +1
    -1
      services/socketwrap/clientManager.go
  9. +2
    -2
      templates/admin/cloudbrain/list.tmpl
  10. +2
    -0
      templates/admin/cloudbrain/search.tmpl
  11. +2
    -0
      templates/admin/cloudbrain/search_dashboard.tmpl
  12. +2
    -2
      templates/user/dashboard/cloudbrains.tmpl
  13. +17
    -1
      templates/user/dashboard/feeds.tmpl
  14. +3
    -2
      web_src/vuepages/components/cloudbrain/FormTop.vue
  15. +5
    -3
      web_src/vuepages/components/cloudbrain/SpecSelect.vue
  16. +2
    -2
      web_src/vuepages/const/index.js
  17. +10
    -0
      web_src/vuepages/langs/config/en-US.js
  18. +11
    -1
      web_src/vuepages/langs/config/zh-CN.js
  19. +96
    -5
      web_src/vuepages/pages/cloudbrain/configs.js

+ 4
- 0
models/action.go View File

@@ -74,6 +74,8 @@ const (
ActionCreateGrampusGPUOnlineInferTask //45
ActionCreateGrampusDCUDebugTask //46
ActionCreateSuperComputeTask //47
ActionCreateGrampusILUVATARDebugTask //48
ActionCreateGrampusMETAXDebugTask //49
)

// Action represents user operation type and other information to
@@ -427,6 +429,8 @@ func (a *Action) IsCloudbrainAction() bool {
ActionCreateGrampusGCUDebugTask,
ActionCreateGrampusDCUDebugTask,
ActionCreateGrampusMLUDebugTask,
ActionCreateGrampusILUVATARDebugTask,
ActionCreateGrampusMETAXDebugTask,
ActionCreateSuperComputeTask:
return true
}


+ 25
- 19
models/cloudbrain.go View File

@@ -155,19 +155,23 @@ const (
AICenterOfChengdu = "OpenIChengdu"

//ComputeResource
GPU = "GPU"
NPU = "NPU"
GCU = "GCU"
MLU = "MLU"
DCU = "DCU"
CPU = "CPU"

ProcessorTypeNPU = "npu.huawei.com/NPU"
ProcessorTypeGPU = "nvidia.com/gpu"
ProcessorTypeGCU = "enflame-tech.com/gcu"
ProcessorTypeMLU = "cambricon.com/mlu"
ProcessorTypeDCU = "ac.sugon.com/dcu"
ProcessorTypeCPU = "hpc/cpu"
GPU = "GPU"
NPU = "NPU"
GCU = "GCU"
MLU = "MLU"
DCU = "DCU"
CPU = "CPU"
ILUVATAR = "ILUVATAR-GPGPU"
METAX = "METAX-GPGPU"

ProcessorTypeNPU = "npu.huawei.com/NPU"
ProcessorTypeGPU = "nvidia.com/gpu"
ProcessorTypeGCU = "enflame-tech.com/gcu"
ProcessorTypeMLU = "cambricon.com/mlu"
ProcessorTypeDCU = "ac.sugon.com/dcu"
ProcessorTypeCPU = "hpc/cpu"
ProcessorTypeILUVATAR = "iluvatar.com/iluvatar-gpgpu"
ProcessorTypeMETAX = "metax-tech.com/metax-gpgpu"
)

const CloudbrainTwoDefaultVersion = "/V0001"
@@ -211,12 +215,14 @@ func GetComputeSourceStandardFormat(name string) string {
}

var ComputeSourceMap = map[string]*ComputeSource{
GPU: {Name: GPU, CloudbrainFormat: GPUResource, FullName: ProcessorTypeGPU},
NPU: {Name: NPU, FullName: ProcessorTypeNPU},
GCU: {Name: GCU, FullName: ProcessorTypeGCU},
MLU: {Name: MLU, FullName: ProcessorTypeMLU},
DCU: {Name: DCU, FullName: ProcessorTypeDCU},
CPU: {Name: CPU, FullName: ProcessorTypeCPU},
GPU: {Name: GPU, CloudbrainFormat: GPUResource, FullName: ProcessorTypeGPU},
NPU: {Name: NPU, FullName: ProcessorTypeNPU},
GCU: {Name: GCU, FullName: ProcessorTypeGCU},
MLU: {Name: MLU, FullName: ProcessorTypeMLU},
DCU: {Name: DCU, FullName: ProcessorTypeDCU},
CPU: {Name: CPU, FullName: ProcessorTypeCPU},
ILUVATAR: {Name: ILUVATAR, FullName: ProcessorTypeILUVATAR},
METAX: {Name: METAX, FullName: ProcessorTypeMETAX},
}

const (


+ 2
- 0
models/task_config.go View File

@@ -76,6 +76,8 @@ func GetTaskTypeFromAction(a ActionType) TaskType {
ActionCreateGrampusGCUTrainTask,
ActionCreateGrampusMLUDebugTask,
ActionCreateGrampusDCUDebugTask,
ActionCreateGrampusILUVATARDebugTask,
ActionCreateGrampusMETAXDebugTask,
ActionCreateSuperComputeTask,
ActionCreateGrampusGPUOnlineInferTask,
ActionCreateGrampusGPUTrainTask:


+ 2
- 0
options/locale/locale_en-US.ini View File

@@ -3200,6 +3200,8 @@ task_c2ent_gcutrainjob=`created GCU type train task <a href="%s/grampus/train-jo
task_c2ent_mludebugjob=`created MLU type debugging task <a href="%s/grampus/train-job/%s">%s</a>`
task_c2ent_mlutrainjob=`created MLU type train task <a href="%s/grampus/train-job/%s">%s</a>`
task_c2net_dcudebugjob=`created DCU type debugging task <a href="%s/grampus/notebook/%s">%s</a>`
task_c2net_gpudebugjob1=`created ILUVATAR-GPGPU type debugging task <a href="%s/grampus/notebook/%s">%s</a>`
task_c2net_gpudebugjob2=`created METAX-GPGPU type debugging task <a href="%s/grampus/notebook/%s">%s</a>`
task_c2ent_onlineinferjob=`created GPU type online inference task <a href="%s/grampus/onlineinfer/%s">%s</a>`
task_c2net_cpusupercomputejob=`created CPU type HPC task <a href="%s/supercompute/job/%s">%s</a>`
task_nputrainjob=`created NPU training task <a href="%s/modelarts/train-job/%s">%s</a>`


+ 2
- 0
options/locale/locale_zh-CN.ini View File

@@ -3219,6 +3219,8 @@ task_c2ent_gcutrainjob=`创建了GCU类型训练任务 <a href="%s/grampus/train
task_c2ent_mludebugjob=`创建了MLU类型调试任务 <a href="%s/grampus/notebook/%s">%s</a>`
task_c2ent_mlutrainjob=`创建了MLU类型训练任务 <a href="%s/grampus/train-job/%s">%s</a>`
task_c2net_dcudebugjob=`创建了DCU类型调试任务 <a href="%s/grampus/notebook/%s">%s</a>`
task_c2net_gpudebugjob1=`创建了ILUVATAR-GPGPU类型调试任务 <a href="%s/grampus/notebook/%s">%s</a>`
task_c2net_gpudebugjob2=`创建了METAX-GPGPU类型调试任务 <a href="%s/grampus/notebook/%s">%s</a>`
task_c2ent_onlineinferjob=`创建了GPU类型在线推理任务 <a href="%s/grampus/onlineinfer/%s">%s</a>`
task_c2net_cpusupercomputejob=`创建了CPU类型超算任务 <a href="%s/supercompute/job/%s">%s</a>`
task_nputrainjob=`创建了NPU类型训练任务 <a href="%s/modelarts/train-job/%s">%s</a>`


+ 8
- 2
public/home/home.js View File

@@ -254,7 +254,9 @@ document.onreadystatechange = function () {
}
}
else if(record.OpType == "25" || record.OpType == "29" || record.OpType == "39" || record.OpType == "40" || record.OpType == "41"
|| record.OpType == "43"|| record.OpType == "44"|| record.OpType == "45"|| record.OpType == "46"|| record.OpType == "47"){
|| record.OpType == "43"|| record.OpType == "44"|| record.OpType == "45"|| record.OpType == "46"|| record.OpType == "47"
|| record.OpType == "48"|| record.OpType == "49"
){
html += recordPrefix + actionName;
const taskLink = getTaskLink(record);
if (taskLink) {
@@ -326,7 +328,7 @@ function getTaskLink(record){
} else {
re = '';
}
}else if(record.OpType == 39 || record.OpType == 40 || record.OpType == 41 || record.OpType == 43|| record.OpType == 46){
}else if(record.OpType == 39 || record.OpType == 40 || record.OpType == 41 || record.OpType == 43|| record.OpType == 46|| record.OpType == 48|| record.OpType == 49){
if (record.Cloudbrain) {
re = re + "/grampus/notebook/" + record.Cloudbrain.ID;
} else {
@@ -502,6 +504,8 @@ var actionNameZH={
"45":"创建了GPU类型在线推理任务",
"46":"创建了DCU类型调试任务",
"47":"创建了CPU类型超算任务",
"48":"创建了ILUVATAR-GPGPU类型调试任务",
"49":"创建了METAX-GPGPU类型调试任务",
};

var actionNameEN={
@@ -542,6 +546,8 @@ var actionNameEN={
"45":" created GPU type online inference task ",
"46":" created DCU type debugging task ",
"47":" created CPU type super compute task ",
"48":" created ILUVATAR-GPGPU type debugging task ",
"49":" created METAX-GPGPU type debugging task ",
};

var repoAndOrgZH={


+ 4
- 1
services/ai_task_service/task/grampus_notebook_task.go View File

@@ -132,7 +132,10 @@ func GetGrampusNoteBookConfig(opts entity.AITaskConfigKey) *entity.AITaskBaseCon
config.ActionType = models.ActionCreateGrampusDCUDebugTask
case models.CPU:
config.ActionType = models.ActionCreateSuperComputeTask

case models.ILUVATAR:
config.ActionType = models.ActionCreateGrampusILUVATARDebugTask
case models.METAX:
config.ActionType = models.ActionCreateGrampusMETAXDebugTask
}

config.IsActionUseJobId = false


+ 1
- 1
services/socketwrap/clientManager.go View File

@@ -10,7 +10,7 @@ import (
"github.com/elliotchance/orderedmap"
)

var opTypes = []int{1, 2, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 39, 40, 41, 42, 43, 44, 45, 46, 47}
var opTypes = []int{1, 2, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 35, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49}

type ClientsManager struct {
Clients *orderedmap.OrderedMap


+ 2
- 2
templates/admin/cloudbrain/list.tmpl View File

@@ -181,7 +181,7 @@
<!-- 计算资源 -->
<div class="one wide column text center nowrap" style="width: 5% !important;">
<span
style="font-size: 12px;">{{if .ComputeResource}}{{.ComputeResource}}{{else}}--{{end}}</span>
style="font-size: 12px;" title="{{.ComputeResource}}">{{if .ComputeResource}}{{.ComputeResource}}{{else}}--{{end}}</span>
</div>
<!-- 智算中心 -->
<div class="one wide column text center nowrap" style="width:8% !important;">
@@ -432,7 +432,7 @@
<!-- 计算资源 -->
<div class="one wide column text center nowrap" style="width:5% !important;">
<span
style="font-size: 12px;">{{if .ComputeResource}}{{.ComputeResource}}{{else}}--{{end}}</span>
style="font-size: 12px;" title="{{.ComputeResource}}">{{if .ComputeResource}}{{.ComputeResource}}{{else}}--{{end}}</span>
</div>
<!-- 智算中心 -->
<div class="one wide column text center nowrap" style="width:8% !important;">


+ 2
- 0
templates/admin/cloudbrain/search.tmpl View File

@@ -52,6 +52,8 @@
<a class="item" href="{{$.Link}}?q={{$.Keyword}}&jobType={{$.JobType}}&listType=MLU&jobStatus={{$.JobStatus}}&cluster={{$.cluster}}&aiCenter={{$.aiCenter}}" data-value="MLU">MLU</a>
<a class="item" href="{{$.Link}}?q={{$.Keyword}}&jobType={{$.JobType}}&listType=DCU&jobStatus={{$.JobStatus}}&cluster={{$.cluster}}&aiCenter={{$.aiCenter}}" data-value="DCU">DCU</a>
<a class="item" href="{{$.Link}}?q={{$.Keyword}}&jobType={{$.JobType}}&listType=CPU&jobStatus={{$.JobStatus}}&cluster={{$.cluster}}&aiCenter={{$.aiCenter}}" data-value="CPU">CPU</a>
<a class="item" href="{{$.Link}}?q={{$.Keyword}}&jobType={{$.JobType}}&listType=ILUVATAR-GPGPU&jobStatus={{$.JobStatus}}&cluster={{$.cluster}}&aiCenter={{$.aiCenter}}" data-value="ILUVATAR-GPGPU">ILUVATAR-GPGPU</a>
<a class="item" href="{{$.Link}}?q={{$.Keyword}}&jobType={{$.JobType}}&listType=METAX-GPGPU&jobStatus={{$.JobStatus}}&cluster={{$.cluster}}&aiCenter={{$.aiCenter}}" data-value="METAX-GPGPU">METAX-GPGPU</a>
</div>
</div>
<div class="ui selection dropdown" style="min-width: 10em;min-height:2.6em;border-radius: .28571429rem;margin-right: 1em;padding: .67em 3.2em .7em 1em;">


+ 2
- 0
templates/admin/cloudbrain/search_dashboard.tmpl View File

@@ -63,6 +63,8 @@
<a class="item" href="{{$.Link}}?q={{$.Keyword}}&jobType={{$.JobType}}&listType=MLU&jobStatus={{$.JobStatus}}&cluster={{$.cluster}}&aiCenter={{$.aiCenter}}" data-value="MLU">MLU</a>
<a class="item" href="{{$.Link}}?q={{$.Keyword}}&jobType={{$.JobType}}&listType=DCU&jobStatus={{$.JobStatus}}&cluster={{$.cluster}}&aiCenter={{$.aiCenter}}" data-value="DCU">DCU</a>
<a class="item" href="{{$.Link}}?q={{$.Keyword}}&jobType={{$.JobType}}&listType=CPU&jobStatus={{$.JobStatus}}&cluster={{$.cluster}}&aiCenter={{$.aiCenter}}" data-value="CPU">CPU</a>
<a class="item" href="{{$.Link}}?q={{$.Keyword}}&jobType={{$.JobType}}&listType=ILUVATAR-GPGPU&jobStatus={{$.JobStatus}}&cluster={{$.cluster}}&aiCenter={{$.aiCenter}}" data-value="ILUVATAR-GPGPU">ILUVATAR-GPGPU</a>
<a class="item" href="{{$.Link}}?q={{$.Keyword}}&jobType={{$.JobType}}&listType=METAX-GPGPU&jobStatus={{$.JobStatus}}&cluster={{$.cluster}}&aiCenter={{$.aiCenter}}" data-value="METAX-GPGPU">METAX-GPGPU</a>
</div>
</div>
<div class="ui selection dropdown" style="min-width: 10em;min-height:2.6em;border-radius: .28571429rem;margin-right: 1em;padding: .67em 3.2em .7em 1em;">


+ 2
- 2
templates/user/dashboard/cloudbrains.tmpl View File

@@ -166,7 +166,7 @@
<!-- 计算资源 -->
<div class="one wide column text center nowrap" style="width:6% !important;">
<span
style="font-size: 12px;">{{if .ComputeResource}}{{.ComputeResource}}{{else}}--{{end}}</span>
style="font-size: 12px;" title="{{.ComputeResource}}">{{if .ComputeResource}}{{.ComputeResource}}{{else}}--{{end}}</span>
</div>
<!-- 智算中心 -->
@@ -402,7 +402,7 @@
<!-- 计算资源 -->
<div class="one wide column text center nowrap" style="width:6% !important;">
<span
style="font-size: 12px;">{{if .ComputeResource}}{{.ComputeResource}}{{else}}--{{end}}</span>
style="font-size: 12px;" title="{{.ComputeResource}}">{{if .ComputeResource}}{{.ComputeResource}}{{else}}--{{end}}</span>
</div>
<!-- 智算中心 -->


+ 17
- 1
templates/user/dashboard/feeds.tmpl View File

@@ -157,6 +157,18 @@
{{$.i18n.Tr "action.task_c2net_cpusupercomputejob" .GetRepoLink (Printf "%d" .Cloudbrain.ID) .RefName | Str2html}}
{{else}}
{{$.i18n.Tr "action.task_c2net_cpusupercomputejob" "" "" "" | Str2html}}<span style="">{{.RefName}}{{$.i18n.Tr "repo.issues.deleted_milestone"}}</span>
{{end}}
{{else if eq .GetOpType 48}}
{{if .Cloudbrain}}
{{$.i18n.Tr "action.task_c2net_gpudebugjob1" .GetRepoLink (Printf "%d" .Cloudbrain.ID) .RefName | Str2html}}
{{else}}
{{$.i18n.Tr "action.task_c2net_gpudebugjob1" "" "" "" | Str2html}}<span style="">{{.RefName}}{{$.i18n.Tr "repo.issues.deleted_milestone"}}</span>
{{end}}
{{else if eq .GetOpType 49}}
{{if .Cloudbrain}}
{{$.i18n.Tr "action.task_c2net_gpudebugjob2" .GetRepoLink (Printf "%d" .Cloudbrain.ID) .RefName | Str2html}}
{{else}}
{{$.i18n.Tr "action.task_c2net_gpudebugjob2" "" "" "" | Str2html}}<span style="">{{.RefName}}{{$.i18n.Tr "repo.issues.deleted_milestone"}}</span>
{{end}}
{{else if eq .GetOpType 44}}
{{if .Cloudbrain}}
@@ -221,6 +233,10 @@
<span class="text grey"><i class="ri-voice-recognition-line icon big"></i></span>
{{else if eq .GetOpType 47}}
<span class="text grey"><i class="ri-voice-recognition-line icon big"></i></span>
{{else if eq .GetOpType 48}}
<span class="text grey"><i class="ri-voice-recognition-line icon big"></i></span>
{{else if eq .GetOpType 49}}
<span class="text grey"><i class="ri-voice-recognition-line icon big"></i></span>
{{else if eq .GetOpType 27}}
<span class="text grey"><i class="ri-character-recognition-line icon big"></i></span>
{{else if eq .GetOpType 28}}
@@ -234,7 +250,7 @@
{{else if eq .GetOpType 35}}
<span class="text grey"><i class="thumbs up outline icon big"></i></span>
{{else}}
<span class="text grey">{{svg (printf "octicon-%s" (ActionIcon .GetOpType)) 32}}</span>
<span class="text grey">{{svg (printf "octicon-%s" (ActionIcon .GetOpType)) 32}}</span>
{{end}}
</div>
</div>


+ 3
- 2
web_src/vuepages/components/cloudbrain/FormTop.vue View File

@@ -24,7 +24,7 @@
</div>
</div>
<div class="form-row form-row-computer-resource" v-if="configs.hideComputerResource !== true">
<div class="title align-items-center"><span class="required">{{ $t('cloudbrainObj.computeResource') }}</span></div>
<div class="title"><span class="required">{{ $t('cloudbrainObj.computeResource') }}</span></div>
<div class="content">
<div class="list">
<a class="item" :href="`/${repoOwnerName}/${repoName}/${item.url}`"
@@ -94,7 +94,7 @@ export default {
.list {
display: flex;
align-items: center;
flex-wrap: wrap;
.item {
display: flex;
align-items: center;
@@ -106,6 +106,7 @@ export default {
height: 38px;
padding: 0 12px;
border-left: none;
margin-bottom: 5px;

i {
margin-top: -7px;


+ 5
- 3
web_src/vuepages/components/cloudbrain/SpecSelect.vue View File

@@ -11,11 +11,11 @@
<el-select class="spec-sel field-input" :class="configs.showPoint ? 'spec-show-point' : ''" v-model="spec"
:placeholder="$t('cloudbrainObj.specPlaceholder')" @change="changeSpec">
<div slot="prefix" class="spec-sel-icon spec-op-icon">
<div :class="selIconType + '_icon'">{{ selIconType[0] }}</div>
<div :class="selIconType + '_icon _icon'">{{ selIconType[0] }}</div>
</div>
<el-option v-for="(item) in list" :key="item.id" :label="item.specStr" :value="item.id">
<span style="float: left" class="spec-op-icon">
<div :class="item.type + '_icon'">{{ item.type[0] }}</div>
<div :class="item.type + '_icon _icon'">{{ item.type[0] }}</div>
</span>
<span class="spec-op-spec" style="float: left">{{ item.specStr }}</span>
<span class="spec-op-point" style="float: right;" v-if="configs.showPoint">{{ item.pointStr }}</span>
@@ -298,7 +298,9 @@ export default {
.NPU_icon,
.GCU_icon,
.MLU_icon,
.DCU_icon {
.DCU_icon,
.ILUVATAR-GPGPU_icon,
.METAX-GPGPU_icon {
color: white;
width: 22px;
height: 22px;


+ 2
- 2
web_src/vuepages/const/index.js View File

@@ -11,8 +11,8 @@ export const JOB_TYPE = [{ k: 'DEBUG', v: i18n.t('debugTask') }, { k: 'TRAIN', v
// 资源管理
export const CLUSTERS = [{ k: 'OpenI', v: i18n.t('resourcesManagement.OpenI') }, { k: 'C2Net', v: i18n.t('resourcesManagement.C2Net') }];
export const AI_CENTER = [{ k: 'OpenIOne', v: i18n.t('resourcesManagement.OpenIOne') }, { k: 'OpenITwo', v: i18n.t('resourcesManagement.OpenITwo') }, { k: 'OpenIChengdu', v: i18n.t('resourcesManagement.OpenIChengdu') }, { k: 'pclcci', v: i18n.t('resourcesManagement.pclcci') }, { k: 'hefei', v: i18n.t('resourcesManagement.hefeiCenter') }, { k: 'xuchang', v: i18n.t('resourcesManagement.xuchangCenter') }];
export const COMPUTER_RESOURCES = [{ k: 'CPU', v: 'CPU' }, { k: 'GPU', v: 'GPU' }, { k: 'NPU', v: 'NPU' }, { k: 'GCU', v: 'GCU' }, { k: 'MLU', v: 'MLU' }, { k: 'DCU', v: 'DCU' }];
export const ACC_CARD_TYPE = [{ k: 'T4', v: 'T4' }, { k: 'A100', v: 'A100' }, { k: 'V100', v: 'V100' }, { k: 'ASCEND910', v: 'Ascend 910' }, { k: 'MLU270', v: 'MLU270' }, { k: 'MLU290', v: 'MLU290' }, { k: 'RTX3080', v: 'RTX3080' }, { k: 'ENFLAME-T20', v: 'ENFLAME-T20' }, { k: 'DCU', v: 'DCU' }];
export const COMPUTER_RESOURCES = [{ k: 'CPU', v: 'CPU' }, { k: 'GPU', v: 'GPU' }, { k: 'NPU', v: 'NPU' }, { k: 'GCU', v: 'GCU' }, { k: 'MLU', v: 'MLU' }, { k: 'DCU', v: 'DCU' }, { k: 'ILUVATAR-GPGPU', v: 'ILUVATAR-GPGPU' }, { k: 'METAX-GPGPU', v: 'METAX-GPGPU' }];
export const ACC_CARD_TYPE = [{ k: 'T4', v: 'T4' }, { k: 'A100', v: 'A100' }, { k: 'V100', v: 'V100' }, { k: 'ASCEND910', v: 'Ascend 910' }, { k: 'MLU270', v: 'MLU270' }, { k: 'MLU290', v: 'MLU290' }, { k: 'RTX3080', v: 'RTX3080' }, { k: 'ENFLAME-T20', v: 'ENFLAME-T20' }, { k: 'DCU', v: 'DCU' }, { k: 'BI-V100', v: 'BI-V100' }, { k: 'MR-V100', v: 'MR-V100' }, { k: 'N100', v: 'N100' }];
export const SPECIFICATION_STATUS = [{ k: '1', v: i18n.t('resourcesManagement.willOnShelf') }, { k: '2', v: i18n.t('resourcesManagement.onShelf') }, { k: '3', v: i18n.t('resourcesManagement.offShelf') }];
export const NETWORK_TYPE = [{ k: 1, v: `${i18n.t('cloudbrainObj.networkType')}(${i18n.t('cloudbrainObj.noInternet')})` }, { k: 2, v: `${i18n.t('cloudbrainObj.networkType')}(${i18n.t('cloudbrainObj.hasInternet')})` }];
export const NETWORK_TYPE_VALUE = [{ k: 1, v: i18n.t('cloudbrainObj.noInternet') }, { k: 2, v: i18n.t('cloudbrainObj.hasInternet') }];


+ 10
- 0
web_src/vuepages/langs/config/en-US.js View File

@@ -104,6 +104,16 @@ const en = {
emptyPageDescr: 'The page you are trying to reach either <strong>does not exist</strong> or <strong>you are not authorized</strong> to view it.',
handleTask: 'Processing tasks',
freeCompute: 'Inclusive computing power',
computeResourceTitle: {
'CPU/GPU': 'NVIDIA GPU',
GPU: 'NVIDIA GPU',
NPU: 'Ascend NPU',
GCU: 'Enflame GCU',
MLU: 'Cambricon MLU',
DCU: 'HYGON DCU',
'ILUVATAR-GPGPU': 'Iluvatar CoreX GPGPU',
'METAX-GPGPU': 'MetaX GPGPU',
},
resourcesManagement: {
OpenI: 'OpenI',
C2Net: 'C2Net',


+ 11
- 1
web_src/vuepages/langs/config/zh-CN.js View File

@@ -103,6 +103,16 @@ const zh = {
emptyPageDescr: '您正尝试访问的页面 <strong>不存在</strong> 或 <strong>您尚未被授权</strong> 查看该页面。',
handleTask: '处理任务',
freeCompute: '普惠算力',
computeResourceTitle: {
'CPU/GPU': '英伟达GPU',
GPU: '英伟达GPU',
NPU: '昇腾NPU',
GCU: '燧原GCU',
MLU: '寒武纪MLU',
DCU: '海光DCU',
'ILUVATAR-GPGPU': '天数智芯GPGPU',
'METAX-GPGPU': '沐曦GPGPU',
},
resourcesManagement: {
OpenI: "启智集群",
C2Net: "智算集群",
@@ -370,7 +380,7 @@ const zh = {
forkModelSuccess: '模型内容复制完成,fork成功!',
debugModel: '调试模型',
onlineInference: '在线体验',
deleted:'已删除',
deleted: '已删除',
},
repos: {
activeOrganization: '活跃组织',


+ 96
- 5
web_src/vuepages/pages/cloudbrain/configs.js View File

@@ -3,7 +3,8 @@ import { JOB_TYPE } from '~/const';
import { getListValueWithKey } from '~/utils';

const CLUSTERS = [{ k: 'OpenI', v: i18n.t('cloudbrainObj.openi') }, { k: 'C2Net', v: i18n.t('cloudbrainObj.c2net') }];
const COMPUTER_RESOURCES = [{ k: 'GPU', v: 'CPU/GPU' }, { k: 'NPU', v: 'Ascend NPU' }, { k: 'GCU', v: 'GCU' }, { k: 'MLU', v: 'MLU' }, { k: 'DCU', v: 'DCU' }];
const COMPUTER_RESOURCES = [{ k: 'GPU', v: 'CPU/GPU' }, { k: 'NPU', v: 'Ascend NPU' }, { k: 'GCU', v: 'GCU' }, { k: 'MLU', v: 'MLU' }, { k: 'DCU', v: 'DCU' }, { k: 'ILUVATAR-GPGPU', v: 'ILUVATAR-GPGPU' }, { k: 'METAX-GPGPU', v: 'METAX-GPGPU' }];
const COMPUTER_RESOURCES_TITLE = [{ k: 'GPU', v: i18n.t('computeResourceTitle.GPU') }, { k: 'NPU', v: i18n.t('computeResourceTitle.NPU') }, { k: 'GCU', v: i18n.t('computeResourceTitle.GCU') }, { k: 'MLU', v: i18n.t('computeResourceTitle.MLU') }, { k: 'DCU', v: i18n.t('computeResourceTitle.DCU') }, { k: 'ILUVATAR-GPGPU', v: i18n.t('computeResourceTitle.ILUVATAR-GPGPU') }, { k: 'METAX-GPGPU', v: i18n.t('computeResourceTitle.METAX-GPGPU') }];

const sortList = [
{ k: '', v: i18n.t('all') },
@@ -11,7 +12,9 @@ const sortList = [
{ k: 'NPU', v: 'NPU' },
{ k: 'GCU', v: 'GCU' },
{ k: 'MLU', v: 'MLU' },
{ k: 'DCU', v: 'DCU' }
{ k: 'DCU', v: 'DCU' },
{ k: 'ILUVATAR-GPGPU', v: 'ILUVATAR-GPGPU' },
{ k: 'METAX-GPGPU', v: 'METAX-GPGPU' },
];

const getSortList = (typeList) => {
@@ -80,7 +83,7 @@ export const CreatePageConfigs = {
}],
'C2Net': [{
url: 'grampus/notebook/create?type=0',
computerResouces: ['GPU', 'NPU', 'GCU', 'MLU', 'DCU'],
computerResouces: ['GPU', 'NPU', 'GCU', 'MLU', 'DCU', 'ILUVATAR-GPGPU', 'METAX-GPGPU'],
'GPU': [{
url: 'grampus/notebook/create?type=0',
clusterType: 'C2Net',
@@ -173,6 +176,44 @@ export const CreatePageConfigs = {
spec: { required: true },
},
}],
'ILUVATAR-GPGPU': [{
url: 'grampus/notebook/create?type=5',
clusterType: 'C2Net',
tips2: i18n.t('cloudbrainObj.pathTips3', {
code: '/code',
dataset: '/dataset',
model: '/pretrainmodel',
}),
form: {
taskName: { required: true, },
taskDescr: { required: false, },
branchName: { required: true, },
model: { required: false, multiple: true },
imagev2: { required: true },
dataset: { required: false, useExceedSize: true },
networkType: { required: true },
spec: { required: true },
},
}],
'METAX-GPGPU': [{
url: 'grampus/notebook/create?type=6',
clusterType: 'C2Net',
tips2: i18n.t('cloudbrainObj.pathTips3', {
code: '/code',
dataset: '/dataset',
model: '/pretrainmodel',
}),
form: {
taskName: { required: true, },
taskDescr: { required: false, },
branchName: { required: true, },
model: { required: false, multiple: true },
imagev2: { required: true },
dataset: { required: false, useExceedSize: true },
networkType: { required: true },
spec: { required: true },
},
}],
}]
}],
// 训练任务
@@ -474,7 +515,7 @@ export const ListPageConfigs = {
],
pages: [{
jobType: 'DEBUG',
sortList: getSortList(['', 'GPU', 'NPU', 'GCU', 'MLU', 'DCU']),
sortList: getSortList(['', 'GPU', 'NPU', 'GCU', 'MLU', 'DCU', 'ILUVATAR-GPGPU', 'METAX-GPGPU']),
jobTypeName: getListValueWithKey(JOB_TYPE, 'DEBUG'),
url: 'debugjob',
createUrl: 'grampus/notebook/create?type=1',
@@ -707,6 +748,56 @@ export const DetailPageConfigs = {
name: 'operationProfile'
}],
}],
'ILUVATAR-GPGPU': [{
detailUrl: 'grampus/notebook/',
summary: [],
operations: [],
tabs: [{
name: 'configInfo',
fields: [
'taskName', 'imagev2',
'status', 'spec',
'creator', 'aiCenter',
'branch', 'modelName',
'computerRes', 'modelVersion',
'createTime', 'modelFiles',
'startTime', '',
'endTime', '',
'duration', '',
'descr', '',
'failedReason',
'dataset',
'modelList',
]
}, {
name: 'operationProfile'
}],
}],
'METAX-GPGPU': [{
detailUrl: 'grampus/notebook/',
summary: [],
operations: [],
tabs: [{
name: 'configInfo',
fields: [
'taskName', 'imagev2',
'status', 'spec',
'creator', 'aiCenter',
'branch', 'modelName',
'computerRes', 'modelVersion',
'createTime', 'modelFiles',
'startTime', '',
'endTime', '',
'duration', '',
'descr', '',
'failedReason',
'dataset',
'modelList',
]
}, {
name: 'operationProfile'
}],
}],
}]
}],
// 训练任务
@@ -1080,7 +1171,7 @@ export const getCreatePageConfigs = (url) => {
computerResouces: computerResouces.map(_item => {
return {
key: _item,
label: getListValueWithKey(COMPUTER_RESOURCES, _item),
label: getListValueWithKey(COMPUTER_RESOURCES_TITLE, _item),
url: cfg2[_item] && cfg2[_item][0] ? cfg2[_item][0].url : '',
}
}),


Loading…
Cancel
Save