Skip to content

Build without optimization on macos arm64 #71

Open
GUDHI/gudhi-devel
#1188
@mglisse

Description

@mglisse

We had a report that gudhi 3.11 was 10 times slower than usual on some M4 system.
Looking at the logs of the latest PR, I notice for macos arm64

arm64-apple-darwin20.0.0-clang++ -D_LIBCPP_DISABLE_AVAILABILITY -D_FORTIFY_SOURCE=2 -isystem $PREFIX/include -mmacosx-version-min=11.0 -mmacosx-version-min=11.0 -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -I$BUILD_PREFIX/venv/lib/python3.11/site-packages/numpy/_core/include -I$SRC_DIR/build/version/python/gudhi/ -I$PREFIX/include/eigen3 -I$PREFIX/include -I$PREFIX/include -I$SRC_DIR/build/version/ext/hera/include -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include -I$SRC_DIR/build/version/include -I$SRC_DIR/build/version/python/include -I$PREFIX/include/python3.11 -c gudhi/delaunay_complex.cpp -o build/temp.macosx-11.0-arm64-cpython-311/gudhi/delaunay_complex.o -DBOOST_RESULT_OF_USE_DECLTYPE -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -std=c++17 -DCGAL_EIGEN3_ENABLED -DCGAL_HEADER_ONLY -DCGAL_USE_GMP -DCGAL_USE_GMPXX -DCGAL_USE_MPFR -mmacosx-version-min=11.0

whereas linux x86_64 has (different file)

$BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++ -D_LIBCPP_DISABLE_AVAILABILITY -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem $PREFIX/include -fPIC -I$PREFIX/lib/python3.11/site-packages/numpy/_core/include -I$SRC_DIR/build/version/python/gudhi/ -I$PREFIX/include/eigen3 -I$PREFIX/include -I$PREFIX/include -I$SRC_DIR/build/version/ext/hera/include -I$PREFIX/include -I$PREFIX/include -I$PREFIX/include -I$SRC_DIR/build/version/include -I$SRC_DIR/build/version/python/include -I$PREFIX/lib/python3.11/site-packages/pybind11/include -I$PREFIX/lib/python3.11/site-packages/pybind11/include -I$PREFIX/include/python3.11 -c gudhi/datasets/generators/_points.cc -o build/temp.linux-x86_64-cpython-311/gudhi/datasets/generators/_points.o -DBOOST_RESULT_OF_USE_DECLTYPE -DBOOST_ALL_NO_LIB -DBOOST_SYSTEM_NO_DEPRECATED -std=c++17 -frounding-math -DCGAL_EIGEN3_ENABLED -DCGAL_HEADER_ONLY -DCGAL_USE_GMP -DCGAL_USE_GMPXX -DCGAL_USE_MPFR -fvisibility=hidden

Notice the lack of optimization flag for the Mac version. I am not sure where exactly the various flags are coming from, but the setuptools update that means that setting C(XX)FLAGS supersedes the default Python build flags (instead of being appended) may be related.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions