Skip to content

Commit

Permalink
Moves to manylinux_2_28
Browse files Browse the repository at this point in the history
- adjusts package installation to account for the next
  manylinux
- silents false warnings from the gcc 12.x

Signed-off-by: Janusz Lisiecki <[email protected]>
  • Loading branch information
JanuszL committed Sep 5, 2024
1 parent 4c3ec3c commit 524faf1
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 22 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,7 @@ set(CMAKE_C_STANDARD 11)
set(CMAKE_CUDA_STANDARD 17)

# CXX flags
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-free-nonheap-object -Wno-unused-variable -Wno-unused-function -Wno-strict-overflow -fno-strict-aliasing -fPIC -fvisibility=hidden")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-free-nonheap-object -Wno-unused-variable -Wno-unused-function -Wno-strict-overflow -Wno-array-bounds -fno-strict-aliasing -fPIC -fvisibility=hidden")

if (WERROR)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
Expand Down
4 changes: 4 additions & 0 deletions dali/pipeline/executor/executor_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,9 @@ TYPED_TEST(ExecutorTest, DISABLED_TestDataSetup) {
vector<string> outputs = {"data3_gpu"};
exe->Build(&graph, outputs);

#pragma GCC diagnostic push
// most recent gcc seems to be incorrectly report this as being null in this test
#pragma GCC diagnostic ignored "-Wnonnull"
// Verify the data has been setup correctly
for (int i = 0; i < 2; ++i) {
auto host_workspaces = this->CPUData(exe.get(), i);
Expand Down Expand Up @@ -193,6 +196,7 @@ TYPED_TEST(ExecutorTest, DISABLED_TestDataSetup) {
ASSERT_EQ(dws.NumOutput(), 1);
ASSERT_TRUE(dws.OutputIsType<GPUBackend>(0));
}
#pragma GCC diagnostic pop
}

TYPED_TEST(ExecutorTest, TestRunBasicGraph) {
Expand Down
6 changes: 3 additions & 3 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ ENV PYVER=${PYVER} \
PYTHONPATH=/opt/python/v \
PYBIN=${PYTHONPATH}/bin \
PYLIB=${PYTHONPATH}/lib \
PATH=/opt/python/cp38-cp38/bin:/opt/python/cp39-cp39/bin:${PYBIN}:/opt/python/cp310-cp310/bin:/opt/python/cp311-cp311/bin:${PYBIN}:/opt/python/cp312-cp312/bin:${PYBIN}:${PATH} \
LD_LIBRARY_PATH=/usr/local/lib:/opt/dali/${DALI_BUILD_DIR}:/opt/python/cp38-cp38/lib:/opt/python/cp39-cp39/lib:/opt/python/cp310-cp310/lib:/opt/python/cp311-cp311/lib:${PYLIB}:/opt/python/cp312-cp312/lib:${PYLIB}:${LD_LIBRARY_PATH} \
LIBRARY_PATH=/usr/local/lib:/opt/dali/${DALI_BUILD_DIR}:/opt/python/cp38-cp38/lib:/opt/python/cp39-cp39/lib:/opt/python/cp310-cp310/lib:/opt/python/cp311-cp311/lib:${PYLIB}:/opt/python/cp312-cp312/lib:${PYLIB}:${LIBRARY_PATH}
PATH=/opt/python/cp39-cp39/bin:${PYBIN}:/opt/python/cp310-cp310/bin:/opt/python/cp311-cp311/bin:${PYBIN}:/opt/python/cp312-cp312/bin:${PYBIN}:${PATH} \
LD_LIBRARY_PATH=/usr/local/lib:/opt/dali/${DALI_BUILD_DIR}:opt/python/cp39-cp39/lib:/opt/python/cp310-cp310/lib:/opt/python/cp311-cp311/lib:${PYLIB}:/opt/python/cp312-cp312/lib:${PYLIB}:${LD_LIBRARY_PATH} \
LIBRARY_PATH=/usr/local/lib:/opt/dali/${DALI_BUILD_DIR}:/opt/python/cp39-cp39/lib:/opt/python/cp310-cp310/lib:/opt/python/cp311-cp311/lib:${PYLIB}:/opt/python/cp312-cp312/lib:${PYLIB}:${LIBRARY_PATH}

RUN ln -s /opt/python/cp${PYV}* /opt/python/v

Expand Down
23 changes: 5 additions & 18 deletions docker/Dockerfile.deps
Original file line number Diff line number Diff line change
Expand Up @@ -2,42 +2,29 @@
## Build DALI dependencies on top of manylinux2014
## DALI is based on "manylinux2014", official page https://github.com/pypa/manylinux
#########################################################################################
ARG FROM_IMAGE_NAME=quay.io/pypa/manylinux2014_x86_64
ARG FROM_IMAGE_NAME=quay.io/pypa/manylinux_2_28_x86_64
ARG BUILDER_EXTRA_DEPS=scratch
FROM ${BUILDER_EXTRA_DEPS} as extra_deps
FROM ${FROM_IMAGE_NAME}

# Install yum Dependencies
RUN yum install -y wget doxygen graphviz gettext xz openssl autogen zip \
devtoolset-10-libasan-devel devtoolset-10-liblsan-devel \
devtoolset-10-libtsan-devel devtoolset-10-libubsan-devel \
perl perl-IPC-Cmd
gcc-toolset-12-libasan-devel gcc-toolset-12-liblsan-devel \
gcc-toolset-12-libtsan-devel gcc-toolset-12-libubsan-devel \
perl perl-IPC-Cmd nasm

ENV ACLOCAL_PATH=/usr/share/aclocal/:/usr/local/share/aclocal

# Don't want the short-unicode version for Python 2.7
RUN rm -f /opt/python/cp27-cp27m

RUN CMAKE_VERSION=3.20.1 && CMAKE_ARCH=$(uname -m) && \
wget https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-${CMAKE_ARCH}.sh && \
test -e /bin/sh || ln -s /usr/bin/sh /bin/sh && \
chmod +x cmake-${CMAKE_VERSION}-linux-${CMAKE_ARCH}.sh && \
./cmake-${CMAKE_VERSION}-linux-${CMAKE_ARCH}.sh --prefix=/usr/local --skip-license && \
rm -rf cmake-${CMAKE_VERSION}-linux-${CMAKE_ARCH}.sh

# We need newer NASM than manylinux2014 offers
RUN cd /tmp && \
curl -O -L https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.bz2 && \
tar xjvf nasm-2.15.05.tar.bz2 && \
cd nasm-2.15.05 && \
./autogen.sh && \
./configure && \
make && \
make install

# Clang, build it before deps as deps changes more frequently
RUN CLANG_VERSION=15.0.2 && \
cd /tmp && \
cd /tmp && \
wget https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-${CLANG_VERSION}.tar.gz && \
tar -xf llvmorg-*.tar.gz && \
rm -rf llvmorg-*.tar.gz && \
Expand Down
6 changes: 6 additions & 0 deletions include/dali/core/small_vector.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@
#include "dali/core/util.h"
#include "dali/core/cuda_utils.h"

#pragma GCC diagnostic push
// most recent gcc seems to be confused by some things in small vector raising false warnings
#pragma GCC diagnostic ignored "-Wuse-after-free"

namespace dali {

template <typename T, typename Allocator, bool Contextless = std::is_empty<Allocator>::value>
Expand Down Expand Up @@ -732,4 +736,6 @@ class SmallVector : SmallVectorAlloc<T, allocator>, SmallVectorBase<T> {

} // namespace dali

#pragma GCC diagnostic pop

#endif // DALI_CORE_SMALL_VECTOR_H_

0 comments on commit 524faf1

Please sign in to comment.