File tree Expand file tree Collapse file tree 7 files changed +30
-13
lines changed
Expand file tree Collapse file tree 7 files changed +30
-13
lines changed Original file line number Diff line number Diff line change 2424 runs-on : ubuntu-latest
2525 steps :
2626 - name : Checkout
27- uses : actions/checkout@v3
27+ uses : actions/checkout@v4
2828
2929 - name : Install Dependencies
3030 run : |
3939
4040 - name : Build Wheel
4141 env :
42- CC : clang-13
43- CXX : clang++-13
42+ CC : clang-15
43+ CXX : clang++-15
4444 run : |
4545 cd ${GITHUB_WORKSPACE}/bindings/python
4646 python setup.py bdist_wheel --cmake-executable="cmake" --build-type=Debug -- -- -j2
Original file line number Diff line number Diff line change @@ -21,17 +21,17 @@ jobs:
2121 strategy :
2222 matrix :
2323 build_type : [Release]
24- cxx : [g++-11, g++-12, clang++-13 ]
24+ cxx : [g++-11, g++-12, clang++-15 ]
2525 include :
2626 - cxx : g++-11
2727 cc : gcc-11
2828 - cxx : g++-12
2929 cc : gcc-12
30- - cxx : clang++-13
31- cc : clang-13
30+ - cxx : clang++-15
31+ cc : clang-15
3232
3333 steps :
34- - uses : actions/checkout@v2
34+ - uses : actions/checkout@v4
3535 - name : Configure build
3636 working-directory : ${{ runner.temp }}
3737 env :
Original file line number Diff line number Diff line change 1212 runs-on : ubuntu-latest
1313
1414 steps :
15- - uses : actions/checkout@v2
15+ - uses : actions/checkout@v4
1616
1717 - name : Install cibuildwheel
1818 run : python -m pip install cibuildwheel
Original file line number Diff line number Diff line change 3030 runs-on : ubuntu-latest
3131 steps :
3232 - name : Checkout
33- uses : actions/checkout@v3
33+ uses : actions/checkout@v4
3434
3535 - name : Install Dependencies
3636 run : |
4545
4646 - name : Build Wheel
4747 env :
48- CC : clang-13
49- CXX : clang++-13
48+ CC : clang-15
49+ CXX : clang++-15
5050 run : |
5151 cd ${GITHUB_WORKSPACE}/bindings/python
5252 python setup.py bdist_wheel --cmake-executable="cmake" --build-type=Debug -- -- -j2
Original file line number Diff line number Diff line change @@ -22,7 +22,7 @@ config-settings = {}
2222dependency-versions = " pinned"
2323environment.CC = " /opt/rh/devtoolset-11/root/usr/bin/cc"
2424environment.CXX = " /opt/rh/devtoolset-11/root/usr/bin/c++"
25- # Compile multiple versions for difference microarchitectures
25+ # Compile multiple versions for differenct microarchitectures
2626environment.PYSVS_MULTIARCH = " YES"
2727environment-pass = []
2828build-verbosity = " 3"
Original file line number Diff line number Diff line change @@ -20,7 +20,7 @@ def target(arch):
2020if os .environ .get ("PYSVS_MULTIARCH" , None ) is not None :
2121 pysvs_microarchs = [
2222 "cascadelake" ,
23- # "skylake_avx512",
23+ "x86_64_v3" , # conservative base CPU for x86 CPUs.
2424 ]
2525
2626 # Add the current host to the list of micro-architecture if it doesn't already exist.
Original file line number Diff line number Diff line change @@ -33,6 +33,16 @@ def _override_backend():
3333 """
3434 return os .environ .get ("PYSVS_OVERRIDE_BACKEND" , None )
3535
36+ def _debug_override_cpu ():
37+ """
38+ Set the current CPU microarchitecture.
39+ Unlike `_override_backend()`, the loader will still perform backend-selection based
40+ on this architecture.
41+
42+ If no override is set, return `None`.
43+ """
44+ return os .environ .get ("PYSVS_DEBUG_OVERRIDE_CPU" , None )
45+
3646
3747# The name of the manifest file.
3848FLAGS_MANIFEST = "flags_manifest.json" # Keep in-sync with CMakeLists.txt
@@ -122,7 +132,14 @@ def _find_library():
122132
123133 # Get the current CPU and the manifest of compiled libraries that ship with this
124134 # library.
135+ #
136+ # For debug purposes, allow the CPU to be set externally rather than using archspec's
137+ # CPU detection.
125138 host = cpu .host ()
139+ debug_override = _debug_override_cpu ()
140+ if debug_override is not None :
141+ host = debug_override
142+
126143 manifest = _load_manifest ()
127144
128145 # Respect override requests.
You can’t perform that action at this time.
0 commit comments