【Sionna】docker build ubuntu cuda

改动之后

bash 复制代码
#/*
# * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
# * contributor license agreements.  See the NOTICE file distributed with
# * this work for additional information regarding copyright ownership.
# * The OpenAirInterface Software Alliance licenses this file to You under
# * the OAI Public License, Version 1.1  (the "License"); you may not use this file
# * except in compliance with the License.
# * You may obtain a copy of the License at
# *
# *      http://www.openairinterface.org/?page_id=698
# *
# * Unless required by applicable law or agreed to in writing, software
# * distributed under the License is distributed on an "AS IS" BASIS,
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# * See the License for the specific language governing permissions and
# * limitations under the License.
# *-------------------------------------------------------------------------------
# * For more information about the OpenAirInterface (OAI) Software Alliance:
# *      contact@openairinterface.org
# */
#---------------------------------------------------------------------
#
# Dockerfile for the Open-Air-Interface BUILD service
#   Valid for Ubuntu 24.04
#
#---------------------------------------------------------------------

ARG DOCKER_CUSTOM_IMAGE_TAG=latest
FROM ran-base-cuda:${DOCKER_CUSTOM_IMAGE_TAG} AS ran-build-cuda
ARG BUILD_OPTION
ARG FLEXRIC_BUILD_OPTIONS
ARG NVIDIA_DRIVER_CAPABILITIES=all
ARG E2AP_VERSION=E2AP_V3
ARG KPM_VERSION=KPM_V3_00

# TensorRT 11 plan builds use ModelOpt to convert ONNX models to FP16.
# Isolate pip dependencies from apt-managed Python packages (e.g. NumPy).
RUN apt-get update && \
    apt-get install --yes --no-install-recommends python3-venv && \
    rm -rf /var/lib/apt/lists/* && \
    python3 -m venv /opt/modelopt-venv && \
    /opt/modelopt-venv/bin/python3 -m pip install --no-cache-dir 'nvidia-modelopt[onnx]' && \
    /opt/modelopt-venv/bin/python3 -c "import modelopt.onnx.autocast"

RUN rm -Rf /oai-ran
WORKDIR /oai-ran

# Copy OAI and plugins from sionna-rk context
COPY ext/openairinterface5g/ .
COPY plugins/ plugins/

# build all targets so final targets can be created afterwards
RUN \
   # Mount CCache cache direrctory
   --mount=type=cache,target=/root/.cache/ccache/ \
   # Mount CPM package cache
   --mount=type=cache,target=/root/.cache/cpm/ \
    /bin/sh oaienv && \
    cd cmake_targets && \
    mkdir -p log && \
    ./build_oai -c --ninja \
      --eNB --gNB --RU --UE --nrUE \
      --build-lib "telnetsrv enbscope uescope nrscope" \
      -w USRP -t Ethernet \
      --build-e2 --cmake-opt -DKPM_VERSION=$KPM_VERSION --cmake-opt -DE2AP_VERSION=$E2AP_VERSION \
      --noavx512 \
      --build-tool-opt -k10 \
      --cmake-opt -DCMAKE_C_FLAGS="-Werror" --cmake-opt -DCMAKE_CXX_FLAGS="-Werror" $BUILD_OPTION && \
    # Mainly to see if the sanitize option was perfectly executed
    echo "---- ldd on executables ----" && \
    ldd ran_build/build/*softmodem* ran_build/build/nr-cuup ran_build/build/oairu && \
    echo "---- ldd on shared libraries ----" && \
    ldd ran_build/build/*.so

## Build FlexRIC for SM Models
RUN \
    # Mount CCache cache direrctory
    --mount=type=cache,target=/root/.cache/ccache/ \
    mkdir -p openair2/E2AP/flexric/build && \
    cd openair2/E2AP/flexric/build && \
    cmake -GNinja -DCMAKE_BUILD_TYPE=Release \
          -DKPM_VERSION=$KPM_VERSION \
          -DE2AP_VERSION=$E2AP_VERSION $FLEXRIC_BUILD_OPTIONS .. && \
    ninja && \
    ninja install

# Use the ModelOpt environment for plugin plan builds launched via docker run.
# Set PATH after compilation so OAI builds keep using the system Python.
ENV PATH="/opt/modelopt-venv/bin:${PATH}"
相关推荐
FungLeo3 小时前
成为全栈·Node 后端篇·容器化:给 Node 应用写一个像样的 Dockerfile
docker·node.js·dockerfile·成为全栈·后端服务容器·docker 容器
梅梅绵绵冰3 小时前
Docker容器化平台
docker·容器·eureka
我是唐青枫4 小时前
Docker diff 详解:看清容器里到底改了什么
docker·容器
Zucker n6 小时前
Ubuntu24.04结合ollama本地使用Hermes
linux·ubuntu
jiao糖瓜子6 小时前
Docker 完全指南:从镜像容器到生产部署
docker·容器·eureka·镜像·仓库
JavaPub-rodert6 小时前
Docker 容器启动了,不代表服务真的能用:Healthcheck 实战
运维·docker·容器
先吃饱再说8 小时前
别再手动敲三遍 docker run 了:学会使用 Docker Compose 多容器编排
docker·容器
xixiaoyunya9 小时前
Docker 容器化部署实战:从零搭建一套完整的 Nginx + Node.js + MySQL + Redis 项目环境
nginx·docker·node.js
冰水不凉9 小时前
CodeX 在 Ubuntu 下 vscode 插件的 bug 问题
vscode·ubuntu·bug