fix: extra newline character
This commit is contained in:
@@ -32,7 +32,7 @@ const AddWorkerCommand: React.FC<ViewModalProps> = ({
|
|||||||
token: registrationInfo.token || '${token}'
|
token: registrationInfo.token || '${token}'
|
||||||
})
|
})
|
||||||
?.trim()
|
?.trim()
|
||||||
.replace(/\\\s+$/gm, '')
|
.replace(/\s+$/gm, '')
|
||||||
.replace(/\\+$/, '');
|
.replace(/\\+$/, '');
|
||||||
}, [registrationInfo, currentGPU, workerIP, modelDir]);
|
}, [registrationInfo, currentGPU, workerIP, modelDir]);
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,12 @@ const Box = styled.div`
|
|||||||
&.step-collapse-open {
|
&.step-collapse-open {
|
||||||
border-color: var(--ant-color-primary);
|
border-color: var(--ant-color-primary);
|
||||||
}
|
}
|
||||||
|
&:not(.step-collapse-open):hover {
|
||||||
|
.ant-card-head {
|
||||||
|
background-color: var(--ant-color-fill-tertiary) !important;
|
||||||
|
transition: background-color 0.3s;
|
||||||
|
}
|
||||||
|
}
|
||||||
`;
|
`;
|
||||||
|
|
||||||
const ButtonWrapper = styled.div`
|
const ButtonWrapper = styled.div`
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ const generateNvidiaDockerEnvCommand = (config: {
|
|||||||
runtime: string;
|
runtime: string;
|
||||||
driver: string;
|
driver: string;
|
||||||
}) => {
|
}) => {
|
||||||
return `${config.driver} >/dev/null 2>&1 && echo "${config.label} driver OK" || (echo "${config.label} driver issue"; exit 1) && docker info 2>/dev/null | grep -q "${config.runtime}" && echo "${config.label} Container Toolkit OK" || (echo "${config.label} Container Toolkit not configured"; exit 1)`;
|
return `${config.driver} >/dev/null 2>&1 && echo "${config.label} driver OK" || (echo "${config.label} driver issue"; exit 1) && sudo docker info 2>/dev/null | grep -q "${config.runtime}" && echo "${config.label} Container Toolkit OK" || (echo "${config.label} Container Toolkit not configured"; exit 1)`;
|
||||||
};
|
};
|
||||||
|
|
||||||
// avaliable for Hygon、Iluvatar、MetaX 、Cambricon
|
// avaliable for Hygon、Iluvatar、MetaX 、Cambricon
|
||||||
@@ -126,13 +126,14 @@ export const dockerEnvCommandMap = {
|
|||||||
GPUsConfigs[GPUDriverMap.METAX]
|
GPUsConfigs[GPUDriverMap.METAX]
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
const setNormalArgs = () => {
|
const setNormalArgs = (params: any) => {
|
||||||
return `sudo docker run -d --name gpustack-worker \\
|
return `sudo docker run -d --name gpustack-worker \\
|
||||||
--restart=unless-stopped \\
|
--restart=unless-stopped \\
|
||||||
--privileged \\
|
--privileged \\
|
||||||
--network=host \\
|
--network=host \\
|
||||||
--volume /var/run/docker.sock:/var/run/docker.sock \\
|
--volume /var/run/docker.sock:/var/run/docker.sock \\
|
||||||
--volume gpustack-data:/var/lib/gpustack \\`;
|
--volume gpustack-data:/var/lib/gpustack \\
|
||||||
|
${params.modelDir ? `--volume ${params.modelDir}:${params.modelDir} \\` : ''}`;
|
||||||
};
|
};
|
||||||
|
|
||||||
const setImageArgs = (params: any) => {
|
const setImageArgs = (params: any) => {
|
||||||
@@ -152,11 +153,10 @@ const registerWorker = (params: {
|
|||||||
modelDir?: string;
|
modelDir?: string;
|
||||||
}) => {
|
}) => {
|
||||||
const config = GPUsConfigs[params.gpu];
|
const config = GPUsConfigs[params.gpu];
|
||||||
const commonArgs = setNormalArgs();
|
const commonArgs = setNormalArgs(params);
|
||||||
const imageArgs = setImageArgs(params);
|
const imageArgs = setImageArgs(params);
|
||||||
// remove empty enter lines and trailing backslash
|
// remove empty enter lines and trailing backslash
|
||||||
return `${commonArgs} \\
|
return `${commonArgs}
|
||||||
${params.modelDir ? `--volume ${params.modelDir}:${params.modelDir} \\` : ''}
|
|
||||||
--runtime ${config.runtime} \\
|
--runtime ${config.runtime} \\
|
||||||
${imageArgs}
|
${imageArgs}
|
||||||
${params.workerIP ? `--advertise-address ${params.workerIP} \\` : ''}`;
|
${params.workerIP ? `--advertise-address ${params.workerIP} \\` : ''}`;
|
||||||
@@ -173,14 +173,13 @@ const registerAscendWorker = (params: {
|
|||||||
modelDir?: string;
|
modelDir?: string;
|
||||||
}) => {
|
}) => {
|
||||||
const config = GPUsConfigs[params.gpu];
|
const config = GPUsConfigs[params.gpu];
|
||||||
const commonArgs = setNormalArgs();
|
const commonArgs = setNormalArgs(params);
|
||||||
const imageArgs = setImageArgs(params);
|
const imageArgs = setImageArgs(params);
|
||||||
return `${commonArgs} \\
|
return `${commonArgs}
|
||||||
--env "ASCEND_VISIBLE_DEVICES=$(sudo ls /dev/davinci* | head -1 | grep -o '[0-9]\\+' || echo "0")" \\
|
--env "ASCEND_VISIBLE_DEVICES=$(sudo ls /dev/davinci* | head -1 | grep -o '[0-9]\\+' || echo "0")" \\
|
||||||
--runtime ${config.runtime} \\
|
--runtime ${config.runtime} \\
|
||||||
${imageArgs}
|
${imageArgs}
|
||||||
${params.workerIP ? `--advertise-address ${params.workerIP} \\` : ''}
|
${params.workerIP ? `--advertise-address ${params.workerIP} \\` : ''}`;
|
||||||
${params.modelDir ? `--volume ${params.modelDir}:${params.modelDir}` : ''}`;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const registerHygonWorker = (params: {
|
const registerHygonWorker = (params: {
|
||||||
@@ -193,16 +192,15 @@ const registerHygonWorker = (params: {
|
|||||||
modelDir?: string;
|
modelDir?: string;
|
||||||
}) => {
|
}) => {
|
||||||
const config = GPUsConfigs[params.gpu];
|
const config = GPUsConfigs[params.gpu];
|
||||||
const commonArgs = setNormalArgs();
|
const commonArgs = setNormalArgs(params);
|
||||||
const imageArgs = setImageArgs(params);
|
const imageArgs = setImageArgs(params);
|
||||||
return `${commonArgs} \\
|
return `${commonArgs}
|
||||||
--volume /opt/hyhal:/opt/hyhal:ro \\
|
--volume /opt/hyhal:/opt/hyhal:ro \\
|
||||||
--volume /opt/dtk:/opt/dtk:ro \\
|
--volume /opt/dtk:/opt/dtk:ro \\
|
||||||
--env ROCM_PATH=/opt/dtk \\
|
--env ROCM_PATH=/opt/dtk \\
|
||||||
--env ROCM_SMI_LIB_PATH=/opt/hyhal/lib \\
|
--env ROCM_SMI_LIB_PATH=/opt/hyhal/lib \\
|
||||||
${imageArgs}
|
${imageArgs}
|
||||||
${params.workerIP ? `--advertise-address ${params.workerIP} \\` : ''}
|
${params.workerIP ? `--advertise-address ${params.workerIP} \\` : ''}`;
|
||||||
${params.modelDir ? `--volume ${params.modelDir}:${params.modelDir}` : ''}`;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const registerIluvatarWorker = (params: {
|
const registerIluvatarWorker = (params: {
|
||||||
@@ -215,16 +213,15 @@ const registerIluvatarWorker = (params: {
|
|||||||
modelDir?: string;
|
modelDir?: string;
|
||||||
}) => {
|
}) => {
|
||||||
const config = GPUsConfigs[params.gpu];
|
const config = GPUsConfigs[params.gpu];
|
||||||
const commonArgs = setNormalArgs();
|
const commonArgs = setNormalArgs(params);
|
||||||
const imageArgs = setImageArgs(params);
|
const imageArgs = setImageArgs(params);
|
||||||
return `${commonArgs} \\
|
return `${commonArgs}
|
||||||
--volume /lib/modules:/lib/modules:ro \\
|
--volume /lib/modules:/lib/modules:ro \\
|
||||||
--volume /usr/local/corex:/usr/local/corex:ro \\
|
--volume /usr/local/corex:/usr/local/corex:ro \\
|
||||||
--volume /usr/bin/ixsmi:/usr/bin/ixsmi \\
|
--volume /usr/bin/ixsmi:/usr/bin/ixsmi \\
|
||||||
--runtime ${config.runtime} \\
|
--runtime ${config.runtime} \\
|
||||||
${imageArgs}
|
${imageArgs}
|
||||||
${params.workerIP ? `--advertise-address ${params.workerIP} \\` : ''}
|
${params.workerIP ? `--advertise-address ${params.workerIP} \\` : ''}`;
|
||||||
${params.modelDir ? `--volume ${params.modelDir}:${params.modelDir}` : ''}`;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const registerMetaXWorker = (params: {
|
const registerMetaXWorker = (params: {
|
||||||
@@ -237,14 +234,13 @@ const registerMetaXWorker = (params: {
|
|||||||
modelDir?: string;
|
modelDir?: string;
|
||||||
}) => {
|
}) => {
|
||||||
const config = GPUsConfigs[params.gpu];
|
const config = GPUsConfigs[params.gpu];
|
||||||
const commonArgs = setNormalArgs();
|
const commonArgs = setNormalArgs(params);
|
||||||
const imageArgs = setImageArgs(params);
|
const imageArgs = setImageArgs(params);
|
||||||
return `${commonArgs} \\
|
return `${commonArgs}
|
||||||
--volume /opt/mxdriver:/opt/mxdriver:ro \\
|
--volume /opt/mxdriver:/opt/mxdriver:ro \\
|
||||||
--volume /opt/maca:/opt/maca:ro \\
|
--volume /opt/maca:/opt/maca:ro \\
|
||||||
${imageArgs}
|
${imageArgs}
|
||||||
${params.workerIP ? `--advertise-address ${params.workerIP} \\` : ''}
|
${params.workerIP ? `--advertise-address ${params.workerIP} \\` : ''}`;
|
||||||
${params.modelDir ? `--volume ${params.modelDir}:${params.modelDir}` : ''}`;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
const registerCambriconWorker = (params: {
|
const registerCambriconWorker = (params: {
|
||||||
@@ -257,14 +253,13 @@ const registerCambriconWorker = (params: {
|
|||||||
modelDir?: string;
|
modelDir?: string;
|
||||||
}) => {
|
}) => {
|
||||||
const config = GPUsConfigs[params.gpu];
|
const config = GPUsConfigs[params.gpu];
|
||||||
const commonArgs = setNormalArgs();
|
const commonArgs = setNormalArgs(params);
|
||||||
const imageArgs = setImageArgs(params);
|
const imageArgs = setImageArgs(params);
|
||||||
return `${commonArgs} \\
|
return `${commonArgs}
|
||||||
--volume /usr/local/neuware:/usr/local/neuware:ro \\
|
--volume /usr/local/neuware:/usr/local/neuware:ro \\
|
||||||
--volume /usr/bin/cnmon:/usr/bin/cnmon \\
|
--volume /usr/bin/cnmon:/usr/bin/cnmon \\
|
||||||
${imageArgs}
|
${imageArgs}
|
||||||
${params.workerIP ? `--advertise-address ${params.workerIP} \\` : ''}
|
${params.workerIP ? `--advertise-address ${params.workerIP} \\` : ''}`;
|
||||||
${params.modelDir ? `--volume ${params.modelDir}:${params.modelDir}` : ''}`;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export const registerAddWokerCommandMap = {
|
export const registerAddWokerCommandMap = {
|
||||||
|
|||||||
Reference in New Issue
Block a user