Intel® oneAPI Data Analytics Library
Learn from community members on how to build compute-intensive applications that run efficiently on Intel® architecture.
226 Discussions

Can I use (a subset of) oneAPI without DPC++?

Emmenlauer__Mario
New Contributor I
2,071 Views

We are happy users of the DAAL library. Now there are some issues fixed in DAAL master, and they are already included in oneDAL 2021, but not in the DAAL 2020.x releases. Therefore if possible I'd like to use the oneDAL library as a drop-in replacement for DAAL. Is that possible? I do not want to switch compilers to DPC++, and I do not need FPGA or GPU support. Basically I want to use the DAAL subset of supported hardware, but with the newer oneDAL library. Will that work?

0 Kudos
1 Solution
Emmenlauer__Mario
New Contributor I
2,030 Views

I have just received a positive reply for this question from https://github.com/oneapi-src/oneDAL/issues/997#issuecomment-698943595

I quote from this topic:

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.

 

View solution in original post

0 Kudos
5 Replies
PrasanthD_intel
Moderator
2,056 Views

Hi Mario,


There is a dedicated forum for DAAL (https://community.intel.com/t5/Intel-oneAPI-Data-Analytics/bd-p/oneapi-data-analytics-library).

We are transferring this query to that forum.


Regards

Prasanth


0 Kudos
AthiraM_Intel
Moderator
2,039 Views

Hi,


Thanks for reaching out to us.

Could you please give more details about the functionalities that you use with DAAL?

Also share the details about the issue fixes which you mentioned.


Thanks.


0 Kudos
Emmenlauer__Mario
New Contributor I
2,035 Views

Thanks Athira for the reply!

There are a number of nice improvements that I understand will be fixed regularly in oneDAL but only come with delay into DAAL. An example is https://github.com/oneapi-src/oneDAL/issues/353, where DAAL 2020.2 still shows thousands of compiler warnings when using the `-pedantic` compiler flag. This is fixed already in current oneDAL.

But to clarify, I can happily accept that oneDAL has more frequent releases than DAAL.

My question is whether I can use oneDAL as a drop-in replacement for DAAL without the need to switch compilers or integrate DPC++ (as long as I want CPU-only).

If possible I'd like an answer for the majority of classifiers, regressions and data normalization methods. We currently use quite many of these.

Thanks a lot for your consideration, and all the best, Mario

0 Kudos
Emmenlauer__Mario
New Contributor I
2,031 Views

I have just received a positive reply for this question from https://github.com/oneapi-src/oneDAL/issues/997#issuecomment-698943595

I quote from this topic:

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.

 

0 Kudos
AthiraM_Intel
Moderator
2,002 Views

Hi,


Glad to know that you got the solution. We would discontinue monitoring this issue, please raise a new thread if you have further issues.


Thanks


0 Kudos
Reply