diff --git a/Dockerfile_intel b/Dockerfile_intel index 16b059ca..3aa43acf 100644 --- a/Dockerfile_intel +++ b/Dockerfile_intel @@ -43,6 +43,12 @@ USER root RUN wget http://nz2.archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb && \ dpkg -i ./libssl1.1_1.1.1f-1ubuntu2_amd64.deb + +RUN wget -O- https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB \ +| 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 + +RUN apt-get update && apt install -y intel-basekit xpu-smi + # Text Generation Inference base env ENV HUGGINGFACE_HUB_CACHE=/data \ HF_HUB_ENABLE_HF_TRANSFER=1 \ diff --git a/launcher/src/env_runtime.rs b/launcher/src/env_runtime.rs index 9dbc83f7..08fb301c 100644 --- a/launcher/src/env_runtime.rs +++ b/launcher/src/env_runtime.rs @@ -7,14 +7,17 @@ pub(crate) struct Env { git_sha: &'static str, docker_label: &'static str, nvidia_env: String, + xpu_env: String, } impl Env { pub fn new() -> Self { let nvidia_env = nvidia_smi(); + let xpu_env = xpu_smi(); Self { nvidia_env: nvidia_env.unwrap_or("N/A".to_string()), + xpu_env: xpu_env.unwrap_or("N/A".to_string()), cargo_target: env!("VERGEN_CARGO_TARGET_TRIPLE"), cargo_version: env!("VERGEN_RUSTC_SEMVER"), git_sha: option_env!("VERGEN_GIT_SHA").unwrap_or("N/A"), @@ -31,7 +34,8 @@ impl fmt::Display for Env { writeln!(f, "Cargo version: {}", self.cargo_version)?; writeln!(f, "Commit sha: {}", self.git_sha)?; writeln!(f, "Docker label: {}", self.docker_label)?; - write!(f, "nvidia-smi:\n{}", self.nvidia_env)?; + writeln!(f, "nvidia-smi:\n{}", self.nvidia_env)?; + write!(f, "xpu-smi:\n{}", self.xpu_env)?; Ok(()) } @@ -43,3 +47,10 @@ fn nvidia_smi() -> Option { let output = nvidia_smi.replace('\n', "\n "); Some(output.trim().to_string()) } + +fn xpu_smi() -> Option { + let output = Command::new("xpu-smi").arg("discovery").output().ok()?; + let xpu_smi = String::from_utf8(output.stdout).ok()?; + let output = xpu_smi.replace('\n', "\n "); + Some(output.trim().to_string()) +}