Skip to content

OneAPI backend in hls4ml

Created by: mswiniars

This PR includes infrastructure for oneAPI backend with:

  • oneAPI template in hls4ml/templates/oneAPI/*
  • oneAPI writer in hls4ml/writers/oneapi_writer.py
  • Data Parallel C++ definitions(dcpp) in hls4ml/model/hls_layers.py
  • small changes in hls4ml/converters/__init__.py, hls4ml/utils/config.py, hls4ml/utils/example_models.py, hls4ml/model/hls_model.py that enables possibility to add another backend to the project, set hardware device and batch size

OneAPI backend supports several primitives (in oneDNN syntax: layers, activation functions, operations):

  • Dense layers (Inner product primitive)
  • Convolutional layers (convolutional primitive)
  • Pooling (MaxPooling, AveragePooling primitives)
  • Eltwise functions (relu, exp, log, tanh, linear and many others)
  • Softmax primitive

OneAPI backend was benchmarked and tested using Intel® DevCloud.

Merge request reports

Loading