Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Ubuntu 24.04 #390

Merged
merged 4 commits into from
Oct 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions .github/workflows/benchmark_models.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,6 @@ jobs:
-DBUILD_TESTS=OFF \
&& cmake --build "${AMICI_PATH}/build" --parallel -- VERBOSE=1
- name: Install parPE Python deps
run: |
pip install -r ${PARPE_BASE}/python/requirements.txt
- name: Configure parpe
run: |
cmake \
Expand Down
6 changes: 2 additions & 4 deletions .github/workflows/parpe_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ jobs:
# If we are running in docker, we generally don't have SYS_PTRACE
# permissions and thus, cannot use vader. Also disable Infiniband.
PARPE_TESTS_MPIEXEC: mpiexec -n 5 --oversubscribe --allow-run-as-root --mca btl_vader_single_copy_mechanism none --mca btl ^openib --mca oob_tcp_if_include lo --mca btl_tcp_if_include lo --mca orte_base_help_aggregate 0

steps:
- uses: actions/checkout@master
- name: chown checkout directory
Expand Down Expand Up @@ -58,10 +57,9 @@ jobs:
-DBUILD_TESTS=OFF \
&& cmake --build "${AMICI_PATH}/build" --parallel -- VERBOSE=1

- name: Install parPE Python deps
- name: Install parPE deps
run: |
pip install -r ${PARPE_BASE}/python/requirements.txt \
&& sudo apt install lcov
sudo apt install lcov

- name: "Install parPE deps: fides"
run: |
Expand Down
4 changes: 0 additions & 4 deletions .github/workflows/petab_testsuite.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,6 @@ jobs:
-DBUILD_TESTS=OFF \
&& cmake --build "${AMICI_PATH}/build" --parallel -- VERBOSE=1

- name: Install parPE Python deps
run: |
pip install -r ${PARPE_BASE}/python/requirements.txt

- name: Configure parpe
run: |
cmake \
Expand Down
5 changes: 4 additions & 1 deletion cmake/CodeCoverage.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@
# 2017-06-02, Lars Bilke
# - Merged with modified version from github.com/ufz/ogs
#
# 2024-10-13, Daniel Weindl
# - Added "--ignore-errors mismatch" to lcov command to ignore errors with
# recent gcc
#
# USAGE:
#
Expand Down Expand Up @@ -157,7 +160,7 @@ function(SETUP_TARGET_FOR_COVERAGE)
COMMAND ${Coverage_EXECUTABLE}

# Capturing lcov counters and generating report
COMMAND ${LCOV_PATH} --directory . --capture --output-file ${Coverage_NAME}.info
COMMAND ${LCOV_PATH} --directory . --capture --output-file ${Coverage_NAME}.info --ignore-errors mismatch
COMMAND ${LCOV_PATH} --remove ${Coverage_NAME}.info ${COVERAGE_EXCLUDES} --output-file ${Coverage_NAME}.info.cleaned
COMMAND ${GENHTML_PATH} -o ${Coverage_NAME} ${Coverage_NAME}.info.cleaned
COMMAND ${CMAKE_COMMAND} -E remove ${Coverage_NAME}.info ${Coverage_NAME}.info.cleaned
Expand Down
3 changes: 1 addition & 2 deletions container/charliecloud/parpe_base/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ubuntu:22.04
FROM ubuntu:24.04

COPY . /container-files

Expand All @@ -9,7 +9,6 @@ ENV CC clang
ENV CXX clang++
ENV OMPI_CC clang
ENV OMPI_CXX clang++

RUN /container-files/install_parpe.sh

ENV PARPE_DIR "/parPE"
Expand Down
4 changes: 0 additions & 4 deletions container/charliecloud/parpe_base/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -39,10 +39,6 @@ apt-get install -q -y \
unzip \
wget

# for setuptools to find:
python3 -m pip install --upgrade pip
pip3 install -U setuptools pkgconfig wheel

echo "================= Cleaning package lists ==================="
apt-get clean
apt-get autoclean
Expand Down
5 changes: 1 addition & 4 deletions container/charliecloud/parpe_base/install_parpe.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,6 @@ cmake \
# install fides optimizer
cd "$PARPE_BASE/ThirdParty" && ./installFides.sh

# install parPE python requirements
pip3 install -r "${PARPE_BASE}"/python/requirements.txt

# build parPE
cd "${PARPE_BASE}"
mkdir -p build
Expand All @@ -45,7 +42,7 @@ mpi_cmd="$mpi_cmd;--mca;oob_tcp_if_include;lo"
mpi_cmd="$mpi_cmd;--mca;btl_tcp_if_include;lo;"
mpi_cmd="$mpi_cmd;--mca;orte_base_help_aggregate;0"

CC=mpicc CXX=mpiCC cmake \
cmake \
-DPARPE_BUILD_OPTIMIZED=OFF \
-DPARPE_ENABLE_FIDES=ON \
-DIPOPT_INCLUDE_DIRS=/usr/include/coin/ \
Expand Down
1 change: 0 additions & 1 deletion python/requirements.txt

This file was deleted.

13 changes: 12 additions & 1 deletion src/parpeamici/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,22 @@ target_include_directories(${PROJECT_NAME}
)

target_link_libraries(${PROJECT_NAME}
PUBLIC parpeoptimization
PUBLIC parpeloadbalancer
PUBLIC parpecommon
PUBLIC Upstream::amici
PUBLIC ${Boost_SERIALIZATION_LIBRARY_RELEASE}
# For not fully understood reasons, `parpeoptimization` needs to come last.
# There was an issue with the Ubuntu 24.04 ipopt package, which is pulling
# in libdmumps_seq-5.6.so, which exports dummy MPI_* symbols that cause
# problems when building parpe with MPI. Run-time resolution would pick up
# the incorrect MPI symbols. We need to make sure that MPI::MPI_C linker
# flags come first, but CMake first lists all direct dependencies, and only
# then the transitive dependencies (in this case, in an unfortunate order).
# INTERFACE_LINK_LIBRARIES_DIRECT did not help.
# Note that in this case, parpe should *not* be compiled with the MPI
# compiler wrappers (mpicc, mpicxx), because this will prevent CMake from
# adding the MPI linker flags.
PUBLIC parpeoptimization
)

if (${OpenMP_FOUND})
Expand Down
19 changes: 17 additions & 2 deletions tests/parpe.supp
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@
libhwloc
Memcheck:Leak
match-leak-kinds: all
fun:calloc
fun:*alloc
...
obj:/usr/lib/x86_64-linux-gnu/libhwloc.so.15.*.*
...
Expand Down Expand Up @@ -447,7 +447,7 @@
fun:_ZN2H58PredTypeC1El
fun:_ZN2H58PredType13makePredTypesEv
fun:_ZN2H58PredType12getPredTypesEv
obj:/usr/lib/x86_64-linux-gnu/libhdf5_serial_cpp.so.103.3.0
obj:/usr/lib/x86_64-linux-gnu/libhdf5_serial_cpp.so.*
}


Expand Down Expand Up @@ -518,3 +518,18 @@
fun:orte_init
...
}


{
fides_cpp
Memcheck:BadSize
fun:posix_memalign
fun:_ZN5blaze15alignedAllocateEmm
fun:_ZN5blaze16AlignedAllocatorIdE8allocateEm
fun:_ZN5blaze13DynamicMatrixIdLb0ENS_16AlignedAllocatorIdEENS_8GroupTagILm0EEEEC1EmmmmRKS2_NS5_13UninitializedE
fun:_ZN5blaze13DynamicMatrixIdLb0ENS_16AlignedAllocatorIdEENS_8GroupTagILm0EEEEC1EmmmRKS2_NS5_13UninitializedE
fun:_ZN5blaze13DynamicMatrixIdLb0ENS_16AlignedAllocatorIdEENS_8GroupTagILm0EEEEC1EmmRKS2_
fun:_ZN5blaze13DynamicMatrixIdLb0ENS_16AlignedAllocatorIdEENS_8GroupTagILm0EEEEC1ERKS5_
fun:_ZN5fides9Optimizer11do_minimizeEv
...
}
Loading