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

Please allow to use the external mkl-dnn installed as a package #33

Open
yurivict opened this issue Oct 27, 2019 · 6 comments
Open

Please allow to use the external mkl-dnn installed as a package #33

yurivict opened this issue Oct 27, 2019 · 6 comments

Comments

@yurivict
Copy link

mkl-dnn packages exist on many systems: https://repology.org/project/mkl-dnn/versions

@CaoZhongZ
Copy link
Contributor

iDeep is fixed on specific MKL-DNN verions and rely it's own API set. If there is any discrepancy between them, things will go wrong. It's possible to detach iDeep building from MKL-DNN, it's head only library, technically it doesn't require "building". So what is your building environment? Can you elaborate it?

@yurivict
Copy link
Author

My environment is building FreeBSD packages.

ideep currently installs its own version of mkl-dnn. Any other packages that might depend on the mkl-dnn port would conflict with ideep.

@CaoZhongZ
Copy link
Contributor

OK, I'll have a check see if it is solvable.

@CaoZhongZ
Copy link
Contributor

@yurivict iDeep brings it's own MKL-DNN which install alongside within python directories, not /usr/local/lib. Other packages that depend on mkl-dnn port won't see the internal one. When dynamic linking I guess one of them will took the place and why would be a conflict? If you determined to use installed mkl-dnn, you could make mkl-dnn install more includes from its external directory, then it'll solve include file problem.

@yurivict
Copy link
Author

Here is the list of installed files:

include/TR_interface.h
include/ideep.hpp
include/ideep/abstract_types.hpp
include/ideep/allocators.hpp
include/ideep/computations.hpp
include/ideep/distribute.hpp
include/ideep/fast_math.hpp
include/ideep/instruments.hpp
include/ideep/lru_cache.hpp
include/ideep/omp_ctrl.hpp
include/ideep/scope_guard.hpp
include/ideep/tensor.hpp
include/ideep/utils.hpp
include/ideep/web.hpp
include/ideep_pin_singletons.hpp
include/mkldnn.h
include/mkldnn.hpp
include/mkldnn_debug.h
include/mkldnn_types.h
lib/libideep.so
lib/libmkldnn.so
lib/libmkldnn.so.0
lib/libmkldnn.so.0.16.0
share/doc/mkldnn/LICENSE

It's not along the python files.

@CaoZhongZ
Copy link
Contributor

OK, I'm asking what is your porting strategy. iDeep is a numpy extension enable MKL-DNN acceleration which used inside Chainer, which requires python setup process. However there were head only files could also provide a easier interface for MKL-DNN. Do you want both part? or just C++ API.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants