oneDNN + MKL#967
Open
graemenail wants to merge 28 commits into
Open
Conversation
Compile time preference: 1. MKL 2. oneDNN 3. Other BLAS
The BLAS_FOUND ifdef guards are removed as sgemm already has an abort.
This reverts commit 735ef42.
This change was requested to avoid silently falling back to slower BLAS implementations.
d691b98 to
3e1a550
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
TODO
Description
Adds oneDNN. This PR should enable a completely open-source compilations of Marian.
In contrast to #937, this PR also allows MKL-based builds. When compiled with
-DUSE_DNNL=ON, oneDNN is used for sgemm, even if-DUSE_MKL=ONis requested.This PR also includes a caching of boost, and a cleaning of the debug build directory. These can be broken off into a separate PR if necessary. During testing, windows builds would fail from running out of space building both debug and release. Since disabling oneDNN JIT profiling the build sizes are smaller.
Related: marian-nmt/marian-regression-tests#86
Closes: #706
Supersedes: #937
List of changes:
BLAS_FOUNDis sufficient here and theMKL_FOUNDcondition could be omitted by a user expecting a performance degradation.Added dependencies: Intel oneDNN
How to test
Ran the 1 million sentence testset of WNGT21 through the MKL and oneDNN versions.
The static binaries are now larger.
Regression test results
Checklist