Skip to content
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

Beginnings of the oneAPI backend #955

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

Conversation

jmitrevs
Copy link
Contributor

Description

This is the beginning of the oneAPI backend, and is just included here for easier sharing and discussion. It is not ready for merging. Currently only io_parallel Dense and activation layers are supported.

Some things to discuss are:

  1. The usage of std::array for sending data on the pipe, and also between layers. It is generally easier to send std::array than a struct containing C arrays, I believe.
  2. The addition of oneapi_types.py instead of adding the types in fpga_types.py. I think we want to split fpga_types.py. Otherwise catapult types will soon also come there.
  3. This uses cmake to build the libraries and testbench. The setup is based on the examples in https://github.com/oneapi-src/oneAPI-samples
  4. Currently only oneAPI 2024.0.0 is supported. You have to have it installed.
  5. nnet_utils has some unmodified code, that I probably should not have included. Just Dense and activations have been modified (plus some of the general).

Type of change

  • New feature (non-breaking change which adds functionality)

Tests

It has only been tested with the jet-tagging code from the tutorial, with backend=oneAPI

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.

@jmitrevs jmitrevs added the please test Trigger testing by creating local PR branch label Apr 24, 2024
@jmitrevs jmitrevs added please test Trigger testing by creating local PR branch and removed please test Trigger testing by creating local PR branch labels Apr 24, 2024
@jmitrevs jmitrevs added please test Trigger testing by creating local PR branch and removed please test Trigger testing by creating local PR branch labels Apr 24, 2024
@jmitrevs jmitrevs added please test Trigger testing by creating local PR branch and removed please test Trigger testing by creating local PR branch labels Apr 25, 2024
@jmitrevs jmitrevs added please test Trigger testing by creating local PR branch and removed please test Trigger testing by creating local PR branch labels Apr 25, 2024
@jmitrevs jmitrevs added please test Trigger testing by creating local PR branch and removed please test Trigger testing by creating local PR branch labels Apr 25, 2024
@jmitrevs jmitrevs added please test Trigger testing by creating local PR branch and removed please test Trigger testing by creating local PR branch labels May 3, 2024
@jmitrevs jmitrevs added please test Trigger testing by creating local PR branch and removed please test Trigger testing by creating local PR branch labels May 9, 2024
@jmitrevs jmitrevs added please test Trigger testing by creating local PR branch and removed please test Trigger testing by creating local PR branch labels May 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
please test Trigger testing by creating local PR branch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant