-
We are happy users of DAAL on Windows, Mac and Linux, thanks for the great work! Until now, we use DAAL from the official Intel download pages. Recently, I see some newer functionality here on github in the oneDAL branches, that is not yet in the DAAL 2020.x branches (for example #353). So I would like switch and build oneDAL from source, instead of using DAAL. However, the Intel docs say that oneDAL requires DPC++, whereas https://github.com/oneapi-src/oneDAL/blob/master/INSTALL.md makes it seem that DPC++ is optional. So my question:
I am under the impression that |
Beta Was this translation helpful? Give feedback.
Replies: 6 comments
-
@emmenlau thanks for your question! DPC++ compiler is required for full compilation, but in case you are looking for CPU part - it's not required. Answering your questions: Yes, you can still use gcc/clang/MSVC compiler to build library with CPU support only. As i mention above you can use existing make for building required targets. And we probably have to better document those details. @outoftardis The question that i have to you - are you considering binary distribution of out oneDAL product? In this case you can use prebuilt library in a same way you are using DAAL 2020 now. |
Beta Was this translation helpful? Give feedback.
-
Dear @napetrov thanks so much for this extensive reply! Its exactly the answer I was hoping for. I will investigate a bit building myself with the 'oneapi_c' target. Is the new C++ level API the same as documented in the daal-developer-guide-2020-u2.pdf? Or I will learn something new!!! :)
Generally I much prefer the binary distribution, due to its simple install and very good optimization (I do not have the Intel compiler at hand). However for oneDAL, the download size (and probably deployment) became quite big compared to DAAL (which makes perfect sense, so no criticism implied!). I'm a bit worried how large our application deployment will become for our customers, if I switch to oneDAL. |
Beta Was this translation helpful? Give feedback.
-
On APIs We do have few algorithms there now, but the plan is to focus on oneapi interfaces going forward. On binary distribution On size question - i think that for oneDAL it should be smaller. For example we've drop 32 bit support and reduce size by ~40% For example you can take a look on Base toolkit here and check DAL. For now we are in Beta stage although. https://software.intel.com/content/www/us/en/develop/tools/oneapi/base-toolkit.html p.s. on icc compiler - it's also available as part of HPC toolkit and you can take it there. |
Beta Was this translation helpful? Give feedback.
-
Thanks a lot @napetrov , this answers all my questions very very favorably! Thanks to all of you for the great work! |
Beta Was this translation helpful? Give feedback.
-
@emmenlau - great to hear. We will be happy to understand your use-cases better and might be help with some other options. Please reach me at nikolay.a.petrov@intel.com if you interested in this discussion. |
Beta Was this translation helpful? Give feedback.
-
@emmenlau Just trying one more attempt. I've sent you response over mail, but don't get response so far. Just would like to double check if my mail reached you. |
Beta Was this translation helpful? Give feedback.
@emmenlau thanks for your question!
DPC++ compiler is required for full compilation, but in case you are looking for CPU part - it's not required.
You can use 'daal' target in make for CPU only part for our previous version of interfaces.
Or you can use 'oneapi_c' target in make for our new C++ level APIs without DPC++ support - in both cases you don't need DCP++ compiler.
Answering your questions:
Yes, you can still use gcc/clang/MSVC compiler to build library with CPU support only.
Yes, for GPU support you will need DPC++ compiler.
As i mention above you can use existing make for building required targets. And we probably have to better document those details. @outoftardis
The question …