Skip to content
This repository has been archived by the owner on Nov 17, 2023. It is now read-only.

Missing dnnl_config.h when installing horovod #17628

Closed
sxjscience opened this issue Feb 19, 2020 · 6 comments · Fixed by #17647
Closed

Missing dnnl_config.h when installing horovod #17628

sxjscience opened this issue Feb 19, 2020 · 6 comments · Fixed by #17647
Labels
Bug CMake CMake related bugs/issues/improvements

Comments

@sxjscience
Copy link
Member

Description

I tried to compile MXNet using the cmake command:

cmake -GNinja -C ../config.cmake ..
cmake --build .

and then install horovod

HOROVOD_WITHOUT_TENSORFLOW=1 HOROVOD_GPU_ALLREDUCE=NCCL HOROVOD_GPU_BROADCAST=NCCL pip3 install -e . --no-cache-dir --user

The error message is

/home/ubuntu/mxnet/python/mxnet/../../include/mkldnn/dnnl.hpp:23:10: fatal error: dnnl_config.h: No such file or directory

I find that we have these lines in mkldnn.mk https://github.com/apache/incubator-mxnet/blob/c2aff58c448bbe5755de0c8d35a1cc7d3fd9aa51/mkldnn.mk#L52-L53

The problem might be that we haven't copied the files to mxnet/include/mkldnn so the build system used in horovod is broken.

@sxjscience sxjscience added the Bug label Feb 19, 2020
@sxjscience
Copy link
Member Author

sxjscience commented Feb 19, 2020

@leezu @apeforest Have you met problems when building horovod with cmake-built MXNet?

@sxjscience sxjscience changed the title Missing dnnl_config.h Missing dnnl_config.h when installing horovod Feb 19, 2020
@sxjscience
Copy link
Member Author

A temporary fix is to manually copy files inside the build directory to include/mkldnn. I've confirmed that this solves the problem in horovod installation.

cp build/3rdparty/mkldnn/include/dnnl_config.h include/mkldnn
cp build/3rdparty/mkldnn/include/dnnl_version.h include/mkldnn

@leezu leezu added the CMake CMake related bugs/issues/improvements label Feb 19, 2020
@TaoLv
Copy link
Member

TaoLv commented Feb 20, 2020

I will take a look at this. I remember previously the recommended build system of mxnet was makefile when cooperating with horovod.
@sxjscience is this the only issue when using cmake to build mxnet and linking it to horovod?

@sxjscience
Copy link
Member Author

sxjscience commented Feb 20, 2020 via email

@leezu
Copy link
Contributor

leezu commented Feb 21, 2020

@TaoLv what's your status on this issue?
I think this issue is currently blocking Makefile build removal so we should fix it soon. (You mentioned you plan to work on it, so please let us know if you don't plan to work on it soon.)

@TaoLv
Copy link
Member

TaoLv commented Feb 21, 2020

@leezu I‘m working on a fix.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Bug CMake CMake related bugs/issues/improvements
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants