【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}"
相关推荐
木雷坞1 小时前
Docker Compose端口映射排查:用port和inspect定位网页访问失败
运维·docker·容器
JANGHIGH12 小时前
基于ADE20K数据集的SETR模型训练
ubuntu
码间留白13 小时前
手把手把 GitHub 推上阿里云 ECS:Actions CI/CD 全链路避坑实录(折腾好几天,到 2 分钟见绿)
运维·阿里云·ci/cd·docker·devops·github actions
Vex2une13 小时前
Docker Desktop WSL2后端:2026年性能调优与避坑实战指南
windows·docker·desktop·gpu容器·容器开发·virtiofs·buildkit
丰色木夕14 小时前
Ubuntu22.04下源码编译安装USD-Brep
c++·ubuntu·nvidia·usd-brep
程序员老赵14 小时前
Docker 部署青龙面板:轻松搭建定时任务管理平台
前端·docker·开源
TTATTC14 小时前
为什么单会话聊天做不好复杂工程?Claude Code 创作者的并发 Worktree 与记忆闭环实践
docker·开源
TTATTC14 小时前
状态机驱动长事务,还是 DAG 编排高并发?高可靠业务流程引擎的双核架构设计
docker·开源
殷忆枫14 小时前
告别依赖地狱!在 Ubuntu 上用 Docker 极速部署 Home Assistant 与 MQTT,并接入 Siri 与嵌入式 C 终端
linux·ubuntu·docker
千桐科技16 小时前
qModel算法模型平台功能解析:从源码到 Docker 镜像,部署能自动完成哪些工作?
运维·docker·容器·qmodel