Merge pull request #25 from Nonannet/dev

Dev
This commit is contained in:
Nicolas Kruse 2026-01-02 15:24:21 +01:00 committed by GitHub
commit 3e728f8d7c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 5 additions and 5 deletions

View File

@ -1,6 +1,6 @@
# Copapy # Copapy
Copapy is a Python framework for deterministic, low-latency realtime computation with automatic differentiation support, targeting hardware applications - for example in the fields of robotics, aerospace, embedded systems and control systems in general. Copapy is a Python framework for deterministic, low-latency realtime computation with automatic differentiation support, targeting hardware applications - for example in the fields of robotics, aerospace, SDR, embedded systems and control systems in general.
GPU frameworks like PyTorch, JAX and TensorFlow jump-started the development in the field of AI. With the right balance of flexibility and performance, they allow for fast iteration of new ideas while still being performant enough to test or even use them in production. GPU frameworks like PyTorch, JAX and TensorFlow jump-started the development in the field of AI. With the right balance of flexibility and performance, they allow for fast iteration of new ideas while still being performant enough to test or even use them in production.
@ -187,11 +187,11 @@ For more complex operations - where inlining is less useful - stencils call a no
e: R_X86_64_PLT32 result_float-0x4 e: R_X86_64_PLT32 result_float-0x4
``` ```
Unlike stencils, non-stencil functions are not stripped and do not need to be tail-call-optimizable. Unlike stencils, non-stencil functions like `sinf` are not stripped and do not need to be tail-call-optimizable. These functions can be provided as C code and compiled together with the stencils or can be object files like in the case of `sinf` compiled from C and assembly code and merged into the stencil object files. Math functions like `sinf` are currently provided by the MUSL C library, with architecture-specific optimizations.
Non-stencil functions and constants are stored together with the stencils in an ELF object file for each supported CPU architecture. The required non-stencil functions and constants are bundled during compilation. The compiler includes only the data and code required for the specific program. Non-stencil functions and constants are stored together with the stencils in an ELF object file for each supported CPU architecture. The required non-stencil functions and constants are bundled during compilation. The compiler includes only the data and code required for a specific Copapy program.
The whole compilation process is independent of the actual instruction set. It relies purely on relocation entries and symbol metadata from the ELF file generated by the C compiler. The Copapy compilation process is independent of the actual instruction set. It relies purely on relocation entries and symbol metadata from the ELF file generated by the C compiler.
## Developer Guide ## Developer Guide

View File

@ -31,7 +31,7 @@ copapy = ["obj/*.o", "py.typed"]
[tool.setuptools_scm] [tool.setuptools_scm]
version_scheme = "post-release" version_scheme = "post-release"
local_scheme = "node-and-date" local_scheme = "no-local-version"
tag_regex = "^v(?P<version>\\d+\\.\\d+\\.\\d+(?:-beta)?)$" tag_regex = "^v(?P<version>\\d+\\.\\d+\\.\\d+(?:-beta)?)$"
fallback_version = "0.0.0" fallback_version = "0.0.0"
write_to = "src/copapy/_version.py" write_to = "src/copapy/_version.py"