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.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (903.7 kB view details)

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

alkaid-0.8.1-cp314-cp314-macosx_15_0_arm64.whl (929.5 kB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

alkaid-0.8.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (903.6 kB view details)

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

alkaid-0.8.1-cp313-cp313-macosx_15_0_arm64.whl (929.2 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

alkaid-0.8.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (903.6 kB view details)

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

alkaid-0.8.1-cp312-cp312-macosx_15_0_arm64.whl (929.2 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

alkaid-0.8.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (904.3 kB view details)

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

alkaid-0.8.1-cp311-cp311-macosx_15_0_arm64.whl (929.9 kB view details)

Uploaded CPython 3.11macOS 15.0+ ARM64

alkaid-0.8.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (904.6 kB view details)

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

alkaid-0.8.1-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.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for alkaid-0.8.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 37374f8ea99cb27db33c03aeda0b5b49f4be2a75bec9804d4ede01ee18d710e8
MD5 4e4fb86ead319bafab86056731009f86
BLAKE2b-256 8bc4b7d16a068b1223abb150672c8f7fa4200b548250aca181bf177c57c37c89

See more details on using hashes here.

Provenance

The following attestation bundles were made for alkaid-0.8.1-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.1-cp314-cp314-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for alkaid-0.8.1-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 bfa20051ecbc0fc9a935ee8c9787443f8e206ad5538d3d01730f94e63a547884
MD5 ece64952da75b58f961913b1715b296d
BLAKE2b-256 9d0582291e7507bdd056a366210bece8204c90b1ef8a6bd195bc3fd275604451

See more details on using hashes here.

Provenance

The following attestation bundles were made for alkaid-0.8.1-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.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for alkaid-0.8.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4ef63d366003b353fef302ef6f99595d73a49e5fa66be976845813f29b8b5f86
MD5 a17b0297b8384dcc4ab96320c8a65589
BLAKE2b-256 797a45806b8c333669ed4175d314de57272199da47ba894abe2028d39c1e2249

See more details on using hashes here.

Provenance

The following attestation bundles were made for alkaid-0.8.1-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.1-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for alkaid-0.8.1-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 67ea9ae490bddaaa7af7476dc3e18eb4a8f206c5352c60d275bdaf9268a2e637
MD5 466a51417e0263e8f5687e639b481911
BLAKE2b-256 46b1cbabcc62ba7992da857681b3a2c5290530144c0c3c9f0d1709add8d25cd2

See more details on using hashes here.

Provenance

The following attestation bundles were made for alkaid-0.8.1-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.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for alkaid-0.8.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4a7fa1a71e44d9831ef047b43d1585bf7a69443b987fc06743f13f417c66f205
MD5 12490782f9f5966a77d88c57fe000b28
BLAKE2b-256 4f63a187121cbb6f8e49f430ad6170e35743c3963a5331b1b00d769785c62a37

See more details on using hashes here.

Provenance

The following attestation bundles were made for alkaid-0.8.1-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.1-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for alkaid-0.8.1-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 4ec36f75129a0c220d26d0ed926abf892eeab51b8b74ff0cc015a5b11c17b9ff
MD5 d506e8357237054b0f3f5d8b101a90d5
BLAKE2b-256 9a8cd565d3b0011a5f4dcf6c4c697bf314d6743f17150e3ec4e5b6c32ea4d156

See more details on using hashes here.

Provenance

The following attestation bundles were made for alkaid-0.8.1-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.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for alkaid-0.8.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f0d29635cd062cb41fbe20cbb1acfe376961c0abeab136d9761aa17dd7d93f29
MD5 a60162ef3c1ddf67e48e30f4e9bd4522
BLAKE2b-256 0b618783e3dead0e5a0567c63bac29c3b550478802f31a76b8ac8f90c0018732

See more details on using hashes here.

Provenance

The following attestation bundles were made for alkaid-0.8.1-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.1-cp311-cp311-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for alkaid-0.8.1-cp311-cp311-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 eac71f597da3f9e091071079213e7af51e3c1c0bc57c7c213f3e58959d51f534
MD5 4e6b275e42164c93397f72d5b3b72c8a
BLAKE2b-256 0b6c835474ccad55d6b1472c4ffef348505122041f86f7404b441293e19d74ae

See more details on using hashes here.

Provenance

The following attestation bundles were made for alkaid-0.8.1-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.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for alkaid-0.8.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7c6f9b883ed7b249e8ee98a1645b1d90b9308d1f176dbffe416d467a2b7604f1
MD5 3b217d249d416570890bafaaa559148e
BLAKE2b-256 daf9e9cb5669abce5fa8160d977e32aeb17409a01b5bf7bd699ed7e664f871ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for alkaid-0.8.1-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.1-cp310-cp310-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for alkaid-0.8.1-cp310-cp310-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 01de3435f8404b014c5162d1b5eac4f14f819df619edfa122129a38b6f303697
MD5 178e4e4cbc5330d4675b1843e0d289c4
BLAKE2b-256 d8814f654f1091bc902642e0966804cb698135e80e2cb2dd45e64d33e7b9eaf5

See more details on using hashes here.

Provenance

The following attestation bundles were made for alkaid-0.8.1-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.

Release history Release notifications | RSS feed

This release

0.8.1 This release

10 files

0.8.0.post1

10 files

0.7.1

10 files

0.7.0

10 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page