conda-forge / conda-forge/tensorflow-feedstock

Unbundling oneDNN

Open
#183 14 comments 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
93
Forks
93
PR merge metrics
No merged PRs in 30d

Description

Breaking out the discussion from #175:

> @njzjz: Currently tensorflow here is not built against MKL (OneDNN), but do we plan to?

> @xhochy: Tensorflow is building oneDNN from source in the build currently. That is probably the first 1-2h of CI. Getting that from the feedstock instead of building from source would help a lot.

I looked at how upstream builds this, and - annoyingly - it's a bit of a mess. There seem to be three different versions of onednn being [pulled](https://github.com/tensorflow/tensorflow/blob/v2.7.0/tensorflow/workspace2.bzl#L177-L208) in, with one of them (0.21.3) being quite [old](https://github.com/oneapi-src/oneDNN/releases/tag/v0.21.3) and not [available](https://anaconda.org/conda-forge/onednn/files?sort=time&sort_order=asc) in conda-forge.

I'm happy to start a PR that tries to rip things and see how far we get, but just wanted to get an opinion (@xhochy?) if replacing the upstream version is even realistic given the different versions? Or maybe we just remove the most important one?

Contributor guide

Open the contributing guide

Research direction

Start by reading the upstream TensorFlow references in tensorflow/workspace2.bzl, especially lines 177-208, and compare the three oneDNN versions with the conda-forge package availability linked in the issue. Done means establishing whether the feedstock package can replace the source-built dependencies without incompatible version requirements or identifying which upstream dependency can be removed.

Written by the indexing model from the issue text.

Assessment

Tech stack
tensorflow
Domain
build-system, performance
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.