v1.1.0: extend binary matrix to CPython 3.10/3.11/3.13 on Linux and Windows
- Linux x86_64: add cp310, cp311, cp313 (.so), built in conda-forge envs. - Windows AMD64: add cp310, cp311, cp313 (.pyd), built with MSVC v14.50. - All eight binaries verified to produce identical numerical output. - README compatibility table + build provenance updated. - macOS still deferred.
This commit is contained in:
@@ -17,32 +17,42 @@ For an introduction to SEM (Similarity Energy Model) and how
|
||||
|
||||
## Contents
|
||||
|
||||
- `sem_cython12/sem_core12.cpython-312-x86_64-linux-gnu.so` -
|
||||
compiled extension (Linux, CPython 3.12, x86_64).
|
||||
- `sem_cython12/sem_core12.cp312-win_amd64.pyd` -
|
||||
compiled extension (Windows, CPython 3.12, AMD64).
|
||||
- `sem_cython12/sem_core12.cpython-3{10,11,12,13}-x86_64-linux-gnu.so` -
|
||||
compiled extensions (Linux, x86_64) for CPython 3.10 / 3.11 / 3.12 / 3.13.
|
||||
- `sem_cython12/sem_core12.cp3{10,11,12,13}-win_amd64.pyd` -
|
||||
compiled extensions (Windows, AMD64) for CPython 3.10 / 3.11 / 3.12 / 3.13.
|
||||
- `sem_cython12/wrapper.py` - Python API.
|
||||
- `sem_cython12/__init__.py` - package entry.
|
||||
|
||||
Python's import system selects the correct binary for the running
|
||||
interpreter automatically — install the whole package and the right
|
||||
`.so` / `.pyd` is picked up by ABI tag.
|
||||
|
||||
## Compatibility
|
||||
|
||||
| Platform | Architecture | Python | Runtime requirements |
|
||||
|-----------------|--------------|-----------|-----------------------------|
|
||||
| Linux | x86_64 | CPython 3.12 | glibc >= 2.31, libgomp |
|
||||
| Windows 10/11 | AMD64 | CPython 3.12 | vcomp (ships with Windows) |
|
||||
| macOS | - | - | not provided (contact sales@sevana.biz) |
|
||||
| Platform | Architecture | Python | Runtime requirements |
|
||||
|-----------------|--------------|------------------------|-----------------------------|
|
||||
| Linux | x86_64 | CPython 3.10/3.11/3.12/3.13 | glibc >= 2.31, libgomp |
|
||||
| Windows 10/11 | AMD64 | CPython 3.10/3.11/3.12/3.13 | vcomp (ships with Windows) |
|
||||
| macOS | - | - | not provided (contact sales@sevana.biz) |
|
||||
|
||||
Single Python dependency: `numpy >= 1.23` (see `requirements.txt`).
|
||||
|
||||
## How the binaries were built
|
||||
|
||||
- **Linux (`*.so`)**: gcc 13.3, OpenMP via `libgomp`, flags
|
||||
`-O3 -ffast-math -march=native -fopenmp`.
|
||||
- **Windows (`*.pyd`)**: MSVC v14.50 (Visual Studio Build Tools 2026),
|
||||
OpenMP via `vcomp`, flags `/O2 /openmp`.
|
||||
- **Linux (`*.so`), cp312**: system gcc 13.3 on Ubuntu, OpenMP via
|
||||
`libgomp`, flags `-O3 -ffast-math -march=native -fopenmp`.
|
||||
- **Linux (`*.so`), cp310 / cp311 / cp313**: conda-forge gcc inside
|
||||
isolated `python=3.10/3.11/3.13` envs (clean, system-Python-free
|
||||
build), same OpenMP and optimisation flags.
|
||||
- **Windows (`*.pyd`), all four versions**: MSVC v14.50 (Visual Studio
|
||||
Build Tools 2026), OpenMP via `vcomp`, flags `/O2 /openmp`. Each
|
||||
built against the matching CPython interpreter installed via
|
||||
`winget`.
|
||||
|
||||
Both binaries target CPython 3.12 (cp312) ABI. No other Python
|
||||
version is supported in this release.
|
||||
All eight binaries pass the same numerical smoke test
|
||||
(`batch_max_similarity` over fixed-seed data) and produce identical
|
||||
output to within float64 round-off.
|
||||
|
||||
## Install
|
||||
|
||||
|
||||
Reference in New Issue
Block a user