Skip to content

Commit 3a79d15

Browse files
committed
add xpu smi support in env runtime
Signed-off-by: Wang, Yi A <[email protected]>
1 parent 02c41ab commit 3a79d15

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

Dockerfile_intel

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,12 @@ USER root
4343
RUN wget http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb && \
4444
dpkg -i ./libssl1.1_1.1.1f-1ubuntu2_amd64.deb
4545

46+
47+
RUN wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \
48+
| gpg --dearmor | tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null && echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | tee /etc/apt/sources.list.d/oneAPI.list
49+
50+
RUN apt-get update && apt install -y intel-basekit xpu-smi
51+
4652
# Text Generation Inference base env
4753
ENV HUGGINGFACE_HUB_CACHE=/data \
4854
HF_HUB_ENABLE_HF_TRANSFER=1 \

launcher/src/env_runtime.rs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,17 @@ pub(crate) struct Env {
77
git_sha: &'static str,
88
docker_label: &'static str,
99
nvidia_env: String,
10+
xpu_env: String,
1011
}
1112

1213
impl Env {
1314
pub fn new() -> Self {
1415
let nvidia_env = nvidia_smi();
16+
let xpu_env = xpu_smi();
1517

1618
Self {
1719
nvidia_env: nvidia_env.unwrap_or("N/A".to_string()),
20+
xpu_env: xpu_env.unwrap_or("N/A".to_string()),
1821
cargo_target: env!("VERGEN_CARGO_TARGET_TRIPLE"),
1922
cargo_version: env!("VERGEN_RUSTC_SEMVER"),
2023
git_sha: option_env!("VERGEN_GIT_SHA").unwrap_or("N/A"),
@@ -31,7 +34,8 @@ impl fmt::Display for Env {
3134
writeln!(f, "Cargo version: {}", self.cargo_version)?;
3235
writeln!(f, "Commit sha: {}", self.git_sha)?;
3336
writeln!(f, "Docker label: {}", self.docker_label)?;
34-
write!(f, "nvidia-smi:\n{}", self.nvidia_env)?;
37+
writeln!(f, "nvidia-smi:\n{}", self.nvidia_env)?;
38+
write!(f, "xpu-smi:\n{}", self.xpu_env)?;
3539

3640
Ok(())
3741
}
@@ -43,3 +47,10 @@ fn nvidia_smi() -> Option<String> {
4347
let output = nvidia_smi.replace('\n', "\n ");
4448
Some(output.trim().to_string())
4549
}
50+
51+
fn xpu_smi() -> Option<String> {
52+
let output = Command::new("xpu-smi").arg("discovery").output().ok()?;
53+
let xpu_smi = String::from_utf8(output.stdout).ok()?;
54+
let output = xpu_smi.replace('\n', "\n ");
55+
Some(output.trim().to_string())
56+
}

0 commit comments

Comments
 (0)