Skip to main content

Alkaid: A Library for Kernel Accelerator Implemented on Device

Tests Documentation Cov

alkaid is a lightweight compiler for generating low-latency static-dataflow kernels for FPGAs. It traces quantized arithmetic into ALIR, applies distributed-arithmetic optimization through CMVM where useful, and emits RTL or HLS projects.

The supported code generation targets are:

  • RTL: Verilog and VHDL 2008, with optional pipelining.
  • HLS: Vitis HLS, HLSlib, and oneAPI-style C++.
  • XLS: experimental Verilog generation and JIT execution through xls-python.

Models can be described with the NumPy-like symbolic tracing API, loaded from serialized ALIR JSON/JSON.GZ, or converted through plugins. The package includes top-level keras, torch, and alkaid example tracer plugins; Keras and Torch support can also be extended with second-level alkaid_keras and alkaid_torch entry points.

Installation

pip install alkaid

Binary wheels are published for Linux x86_64 and macOS ARM64. Building from source requires Python 3.10 or newer, NumPy, meson-python, and a C++20 compiler with OpenMP support.

pip install --no-build-isolation -e '.[tests]'

Use pip install 'alkaid[docs]' for documentation dependencies. Install xls-python when using the XLS backend outside the test extra.

CLI

alkaid convert model.keras /tmp/rtl_output --flavor verilog --latency-cutoff 5
alkaid convert model.json.gz /tmp/hls_output --flavor vitis
alkaid report /tmp/rtl_output --sort-by comb_metric

See the documentation for tracing, plugin, ALIR, and backend details.

License

LGPLv3. See the LICENSE file for details.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

alkaid-0.8.0.post1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (903.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

alkaid-0.8.0.post1-cp314-cp314-macosx_15_0_arm64.whl (929.6 kB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

alkaid-0.8.0.post1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (903.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

alkaid-0.8.0.post1-cp313-cp313-macosx_15_0_arm64.whl (929.3 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

alkaid-0.8.0.post1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (903.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

alkaid-0.8.0.post1-cp312-cp312-macosx_15_0_arm64.whl (929.3 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

alkaid-0.8.0.post1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (904.4 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

alkaid-0.8.0.post1-cp311-cp311-macosx_15_0_arm64.whl (930.0 kB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

alkaid-0.8.0.post1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (904.7 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

alkaid-0.8.0.post1-cp310-cp310-macosx_15_0_arm64.whl (930.0 kB view details)

Uploaded CPython 3.10macOS 15.0+ ARM64

File details

Details for the file alkaid-0.8.0.post1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for alkaid-0.8.0.post1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a5f019ada5567e933615189eb5fc01d3e4ab1bad540bf816062d54e48990a5a3
MD5 10c8ba2e6078d11a664dbb238f6e2b8e
BLAKE2b-256 05f1bb0e1d3c4d163c45b8e1467b70ca545eff5be377e11ae501a1566e9384f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for alkaid-0.8.0.post1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python-publish.yml on calad0i/alkaid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file alkaid-0.8.0.post1-cp314-cp314-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for alkaid-0.8.0.post1-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 72e56b8b49f2537919991aa414de2a82c919b9fd4a78c8b0085e7a61cd175b93
MD5 44f6c32f2404d1b57e316d898d4048ac
BLAKE2b-256 4bdf6c52b1bc8a0573ad5e643815dccd8c024afce624691bb2e92a4058c73930

See more details on using hashes here.

Provenance

The following attestation bundles were made for alkaid-0.8.0.post1-cp314-cp314-macosx_15_0_arm64.whl:

Publisher: python-publish.yml on calad0i/alkaid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file alkaid-0.8.0.post1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for alkaid-0.8.0.post1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 05906fb3c095ad155b86111bf23c0a5ff0007f80599e09717ff988dc97566da4
MD5 dfde0bb1492685ee2f75af2d745898dc
BLAKE2b-256 2bada35bd9e76c018ddcb5c99eb28870b96f6dc23d9b58e0cd5d6fc3c6c0a618

See more details on using hashes here.

Provenance

The following attestation bundles were made for alkaid-0.8.0.post1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python-publish.yml on calad0i/alkaid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file alkaid-0.8.0.post1-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for alkaid-0.8.0.post1-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 3337dfa90a78d119a6e1976c31cd0a97a68b193f6e58c14724727fb9b98bcb2d
MD5 dae16398ecffa4504461662092cb17c9
BLAKE2b-256 473dc21397f87eb79ed566ad025ec0e8e024c55d15666cbe6b7d5ebf5d43b582

See more details on using hashes here.

Provenance

The following attestation bundles were made for alkaid-0.8.0.post1-cp313-cp313-macosx_15_0_arm64.whl:

Publisher: python-publish.yml on calad0i/alkaid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file alkaid-0.8.0.post1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for alkaid-0.8.0.post1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 26d99a4682ca8369fd50e8b34c3207b30cc09383ec6e2451e4eb9a6275eff681
MD5 3b9f4ed6b5dfc31a17bedb2b104d13a1
BLAKE2b-256 ff7d2bb872eeabe6edcbf10c4a35d3fd5968461d37d1cf2e2005f5aea705f76a

See more details on using hashes here.

Provenance

The following attestation bundles were made for alkaid-0.8.0.post1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python-publish.yml on calad0i/alkaid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file alkaid-0.8.0.post1-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for alkaid-0.8.0.post1-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 93329dc181ff671654fc2347ca55ddd76410cff000feefc4f91319279b8440ee
MD5 c0eee546a5d66398dd01d4e32b38a141
BLAKE2b-256 04d011a339c0a278c671e86cfba9605c5660c3cc80ea188a995183bf3cc68d2f

See more details on using hashes here.

Provenance

The following attestation bundles were made for alkaid-0.8.0.post1-cp312-cp312-macosx_15_0_arm64.whl:

Publisher: python-publish.yml on calad0i/alkaid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file alkaid-0.8.0.post1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for alkaid-0.8.0.post1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ac4d9f01a98ff987a3bd42c4bb1ec63fb06a8bab8734c82da6879cb7a57a8e85
MD5 a18d50dc25533f2e27f3c5f8c58d818d
BLAKE2b-256 472a53dce31c8c0a4b2eca422b7739bdbbb4e4e41e94d778f6efae20915e8ee8

See more details on using hashes here.

Provenance

The following attestation bundles were made for alkaid-0.8.0.post1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python-publish.yml on calad0i/alkaid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file alkaid-0.8.0.post1-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for alkaid-0.8.0.post1-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 9566ae16daee59edbd2c25316cf69670aa34b2930d9dd5c84ff31511a4901e74
MD5 2df91c2c556f341a491c5ad615da17b1
BLAKE2b-256 d55cede780ea334daa85086f6334ead8a20cd5750bc3e5cadae75774fe637db7

See more details on using hashes here.

Provenance

The following attestation bundles were made for alkaid-0.8.0.post1-cp311-cp311-macosx_15_0_arm64.whl:

Publisher: python-publish.yml on calad0i/alkaid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file alkaid-0.8.0.post1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for alkaid-0.8.0.post1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 82564585c457f8a2872b97f51170f2acf716b60d42aa6894c0fea401dd17108f
MD5 08b3c8d1a9dd4d5307a2537458881340
BLAKE2b-256 03636e9655f041370266c119a6b2d00855de6622dc0bd784c938eb086cd73f3a

See more details on using hashes here.

Provenance

The following attestation bundles were made for alkaid-0.8.0.post1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: python-publish.yml on calad0i/alkaid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file alkaid-0.8.0.post1-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for alkaid-0.8.0.post1-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 b8b1985139d16cb7a5bcaecd40b4ed4fec4b496399dc0c464014f364d79c1b04
MD5 77bbc3d89ada2f0d78c086343fe496f8
BLAKE2b-256 644429702a01e69d48e96c4a23c43803b9b3f105cdf3a3545a8f75d49ae21264

See more details on using hashes here.

Provenance

The following attestation bundles were made for alkaid-0.8.0.post1-cp310-cp310-macosx_15_0_arm64.whl:

Publisher: python-publish.yml on calad0i/alkaid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page