Skip to content

XLS backend #1343

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 19 commits into
base: main
Choose a base branch
from
Open

XLS backend #1343

wants to merge 19 commits into from

Conversation

Girjoaba
Copy link

Description

📝 The implementation of a new backend based on the High-Level Synthesis (HLS) toolchain XLS from Google. The purpose of this addition is to increase vendor availability and benefit from the developments that XLS brings to HLS field. XLS is an open-source project, being suitable with the no license requirements of hls4ml.

The changes include the addition of all components required of a new backend: an inherited xls_backend class, an xls_writer and corresponding optimization passes.

Dependencies:

For the XLS backend to work, the original XLS project must be built as described here under Install Latest Release. Afterwards, in the hls4ml config object the path to the installed bazel-bin must be specified as follows:

config['xls_bazel_bin_path'] = '$HOME/xls/bazel-bin'

Type of change

  • Bug fix (non-breaking change that fixes an issue)
  • Documentation update
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • A new research paper code implementation
  • Other (Specify)

Tests

Currently, the backend was included in 2 pytests: test_keras_api.py and test_activations.py.

The ELU function in test_keras_api.py was changed to a RELU for now. The original tests will be reverted back and the backend will be included in all required tests.

Test Configuration:

Checklist

  • I have read the guidelines for contributing.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have made corresponding changes to the documentation.
  • My changes generate no new warnings.
  • I have installed and run pre-commit on the files I edited or added.
  • I have added tests that prove my fix is effective or that my feature works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant