| @@ -7,3 +7,9 @@ export const POINT_ACTIONS = [ | |||||
| { k: 35, v: i18n.t('dailyRunCloudbrainTasks') }, { k: 36, v: i18n.t('datasetRecommendedByThePlatform') }, { k: 37, v: i18n.t('submitNewPublicImage') }, { k: 38, v: i18n.t('imageRecommendedByThePlatform') }, { k: 39, v: i18n.t('firstChangeofAvatar') }, { k: 40, v: i18n.t('dailyCommit') }, | { k: 35, v: i18n.t('dailyRunCloudbrainTasks') }, { k: 36, v: i18n.t('datasetRecommendedByThePlatform') }, { k: 37, v: i18n.t('submitNewPublicImage') }, { k: 38, v: i18n.t('imageRecommendedByThePlatform') }, { k: 39, v: i18n.t('firstChangeofAvatar') }, { k: 40, v: i18n.t('dailyCommit') }, | ||||
| ]; | ]; | ||||
| export const JOB_TYPE = [{ k: 'DEBUG', v: i18n.t('debugTask') }, { k: 'TRAIN', v: i18n.t('trainTask') }, { k: 'INFERENCE', v: i18n.t('inferenceTask') }, { k: 'BENCHMARK', v: i18n.t('benchmarkTask') }]; | export const JOB_TYPE = [{ k: 'DEBUG', v: i18n.t('debugTask') }, { k: 'TRAIN', v: i18n.t('trainTask') }, { k: 'INFERENCE', v: i18n.t('inferenceTask') }, { k: 'BENCHMARK', v: i18n.t('benchmarkTask') }]; | ||||
| // 资源管理 | |||||
| export const CLUSTERS = [{ k: 'OpenI', v: '启智集群' }, { k: 'C2Net', v: '智算集群' }]; | |||||
| export const AI_CENTER = [{ k: 'OpenIOne', v: '云脑一' }, { k: 'OpenITwo', v: '云脑二' }, { k: 'chendu', v: '成都人工智能计算中心' }, { k: 'pclcci', v: '鹏城云计算所' }, { k: 'hefei', v: '合肥类脑类脑智能开放平台' }, { k: 'xuchang', v: '中原人工智能计算中心' }]; | |||||
| export const COMPUTER_RESOURCES = [{ k: 'GPU', v: 'CPU/GPU' }, { k: 'NPU', v: 'NPU' }]; | |||||
| export const ACC_CARD_TYPE = [{ k: 'T4', v: 'T4' }, { k: 'A100', v: 'A100' }, { k: 'V100', v: 'V100' }, { k: 'Ascend910', v: 'Ascend910' }]; | |||||
| @@ -17,7 +17,9 @@ | |||||
| <span>所属集群</span> | <span>所属集群</span> | ||||
| </div> | </div> | ||||
| <div class="content"> | <div class="content"> | ||||
| <el-select v-model="dataInfo.cluster"></el-select> | |||||
| <el-select v-model="dataInfo.cluster"> | |||||
| <el-option v-for="item in clusterList" :key="item.k" :label="item.v" :value="item.k" /> | |||||
| </el-select> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| <div class="form-row"> | <div class="form-row"> | ||||
| @@ -25,7 +27,9 @@ | |||||
| <span>智算中心</span> | <span>智算中心</span> | ||||
| </div> | </div> | ||||
| <div class="content"> | <div class="content"> | ||||
| <el-select v-model="dataInfo.computingCenter"></el-select> | |||||
| <el-select v-model="dataInfo.computingCenter"> | |||||
| <el-option v-for="item in computingCenterList" :key="item.k" :label="item.v" :value="item.k" /> | |||||
| </el-select> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| <div class="form-row"> | <div class="form-row"> | ||||
| @@ -33,7 +37,9 @@ | |||||
| <span>计算资源</span> | <span>计算资源</span> | ||||
| </div> | </div> | ||||
| <div class="content"> | <div class="content"> | ||||
| <el-select v-model="dataInfo.computingType"></el-select> | |||||
| <el-select v-model="dataInfo.computingType"> | |||||
| <el-option v-for="item in computingTypeList" :key="item.k" :label="item.v" :value="item.k" /> | |||||
| </el-select> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| <div class="form-row"> | <div class="form-row"> | ||||
| @@ -41,7 +47,9 @@ | |||||
| <span>卡类型</span> | <span>卡类型</span> | ||||
| </div> | </div> | ||||
| <div class="content"> | <div class="content"> | ||||
| <el-select v-model="dataInfo.cardType"></el-select> | |||||
| <el-select v-model="dataInfo.cardType"> | |||||
| <el-option v-for="item in cardTypeList" :key="item.k" :label="item.v" :value="item.k" /> | |||||
| </el-select> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| <div class="form-row"> | <div class="form-row"> | ||||
| @@ -75,6 +83,7 @@ | |||||
| <script> | <script> | ||||
| import BaseDialog from '~/components/BaseDialog.vue'; | import BaseDialog from '~/components/BaseDialog.vue'; | ||||
| import { getQueueList } from '~/apis/modules/resources'; | import { getQueueList } from '~/apis/modules/resources'; | ||||
| import { CLUSTERS, AI_CENTER, COMPUTER_RESOURCES, ACC_CARD_TYPE } from '~/const'; | |||||
| export default { | export default { | ||||
| name: "QueueDialog", | name: "QueueDialog", | ||||
| @@ -90,9 +99,12 @@ export default { | |||||
| data() { | data() { | ||||
| return { | return { | ||||
| dialogShow: false, | dialogShow: false, | ||||
| dataInfo: { | |||||
| clusterList: [...CLUSTERS], | |||||
| computingCenterList: [...AI_CENTER], | |||||
| computingTypeList: [...COMPUTER_RESOURCES], | |||||
| cardTypeList: [...ACC_CARD_TYPE], | |||||
| }, | |||||
| dataInfo: {}, | |||||
| }; | }; | ||||
| }, | }, | ||||
| watch: { | watch: { | ||||
| @@ -134,7 +146,7 @@ export default { | |||||
| this.$emit("update:visible", false); | this.$emit("update:visible", false); | ||||
| }, | }, | ||||
| confirm() { | confirm() { | ||||
| console.log('confirm', this.dataInfo); | |||||
| }, | }, | ||||
| cancel() { | cancel() { | ||||
| this.dialogShow = false; | this.dialogShow = false; | ||||
| @@ -77,7 +77,7 @@ import BaseDialog from '~/components/BaseDialog.vue'; | |||||
| import { getQueueList } from '~/apis/modules/resources'; | import { getQueueList } from '~/apis/modules/resources'; | ||||
| export default { | export default { | ||||
| name: "QueueDialog", | |||||
| name: "SceneDialog", | |||||
| props: { | props: { | ||||
| visible: { type: Boolean, default: false }, | visible: { type: Boolean, default: false }, | ||||
| title: { type: String, default: '' }, | title: { type: String, default: '' }, | ||||
| @@ -77,7 +77,7 @@ import BaseDialog from '~/components/BaseDialog.vue'; | |||||
| import { getQueueList } from '~/apis/modules/resources'; | import { getQueueList } from '~/apis/modules/resources'; | ||||
| export default { | export default { | ||||
| name: "QueueDialog", | |||||
| name: "SpecificationDialog", | |||||
| props: { | props: { | ||||
| visible: { type: Boolean, default: false }, | visible: { type: Boolean, default: false }, | ||||
| title: { type: String, default: '' }, | title: { type: String, default: '' }, | ||||
| @@ -74,18 +74,19 @@ | |||||
| <script> | <script> | ||||
| import QueueDialog from '../components/QueueDialog.vue'; | import QueueDialog from '../components/QueueDialog.vue'; | ||||
| import { getQueueList } from '~/apis/modules/resources'; | import { getQueueList } from '~/apis/modules/resources'; | ||||
| import { CLUSTERS, AI_CENTER, COMPUTER_RESOURCES, ACC_CARD_TYPE } from '~/const'; | |||||
| export default { | export default { | ||||
| data() { | data() { | ||||
| return { | return { | ||||
| selCluster: '', | selCluster: '', | ||||
| clusterList: [{ k: '', v: '全部集群' }, { k: '1', v: '启智集群' }, { k: '2', v: '智算联盟集群' }], | |||||
| clusterList: [{ k: '', v: '全部集群' }, ...CLUSTERS], | |||||
| selComputingCenter: '', | selComputingCenter: '', | ||||
| computingCenterList: [{ k: '', v: '全部智算中心' }, { k: '1', v: '云脑I' }, { k: '2', v: '云脑II' }], | |||||
| computingCenterList: [{ k: '', v: '全部智算中心' }, ...AI_CENTER], | |||||
| selComputingType: '', | selComputingType: '', | ||||
| computingTypeList: [{ k: '', v: '全部计算资源' }, { k: 'cpu/gpu', v: 'CPU/GPU' }, { k: 'npu', v: 'NPU' }], | |||||
| computingTypeList: [{ k: '', v: '全部计算资源' }, ...COMPUTER_RESOURCES], | |||||
| selCardType: '', | selCardType: '', | ||||
| cardTypeList: [{ k: '', v: '全部卡类型' }, { k: 't4', v: 'T4' }, { k: 'a100', v: 'A100' }, { k: 'v100', v: 'V100' }, { k: 'ascend910', v: 'Ascend910' }], | |||||
| cardTypeList: [{ k: '', v: '全部卡类型' }, ...ACC_CARD_TYPE], | |||||
| syncLoading: false, | syncLoading: false, | ||||
| loading: false, | loading: false, | ||||
| tableData: [], | tableData: [], | ||||