diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index ecd9b2a2..98501527 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -28,6 +28,8 @@ jobs: #os: [ubuntu-latest] #python-minor: [ 11] #os: [windows-latest] + #python-minor: [ 11] + #os: [macos-13] exclude: - os: macos-14 python-minor: 8 diff --git a/conan-profiles/conan-profile-Linux-X64 b/conan-profiles/conan-profile-Linux-X64 index cb08509e..6b9f711f 100644 --- a/conan-profiles/conan-profile-Linux-X64 +++ b/conan-profiles/conan-profile-Linux-X64 @@ -8,9 +8,11 @@ compiler.version=12 compiler.cppstd={{ os.getenv("CXX_VERSION") }} compiler.libcxx=libstdc++11 -[conf] -openvdb/*:tools.cmake.cmaketoolchain:extra_variables={ 'USE_CCACHE':'OFF' } - [options] openvdb/*:simd=AVX -embree3/*:avx512=True +embree3/*:avx=True + +[conf] +tools.build:cflags+=["-ftree-vectorize", "-march=x86-64-v3", "-O3"] +tools.build:cxxflags+=["-ftree-vectorize", "-march=x86-64-v3", "-O3"] +openvdb/*:tools.cmake.cmaketoolchain:extra_variables={ 'USE_CCACHE':'OFF' } diff --git a/conan-profiles/conan-profile-Windows-X64 b/conan-profiles/conan-profile-Windows-X64 index c1a79e76..e4e794c1 100644 --- a/conan-profiles/conan-profile-Windows-X64 +++ b/conan-profiles/conan-profile-Windows-X64 @@ -10,7 +10,8 @@ compiler.runtime=dynamic [conf] tools.env.virtualenv:powershell=False -tools.build:cxxflags=["/openmp", "/MP", "/DEBUG:NONE"] +tools.build:cxxflags=["/openmp", "/MP", "/DEBUG:NONE", "/arch:AVX", "/O2"] +embree3/*:tools.build:cxxflags=["/openmp", "/MP", "/DEBUG:NONE", "/O2"] [options] openvdb/*:simd=AVX diff --git a/conan-profiles/conan-profile-common b/conan-profiles/conan-profile-common index bef8524c..d74ce4cc 100644 --- a/conan-profiles/conan-profile-common +++ b/conan-profiles/conan-profile-common @@ -16,3 +16,4 @@ yasm/* [options] oidn/*:shared=True +embree3/*:with_tbb=False diff --git a/conan-profiles/conan-profile-macOS-ARM64 b/conan-profiles/conan-profile-macOS-ARM64 index c0b4cf69..4be4e063 100644 --- a/conan-profiles/conan-profile-macOS-ARM64 +++ b/conan-profiles/conan-profile-macOS-ARM64 @@ -37,3 +37,4 @@ embree3/*:neon2x=True [buildenv] CXX=clang++ CC=clang +&:tools.build:cxxflags=["-O3"] diff --git a/conan-profiles/conan-profile-macOS-X64 b/conan-profiles/conan-profile-macOS-X64 index cf1b4797..b363295c 100644 --- a/conan-profiles/conan-profile-macOS-X64 +++ b/conan-profiles/conan-profile-macOS-X64 @@ -13,9 +13,12 @@ compiler.libcxx=libc++ minizip-ng/*:with_zlib=True minizip-ng/*:with_libcomp=False openvdb/*:simd=AVX -embree3/*:avx512=True +embree3/*:avx=True embree3/*:shared=True [buildenv] CXX=clang++ CC=clang + +[conf] +&:tools.build:cxxflags+=["-ftree-vectorize", "-march=x86-64-v3", "-O3", "-mno-avx2"] diff --git a/doc/notes.md b/doc/notes.md index b43caa01..7e5c0a2a 100644 --- a/doc/notes.md +++ b/doc/notes.md @@ -91,7 +91,12 @@ author). tried to have it minimal and it's 10.13. For the delocation to succeed, we also have to set `MACOSX_DEPLOYMENT_TARGET` environment variable to 10.13. +## Vectorization +For Intel, we stick to x86-64-v3 (Haswell, 2013), no more. For all platform +except MacOS Intel, we rely on "-O" option. +For MacOS Intel: Github runner is not standard, we have to deactivate avx2 +extensions. Otherwise `pyluxcore.so` cannot be tested ("Illegal instruction"). +See https://github.com/ggerganov/whisper.cpp/issues/358 and `sysctl -a +machdep.cpu` -we -