chore: amd note for add worker

This commit is contained in:
jialin
2025-11-27 19:35:04 +08:00
parent d1c1132e6e
commit 306daf7591
5 changed files with 40 additions and 9 deletions
+2 -1
View File
@@ -81,5 +81,6 @@ Same applies to the <span class="bold-text">/opt/dtk</span> directory.`,
'clusters.addworker.extraVolume.holder':
'e.g. /data/models (path must start with /)',
'clusters.addworker.vendorNotes.title': 'Notes for {vendor} Device',
'clusters.button.genToken': 'Generate Token'
'clusters.button.genToken': 'Generate Token',
'clusters.addworker.amdNotes-01': `If the <span class="bold-text">/opt/rocm</span> directory does not exist, please create a symbolic link pointing to the ROCm installed path: <span class="bold-text">ln -s /path/to/rocm /opt/rocm</span>.`
};
+4 -2
View File
@@ -81,7 +81,8 @@ Same applies to the <span class="bold-text">/opt/dtk</span> directory.`,
'clusters.addworker.extraVolume.holder':
'e.g. /data/models (path must start with /)',
'clusters.addworker.vendorNotes.title': 'Notes for {vendor} Device',
'clusters.button.genToken': 'Generate Token'
'clusters.button.genToken': 'Generate Token',
'clusters.addworker.amdNotes-01': `If the <span class="bold-text">/opt/rocm</span> directory does not exist, please create a symbolic link pointing to the ROCm installed path: <span class="bold-text">ln -s /path/to/rocm /opt/rocm</span>.`
};
// ========== To-Do: Translate Keys (Remove After Translation) ==========
@@ -153,5 +154,6 @@ Same applies to the <span class="bold-text">/opt/dtk</span> directory.`,
// 66. 'clusters.addworker.autoDetect': 'Auto-detect',
// 67. 'clusters.addworker.extraVolume.holder': 'e.g. /data/models (path must start with /)'
// 68. 'clusters.addworker.vendorNotes.title': 'Notes for {vendor} Device',
// 69. 'clusters.button.genToken': 'Generate Token'
// 69. 'clusters.button.genToken': 'Generate Token',
// 70. 'clusters.addworker.amdNotes-01': `If the <span class="bold-text">/opt/rocm</span> directory does not exist, please create a symbolic link pointing to the ROCm installed path: <span class="bold-text">ln -s /path/to/rocm /opt/rocm</span>.`
// ========== End of To-Do List ==========
+6 -1
View File
@@ -81,5 +81,10 @@ export default {
'clusters.addworker.extraVolume.holder':
'напр. /data/models (путь должен начинаться с /)',
'clusters.addworker.vendorNotes.title': 'Примечания для устройств {vendor}',
'clusters.button.genToken': 'Сгенерировать токен'
'clusters.button.genToken': 'Сгенерировать токен',
'clusters.addworker.amdNotes-01': `If the <span class="bold-text">/opt/rocm</span> directory does not exist, please create a symbolic link pointing to the ROCm installed path: <span class="bold-text">ln -s /path/to/rocm /opt/rocm</span>.`
};
// ========== To-Do: Translate Keys (Remove After Translation) ==========
// 1. 'clusters.addworker.amdNotes-01': `If the <span class="bold-text">/opt/rocm</span> directory does not exist, please create a symbolic link pointing to the ROCm installed path: <span class="bold-text">ln -s /path/to/rocm /opt/rocm</span>.`
// ================================================================
+3 -1
View File
@@ -79,5 +79,7 @@ export default {
'clusters.addworker.extraVolume.holder':
'例如:/data/models(路径需以 / 开头)',
'clusters.addworker.vendorNotes.title': '{vendor}设备注意事项',
'clusters.button.genToken': '生成令牌'
'clusters.button.genToken': '生成令牌',
'clusters.addworker.amdNotes-01':
'如果 <span class="bold-text">/opt/rocm</span> 目录不存在,请创建一个指向已安装 ROCm 路径的符号链接:<span class="bold-text">ln -s /path/to/rocm /opt/rocm</span>。'
};
+25 -4
View File
@@ -57,7 +57,7 @@ export const GPUsConfigs: Record<
[GPUDriverMap.ILUVATAR]: {
label: ManufacturerMap[GPUDriverMap.ILUVATAR],
value: GPUDriverMap.ILUVATAR,
runtime: 'iluvatar', // TODO: confirm runtime name
runtime: 'iluvatar',
driver: 'ixsmi'
},
[GPUDriverMap.CAMBRICON]: {
@@ -142,7 +142,7 @@ const setImageArgs = (params: any) => {
--token ${params.token} \\`;
};
// avaliable for NVIDIA、AMD、MThreads
// avaliable for NVIDIA、MThreads
const registerWorker = (params: {
server: string;
tag: string;
@@ -162,6 +162,27 @@ const registerWorker = (params: {
${params.workerIP ? `--advertise-address ${params.workerIP} \\` : ''}`;
};
// avaliable for AMD
const registerAMDWorker = (params: {
server: string;
tag: string;
token: string;
image: string;
gpu: string;
workerIP?: string;
modelDir?: string;
}) => {
const config = GPUsConfigs[params.gpu];
const commonArgs = setNormalArgs(params);
const imageArgs = setImageArgs(params);
// remove empty enter lines and trailing backslash
return `${commonArgs}
--volume /opt/rocm:/opt/rocm:ro \\
--runtime ${config.runtime} \\
${imageArgs}
${params.workerIP ? `--advertise-address ${params.workerIP} \\` : ''}`;
};
// avaliable for Ascend
const registerAscendWorker = (params: {
server: string;
@@ -264,7 +285,7 @@ const registerCambriconWorker = (params: {
export const registerAddWokerCommandMap = {
[GPUDriverMap.NVIDIA]: registerWorker,
[GPUDriverMap.AMD]: registerWorker,
[GPUDriverMap.AMD]: registerAMDWorker,
[GPUDriverMap.ASCEND]: registerAscendWorker,
[GPUDriverMap.HYGON]: registerHygonWorker,
[GPUDriverMap.ILUVATAR]: registerIluvatarWorker,
@@ -275,7 +296,7 @@ export const registerAddWokerCommandMap = {
export const AddWorkerDockerNotes: Record<string, string[]> = {
[GPUDriverMap.NVIDIA]: [],
[GPUDriverMap.AMD]: [],
[GPUDriverMap.AMD]: ['clusters.addworker.amdNotes-01'],
[GPUDriverMap.MOORE_THREADS]: [],
[GPUDriverMap.ASCEND]: [],
[GPUDriverMap.HYGON]: [