53 lines
2.2 KiB
Docker
53 lines
2.2 KiB
Docker
#/*
|
|
# * 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
|
|
#
|
|
#---------------------------------------------------------------------
|
|
FROM nvidia/cuda:12.9.1-devel-ubuntu22.04 AS cuda-image
|
|
FROM ran-base:develop AS ran-tests
|
|
|
|
RUN rm -Rf /oai-ran
|
|
COPY --from=cuda-image /usr/local/cuda/ /usr/local/cuda/
|
|
|
|
# Set the LD_LIBRARY_PATH to ensure the system can find the copied libraries.
|
|
# This is crucial for applications that use CUDA.
|
|
ENV LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda/targets/sbsa-linux/lib
|
|
ENV PATH=/usr/local/cuda/bin:$PATH
|
|
ENV C_INCLUDE_PATH=/usr/local/cuda/include
|
|
|
|
WORKDIR /oai-ran
|
|
COPY . .
|
|
|
|
WORKDIR /oai-ran/build
|
|
RUN cmake -GNinja -DENABLE_PHYSIM_TESTS=ON -DENABLE_TESTS=ON \
|
|
-DSANITIZE_UNDEFINED=OFF -DSANITIZE_ADDRESS=OFF \
|
|
-DCMAKE_C_FLAGS=-Werror -DCMAKE_CXX_FLAGS=-Werror \
|
|
-DPHYSIM_CHECK_FILES="ThresholdsCuda.cmake" \
|
|
-DCUDA_ENABLE=ON \
|
|
-DUSE_UNIFIED_MEMORY=ON \
|
|
-DUSE_ATS_MEMORY=OFF \
|
|
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=/oai-ran/cmake_targets/ran_build/build \
|
|
.. && \
|
|
ninja nr_ulsim nr_dlsim
|